Schnellcheck Barrierefreiheit, Musterbericht
Shop RO-08: Startseite gegen WCAG 2.1 AA
Elektronik-Händler, Rumänien, mittelgroß. Ergebnis: nicht konform. Fünf Regeln werden auf 79 Elementen verletzt, zehn davon kritisch. Fast alles stammt aus vier Stellen im Code.
1. Zusammenfassung
| Verletzte Regeln (WCAG 2.1 A/AA) | 5 | Sprache deklariert | ja, ro |
|---|---|---|---|
| Fehlerhafte Elemente | 79 | Überschrift erster Ebene | keine |
| Kritisch | 10 | Sprunglink | keiner (erster Link ist „nach oben“) |
| Schwer | 69 | Bilder | 395, alle mit alt-Attribut |
| Manuell zu prüfen | 43 | HTML-Elemente auf der Seite | 5.445 |
Die Verstöße sind konzentriert: eine Karussell-Komponente, ein Banner-Template, ein Suchformular und drei Farbwerte im Theme stehen für 78 der 79 fehlerhaften Elemente. Wer diese vier Stellen korrigiert, korrigiert die Startseite und, weil es geteilte Templates sind, den größten Teil der übrigen Seiten.
Geschätzter Aufwand für die Umsetzung: 2 bis 4 Entwicklertage inklusive Nachtest, Zugriff auf den Theme-Quellcode vorausgesetzt. Diese Schätzung dient der Planung; ein Festpreisangebot folgt, sobald ich den Code gesehen habe.
2. Prioritäten
- Karussell-Bedienelemente benennen. Kritisch, 9 Elemente, eine Komponente. Befund 1.
- Such-Button benennen. Kritisch, 1 Element. Befund 2.
- Werbe-Links einen Namen geben. Schwer, 20 Elemente, ein Template. Befund 3.
- Drei Farbpaare im Theme korrigieren. Schwer, 48 Elemente. Befund 4.
- Footer-Link unterstreichen. Schwer, 1 Element. Befund 5.
- Überschrift erster Ebene und Sprunglink ergänzen. Empfohlen. Befund 6.
3. Befunde
Befund 1: Karussell-Punkte ohne zugänglichen Namen
Kritisch- Beleg
- Jeder Folienindikator ist ein Button mit einem leeren
span. Ein Screenreader sagt neunmal hintereinander „Schaltfläche“. Dasrole="button"auf einembuttonist überflüssig. - Auswirkung
- Screenreader- und Sprachsteuerungsnutzer erfahren nicht, welche Folie ein Bedienelement auswählt oder welche gerade aktiv ist.
- Korrektur
- Jeder Button bekommt eine visuell verborgene Beschriftung, der aktive wird markiert. Wenn die Slider-Bibliothek die Punkte erzeugt, lässt sich die Beschriftung über
dotsDataoder einenonInitialized-Callback ergänzen. - Aufwand
- Etwa eine Stunde.
<!-- vorgefunden -->
<button role="button" class="owl-dot"><span></span></button>
<!-- korrigiert -->
<button type="button" class="owl-dot" aria-current="true">
<span class="sr-only">Folie 1 von 9</span>
</button>
Befund 2: der Such-Button hat keinen Namen
Kritisch- Beleg
- Der Absende-Button der Suche ist ein
inputmit leeremvalue; die Lupe ist ein Hintergrundbild. - Auswirkung
- Wird als „Schaltfläche“ ohne Zweck angesagt. Sprachsteuerungsnutzer können nicht „Suche klicken“ sagen.
- Korrektur
- Dem Input einen Wert geben und das Icon als Hintergrund behalten, oder auf einen
buttonmit verborgenem Text umstellen. - Aufwand
- Fünfzehn Minuten.
<!-- vorgefunden -->
<input type="submit" value="" class="submit-search">
<!-- korrigiert -->
<input type="submit" value="Suchen" class="submit-search">
/* CSS behält das Icon und verbirgt den Text visuell: */
.submit-search { font-size: 0; color: transparent; background: url(search.svg) center / 20px no-repeat; }
Befund 3: zwanzig Werbe-Links ohne Text
Schwer- Beleg
- Jedes Banner ist ein Link, der nur ein Bild enthält, und das
altdes Bildes ist leer. Der Link hat damit keinen zugänglichen Namen; Screenreader lesen „Link“ oder die Adresse vor. - Auswirkung
- Die Kampagneninhalte, derzeit das Auffälligste auf der Seite, sind für Screenreader-Nutzer unsichtbar. Zwanzig Tabulator-Stopps sagen nichts an.
- Korrektur
- Das Banner-Template schreibt den Kampagnentitel in das
altdes Bildes. Der Text soll sagen, wohin der Link führt, nicht, was das Bild zeigt. Rein dekorative Banner sollten keine Links sein. - Aufwand
- Zwei Stunden im Template, plus ein Titelfeld pro Banner im CMS, falls es fehlt.
<!-- vorgefunden -->
<a href="/ajax/bannerUrl?bannerId=12594"><img src="/banners/12594.jpg" alt=""></a>
<!-- korrigiert -->
<a href="/ajax/bannerUrl?bannerId=12594">
<img src="/banners/12594.jpg" alt="Back to school: Laptops ab 1.499 Lei" width="600" height="300">
</a>
Befund 4: 48 Textelemente unter dem Kontrastminimum von 4,5:1
Schwer- Beleg
- Drei Farbpaare erzeugen alle 48 Verstöße.
| Wo | Farben wie vorgefunden | Gemessen | Vorschlag | Ergebnis |
|---|---|---|---|---|
| Menülink „Servicii“, 15 px | #FF0000 auf #FFFFFF | 3,99:1 | #C40000 auf Weiß | 6,3:1 |
| Ratenkauf-Aktionsleiste, 20 px | #FFFFFF auf #F76981 | 2,87:1 | Weiß auf #C8102E | 5,9:1 |
| „In stoc magazin“ auf Produktkarten, 14,4 px | #349900 auf #FFFFFF | 3,68:1 | #2E7D00 auf Weiß | 5,2:1 |
- Auswirkung
- Menschen mit Sehbehinderung, ältere Nutzer und jeder, der draußen aufs Handy schaut, können Lagerstatus, Aktionspreise und das Service-Menü nicht lesen.
- Korrektur
- Die drei Werte dort ändern, wo sie im Theme definiert sind. Die Vorschläge behalten den Farbton und bestehen AA; das Design darf andere Werte wählen, solange sie 4,5:1 erreichen.
- Aufwand
- Ein halber Tag, inklusive Sichtprüfung aller Stellen, an denen die Tokens verwendet werden.
Befund 5: Footer-Link nur durch Farbe erkennbar
Schwer- Beleg
- Der Link ist
#666666in einem Absatz mit#999999-Text, ohne Unterstreichung. Der Unterschied zwischen Link und Text beträgt 2,01:1; 3:1 ist das Minimum, wenn Farbe das einzige Merkmal ist. - Korrektur
- Links im Fließtext unterstreichen. Das löst den Befund zugleich für jeden anderen Absatz-Link der Website.
- Aufwand
- Fünf Minuten.
.footer p a { text-decoration: underline; text-underline-offset: .15em; }
Befund 6: keine Überschrift erster Ebene, kein Sprunglink
Empfohlen- Beleg
- Die Seite hat kein
h1. Das erste fokussierbare Element ist ein „nach oben“-Link mit der Beschriftung „SUS“; Tastaturnutzer beginnen also am falschen Ende der Seite und müssen sich durch das gesamte Mega-Menü tabben, um zu den Produkten zu kommen. - Korrektur
- Ein
h1ergänzen (auf der Startseite genügt Shopname und Claim) und einen Sprunglink als erstes Element imbody, der auf den Hauptinhalt zeigt. - Aufwand
- Eine halbe Stunde.
<a class="skip" href="#main">Sari la conținut</a>
…
<main id="main" tabindex="-1">
4. Manuell zu prüfen
Bei 43 Textelementen konnte der Scanner den Kontrast nicht bestimmen, weil sie auf Bildern oder Verläufen liegen (Aktionskacheln und Kategorie-Überschriften). Im bezahlten Schnellcheck werden sie von Hand gemessen und entweder freigegeben oder Befund 4 zugeordnet.
5. Was dieses Muster nicht enthält
Diese Seite zeigt den automatischen Teil eines Schnellchecks für eine einzelne Seite. Der Schnellcheck, den Sie beauftragen, ergänzt für Startseite, Produktseite und Checkout:
- einen Durchgang nur mit Tastatur: sichtbarer Fokus, Fokusreihenfolge, ob Karussell und Mega-Menü bedient und verlassen werden können, ob Autoplay pausierbar ist;
- einen Durchgang mit dem Screenreader NVDA durch Suche, Produktauswahl und „In den Warenkorb“ sowie durch die Checkout-Formulare mit absichtlich falschen Eingaben, um die Fehlermeldungen zu hören;
- 200 % Zoom und einen 320 Pixel breiten Viewport zur Prüfung des Umbruchs;
- eine Prüfung der Erklärung zur Barrierefreiheit, falls vorhanden.
6. Nächste Schritte
- Befunde 1 bis 5 in der obigen Reihenfolge beheben; die ersten beiden sind ein Nachmittag.
- Ich teste jede Korrektur nach und bestätige sie schriftlich. Der Nachtest ist enthalten, wenn ich die Korrekturen umsetze, und wird zum Festpreis angeboten, wenn Ihr Team sie umsetzt.
- Eine Erklärung zur Barrierefreiheit veröffentlichen, die den Maßstab, die bekannten verbleibenden Mängel und eine Kontaktmöglichkeit für Rückmeldungen nennt. Den Entwurf liefere ich auf Deutsch, Rumänisch oder Englisch.
Daniel Butnar, Webentwickler und Spezialist für Barrierefreiheit, Brașov. daniel.butnar@gmail.com. Scan vom 15. September 2026, axe-core 4.13, Regelsatz WCAG 2.1 A und AA. Automatische Prüfungen finden nur einen Teil der Barrieren; dieser Bericht trifft keine Aussage zu Kriterien, die manuell geprüft werden müssen.