aria-valid-attr
aria-*-Attribute müssen echte, definierte ARIA-Attribute sein
Prüft, dass jeder im DOM vorhandene aria-*-Attributname ein echtes, von der WAI-ARIA-Spezifikation definiertes Attribut ist.
Anwendbarkeit. Gilt für jedes Element im zusammengesetzten DOM mit mindestens einem Attribut, dessen Name mit „aria-“ beginnt.
Erwartung. Jeder aria--Attributname ist ein echtes, von der WAI-ARIA-Spezifikation definiertes Attribut (erfasst Tippfehler und erfundene Attributnamen, die von assistiven Technologien stillschweigend ignoriert werden und daher ein echter, deterministischer Mangel sind). Wird als CANTTELL statt FAIL gemeldet: Ein von der Spezifikation nicht definiertes aria--Attribut ist wirkungslos, an Name, Rolle oder Wert des Elements ändert sich durch seine Anwesenheit also nichts. Wenn der Autor ein echtes Attribut gemeint hat und das Element am Ende ohne Namen dasteht, entscheiden darüber die Benennungsregeln, nicht diese. ACT 5f99a7 ordnet 1.3.1/4.1.2 als sekundäre Anforderungen zu, „less strict“ als die Regel selbst.
Was ein Befund meldet.
attr: der Name des aria-*-Attributs, das WAI-ARIA nicht definiert.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<button aria-label="Save">Save</button>
aria-label ist ein echtes, definiertes ARIA-Attribut.
<button aria-labeledby="x">Save</button>
aria-labeledby ist ein Tippfehler (das echte Attribut heißt aria-labelledby) und wird von assistiven Technologien stillschweigend ignoriert.
So prüfen Sie es
Wenn diese Regel nicht entscheiden kann, meldet sie cantTell und überlässt die Frage einer Person. Jede Frage, die sie stellen kann, steht hier unter ihrem Reason-Code, mit den Schritten, um sie zu beantworten. Ein Befund enthält dieselben Schritte in howToCheck, in der Sprache des Scans. Siehe Ausgabeschema.
ARIA_ATTR_INVALID
- Untersuchen Sie das im Bericht genannte Element und notieren Sie das unbekannte aria-*-Attribut.
- Prüfen Sie, ob es eine Falschschreibung eines echten Attributs ist (aria-lable, aria-labeledby, aria-describeby, aria-hiden) oder ein erfundener Hook (aria-qa, aria-test).
- Ist es eine Falschschreibung, öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und prüfen Sie, ob das, was das echte Attribut liefern würde (Name, Beschreibung, verborgener Zustand), trotzdem vorhanden ist.
- Navigieren Sie mit einem Screenreader zum Element und achten Sie darauf, was angesagt wird.
Bestanden. Das Attribut ist ein Daten-Hook, der nicht für assistive Technologien gedacht ist, oder das Gemeinte wird auf anderem Weg bereitgestellt.
Nicht bestanden. Es ist ein Tippfehler eines echten Attributs und seine Wirkung fehlt, etwa ein Bedienelement ohne Namen oder dekorativer Inhalt, der nicht verborgen ist; das verstößt gegen WCAG 4.1.2 (ACT 5f99a7).