Für Screenreader verborgen, aber per Tab erreichbar
WCAG 2.2 4.1.2 Name, Rolle, Wert, Stufe A
6 Vorkommen, gefunden auf: Startseite, Produktseite
- Warum es für Kundinnen und Kunden zählt
- Wer die Tastatur nutzt, landet auf einem Element, das der Screenreader nicht ansagt.
- Wo es in einem Shopify-Theme meist steckt
- Geklonte Karussell-Slides, per aria-hidden verborgene Drawer und Mobilmenüs, Schnellkauf-Schaltflächen in verborgenen Slides.
- Richtung für eine Korrektur
- Wenn ein Bereich mit aria-hidden verborgen wird, nehmen Sie seine Bedienelemente mit tabindex="-1" oder dem Attribut inert auch aus der Tab-Reihenfolge.
- Beispiele aus dem Demo-Shop
a.promo-grid__slide-linka.hero__slide-linktextarea.hide
Link ohne Namen
WCAG 2.2 2.4.4 Linkzweck (im Kontext), Stufe A
2 Vorkommen, gefunden auf: Startseite
- Warum es für Kundinnen und Kunden zählt
- Ein Screenreader sagt nur „Link“, man erfährt nicht, wohin er führt.
- Wo es in einem Shopify-Theme meist steckt
- Icon-Links im Header (Konto, Warenkorb), Social-Media-Icons im Footer, Links nur aus einem Bild auf Produktkarten und Kollektionskacheln.
- Richtung für eine Korrektur
- Geben Sie Icon-Links einen visuell verborgenen Text oder ein aria-label, zum Beispiel „Warenkorb“ oder „Instagram“. Bei einem Bildlink bekommt das Bild einen Alt-Text.
- Beispiele aus dem Demo-Shop
Formularfeld ohne Beschriftung
WCAG 2.2 1.3.1 Info und Beziehungen, Stufe A
2 Vorkommen, gefunden auf: Kollektionsseite
- Warum es für Kundinnen und Kunden zählt
- Ohne Beschriftung sagt ein Screenreader nur „Eingabefeld“. Man erfährt nicht, ob E-Mail-Adresse, Menge oder Rabattcode gemeint ist.
- Wo es in einem Shopify-Theme meist steckt
- Newsletter-Anmeldung im Footer, Suchfeld im Header, Mengenfelder im Warenkorb, Preisfilter auf Kollektionsseiten.
- Richtung für eine Korrektur
- Verbinden Sie jedes Feld über for und id mit einem label-Element (es darf visuell verborgen sein) oder geben Sie ihm ein aria-label. Ein Platzhalter ersetzt keine Beschriftung.
- Beispiele aus dem Demo-Shop
input.price-range__input (type="text")
Bild ohne alt-Attribut
WCAG 2.2 1.1.1 Nicht-Text-Inhalt, Stufe A
1 Vorkommen, gefunden auf: Startseite
- Warum es für Kundinnen und Kunden zählt
- Ein Screenreader überspringt das Bild oder liest den Dateinamen vor. Blinde Kundinnen und Kunden erfahren nicht, was das Produktfoto zeigt.
- Wo es in einem Shopify-Theme meist steckt
- Snippets für Produktkarten und Produktmedien, Bildbanner, Slideshow-Sektionen und Bild-mit-Text-Sektionen, manchmal auch das Logo im Header.
- Richtung für eine Korrektur
- Geben Sie den beim Bild gespeicherten Alt-Text aus, mit dem Produkt- oder Sektionstitel als Ersatz, und versehen Sie rein dekorative Bilder mit einem leeren alt="".
- Beispiele aus dem Demo-Shop
Auswahlliste ohne Beschriftung
WCAG 2.2 1.3.1 Info und Beziehungen, Stufe A
1 Vorkommen, gefunden auf: Produktseite
- Warum es für Kundinnen und Kunden zählt
- Wer die Seite nicht sieht, weiß nicht, ob die Liste Größe, Farbe, Sortierung oder Land auswählt.
- Wo es in einem Shopify-Theme meist steckt
- Variantenauswahl auf der Produktseite, Sortierung auf Kollektionsseiten, Länder- und Sprachauswahl.
- Richtung für eine Korrektur
- Benennen Sie jede Auswahlliste mit einem label-Element (for und id) oder einem aria-label wie „Größe“ oder „Sortieren nach“.
- Beispiele aus dem Demo-Shop
select.product-single__variants
Schaltfläche ohne Namen
WCAG 2.2 4.1.2 Name, Rolle, Wert, Stufe A
1 Vorkommen, gefunden auf: Produktseite
- Warum es für Kundinnen und Kunden zählt
- Man hört „Schaltfläche“, ohne zu erfahren, ob sie ein Menü schließt, etwas in den Warenkorb legt oder die Suche öffnet.
- Wo es in einem Shopify-Theme meist steckt
- Schaltflächen nur mit Icon: Schließen von Drawern, Pfeile von Slidern, Plus und Minus bei der Menge, Menü- und Suchschalter.
- Richtung für eine Korrektur
- Geben Sie der Schaltfläche ein aria-label oder einen visuell verborgenen Text und blenden Sie das Icon darin mit aria-hidden="true" aus.
- Beispiele aus dem Demo-Shop
button.product__thumb-arrow
aria-labelledby oder aria-describedby verweist auf ein fehlendes Element
WCAG 2.2 4.1.2 Name, Rolle, Wert, Stufe A
16 Vorkommen, gefunden auf: Startseite, Kollektionsseite, Produktseite, Warenkorbseite
- Warum es für Kundinnen und Kunden zählt
- Das Element sollte Namen oder Beschreibung von einem anderen Element übernehmen, das nicht auf der Seite ist. Der Screenreader hat nichts vorzulesen.
- Wo es in einem Shopify-Theme meist steckt
- Produktkarten, die auf Sale- oder Ausverkauft-Badges verweisen, die nur manchmal erscheinen, Fehlermeldungen in Formularen, Dialoge.
- Richtung für eine Korrektur
- Geben Sie den Verweis nur aus, wenn das Zielelement vorhanden ist, oder geben Sie das Zielelement immer aus.
- Beispiele aus dem Demo-Shop
aria-labelledby → "Sublabel-2"aria-labelledby → "Sublabel-3"aria-labelledby → "Sublabel-4"
Überschriftenebenen überspringen eine Stufe
WCAG 2.2 1.3.1 Info und Beziehungen, Stufe A
3 Vorkommen, gefunden auf: Startseite, Produktseite, Warenkorbseite
- Warum es für Kundinnen und Kunden zählt
- Wer sich über Überschriften durch eine Seite bewegt, erwartet eine saubere Verschachtelung. Ein Sprung von h2 auf h4 wirkt, als fehle etwas.
- Wo es in einem Shopify-Theme meist steckt
- Sektionsüberschriften, Titel in Produktkarten und Spaltenüberschriften im Footer, deren Ebene nach Schriftgröße gewählt wurde.
- Richtung für eine Korrektur
- Wählen Sie die Ebene nach dem Aufbau der Seite und steuern Sie die Größe über eine CSS-Klasse.
- Beispiele aus dem Demo-Shop
Seite ohne h1-Überschrift
WCAG 2.2 1.3.1 Info und Beziehungen, Stufe A
1 Vorkommen, gefunden auf: Kollektionsseite
- Warum es für Kundinnen und Kunden zählt
- Wer einen Screenreader nutzt, springt oft zuerst zur Überschrift erster Ebene, um zu erfahren, worum es auf der Seite geht.
- Wo es in einem Shopify-Theme meist steckt
- Der Haupttitel einer Vorlage: Kollektionsbanner, Produkttitel in der Hauptproduktsektion, Warenkorbtitel. Manche Vorlagen gestalten den Titel wie eine Überschrift, ohne ein h1 zu verwenden.
- Richtung für eine Korrektur
- Geben Sie den Haupttitel jeder Vorlage als genau ein h1 aus.