Fehlende aria-controls-ID
Silktide prüft jedes aria-controls-Attribut auf Ihren Seiten und verifiziert, dass die darin aufgeführten Element-IDs tatsächlich existieren. Dieses Attribut gibt an, auf welchen Teil der Seite ein Steuerelement wirkt, etwa das Panel, das eine Registerkarte anzeigt, oder das Menü, das eine Schaltfläche öffnet.
<!-- Problem: Auf der Seite hat kein Element die id="filter-panel" -->
<button aria-expanded="false" aria-controls="filter-panel">Filter</button>
Warum das wichtig ist
Das -Attribut aria-controls lässt
ein Steuerelement mit den
Inhalten verknüpfen, die es beeinflusst – einige
bieten ein Tastenkürzel, um direkt zum
gesteuerten Element zu springen. Ist die Referenz defekt, verschwindet diese
Beziehung unbemerkt. Defekte Referenzen bedeuten meist, dass eine ID umbenannt
oder eine Komponente entfernt wurde; sie sind daher auch ein Frühindikator
dafür, dass das Widget selbst nicht mehr wie vorgesehen funktioniert.
So beheben Sie das Problem
- Lassen Sie jede in
aria-controlsaufgeführte ID mit derideines realen Elements auf derselben Seite übereinstimmen. Das Attribut kann mehrere, durch Leerzeichen getrennte IDs enthalten; prüfen Sie jede einzelne. - Wird das gesteuerte Element dynamisch hinzugefügt, rendern Sie es entweder
von Anfang an ausgeblendet oder setzen Sie
aria-controlserst, sobald es existiert. - Ist das gesteuerte Element endgültig entfernt, löschen Sie das Attribut.
So testet Silktide dies
- Silktide findet jedes Element auf der Seite mit einem
aria-controls-Attribut. - Silktide prüft jede referenzierte ID gegen die auf der Seite vorhandenen Element-IDs.
- Silktide meldet jede Referenz, die zu keinem Element passt.
Fehlerbehebung
Das Ziel wird später per Skript erstellt
Silktide testet die Seite beim Laden. Erscheint das referenzierte Panel erst nach einer Benutzerinteraktion, ist die Referenz bis dahin defekt – behalten Sie das Ziel möglichst (ausgeblendet) in der Seite, damit die Referenz stets aufgelöst wird.
Diese Prüfung meldet nichts, obwohl ich Ergebnisse erwarte
ARIA-Tests können pro Website deaktiviert werden. Prüfen Sie die Erweiterten Einstellungen für die Website.