Zum Inhalt springen
SilktideHilfe

Ungültiger ARIA-Attributwert

Silktide prüft den Wert jedes ARIA-Attributs auf Ihren Seiten gegen die vom Standard erlaubten Werte. Ein Attribut mit einem falschen Wert, etwa ein Kontrollkästchen-Zustand „yes“ statt „true“, wird von Browsern ignoriert, sodass der beschriebene Zustand nie angekündigt wird.

<!-- Problem: „yes“ ist kein gültiger Wert, der Zustand wird verworfen -->
<div role="checkbox" aria-checked="yes">Abonnieren</div>

<!-- Lösung: den definierten Token verwenden -->
<div role="checkbox" aria-checked="true">Abonnieren</div>

Warum das wichtig ist

Jedes -Attribut legt genau fest, welche Werte es akzeptiert, und Browser verwerfen alles andere, statt zu raten. Die Fehler sind meist intuitiv wirkende Werte – aria-expanded="1", aria-checked="yes", aria-level="0" –, die jede visuelle Prüfung bestehen, während Nutzer von ein Steuerelement ohne angekündigten Zustand erhalten: ein Menü, das nie angibt, ob es geöffnet ist, ein Kontrollkästchen, das nie angibt, ob es aktiviert ist.

So beheben Sie das

  1. Ersetzen Sie informelle Werte durch die vom Attribut definierten Token: true und false statt yes, no, 1 oder 0.
  2. Prüfen Sie numerische Attribute: Zählattribute wie aria-level und aria-rowindex beginnen bei 1, nicht bei 0.
  3. Entfernen Sie leer gelassene Attribute, z. B. aria-checked="" – wenn kein Zustand zu übermitteln ist, sollte das Attribut nicht vorhanden sein.

Die genauen, von jedem Attribut erlaubten Werte sind in der MDN-Referenz zu ARIA-Attributen aufgeführt.

So testet Silktide das

  1. Es werden alle Elemente auf der Seite gefunden, die mindestens ein aria- Attribut tragen.
  2. Der Wert jedes Attributs wird mit dem von ARIA 1.2 definierten Typ abgeglichen: true/false-Attribute, dreiwertige Attribute wie aria-checked (true, false, mixed), Zahlen und ganze Zahlen sowie Attribute mit festen Wortlisten wie aria-live und aria-current.
  3. Jeder nicht konforme Wert wird gemeldet, zusammen mit der Angabe, was erwartet wurde.

Attribute, die auf Element-IDs verweisen, werden durch eigene Prüfungen getestet, z. B. Fehlende aria-controls-ID. Freitext- Attribute wie aria-label akzeptieren beliebigen Text.

Fehlerbehebung

Der Wert wird von einem Framework gesetzt

Komponentenbibliotheken serialisieren Zustände gelegentlich falsch (z. B. aria-expanded="undefined"). Der Befund zeigt auf das Element, die Korrektur liegt jedoch meist in der Konfiguration der Komponente oder in einem Bibliotheks-Update.

Diese Prüfung meldet nichts, obwohl ich Befunde erwarte

ARIA-Tests können pro Website deaktiviert werden. Prüfen Sie die erweiterten Einstellungen der Website.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?