Verbotenes ARIA-Attribut
Silktide prüft, dass jedes ARIA-Attribut auf Ihren Seiten von der Rolle des Elements tatsächlich unterstützt wird. Attribute, die eine Rolle nicht unterstützt, und Attribute, die überhaupt nicht Teil des ARIA-Standards sind, werden von Browsern ignoriert – das vom Autor beabsichtigte Verhalten tritt nie ein.
<!-- Problem: aria-checked bedeutet bei einer Schaltfläche nichts -->
<button aria-checked="true">Fett</button>
<!-- Lösung: Verwenden Sie eine Rolle, die den benötigten Zustand unterstützt -->
<button role="switch" aria-checked="true">Fett</button>
Warum das wichtig ist
Jede -Rolle unterstützt einen bestimmten Satz von Zuständen und Eigenschaften, und Browser verwerfen alles außerhalb dieses Satzes. Die Seite sieht dann in der Codeprüfung korrekt aus, während Nutzer von nichts erhalten: ein Umschalter, dessen Zustand nie ausgegeben wird, eine Beschreibung, die nie vorgelesen wird. Diese Kategorie erfasst auch falsch geschriebene Attribute wie aria-lable – der schädlichste Fall, weil der Autor glaubt, dass ein Label existiert, und ein -Nutzer keines erhält.
So beheben Sie das Problem
- Korrigieren Sie falsch geschriebene Attributnamen (
aria-lablesolltearia-labelsein,aria-labeledbysolltearia-labelledbysein). - Wenn das Attribut korrekt, aber nicht unterstützt ist, ändern Sie die Rolle des Elements in eine, die es unterstützt – oder prüfen Sie, ob ein natives -Element das Verhalten bereits bietet.
- Wenn das Attribut nichts Sinnvolles bewirkt, entfernen Sie es.
Wie Silktide dies testet
- Finden Sie jedes Element auf der Seite, das mindestens ein
aria--Attribut trägt. - Bestimmen Sie den Satz von ARIA-Attributen, die für dieses Element gültig sind: die globalen
Attribute, die überall funktionieren (wie
aria-labelundaria-hidden), sowie die Attribute, die von der Rolle des Elements unterstützt werden. - Melden Sie Attributnamen, die nicht Teil von ARIA 1.2 sind – typischerweise Tippfehler.
- Melden Sie erkannte Attribute, die auf einem Element verwendet werden, dessen Rolle sie nicht unterstützt, oder die eine Rolle erfordern, die das Element nicht hat.
Veraltete Attribute werden separat durch Veraltetes ARIA-Attribut gemeldet, und Attributwerte werden durch Ungültiger ARIA-Attributwert validiert.
Fehlerbehebung
Das Attribut funktioniert in meinen Tests
Einige Screenreader-/Browser-Kombinationen tolerieren nicht standardkonforme Kombinationen, die andere verwerfen. Die Einhaltung des Standards sorgt für vorhersehbares Verhalten über die Hilfstechnologien hinweg, die Sie nicht testen können.
Diese Prüfung meldet nichts, obwohl ich Ergebnisse erwarte
ARIA-Prüfungen können pro Website deaktiviert werden. Überprüfen Sie die erweiterten Einstellungen der Website.