Fehlende aria-owns-ID
Silktide überprüft jedes aria-owns-Attribut auf Ihren Seiten und stellt sicher, dass die darin aufgeführten Element-IDs tatsächlich existieren. Dieses Attribut ordnet Elemente, die sich an anderer Stelle auf der Seite befinden, als untergeordnete Elemente eines Widgets zu, obwohl sie im Code an anderer Stelle platziert sind.
<!-- Problem: Kein Element auf der Seite hat id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Warum dies wichtig ist
Das -Attribut aria-owns verändert die : Die Elemente, auf die es verweist, werden als untergeordnete Elemente des besitzenden Elements behandelt, unabhängig davon, wo sie im Code stehen. Wenn ein Verweis fehlerhaft ist, schlägt diese Zuordnung unbemerkt fehl – ein Menü oder eine Baumstruktur kann für einen vollständig leer erscheinen, obwohl die Elemente auf dem Bildschirm deutlich sichtbar sind. Da visuell nichts falsch aussieht, bleiben solche Probleme meist bestehen, bis jemand mit testet.
So beheben Sie das Problem
- Stellen Sie sicher, dass jede in
aria-ownsaufgeführte ID mit derideines tatsächlich vorhandenen Elements auf derselben Seite übereinstimmt. - Wenn die zugeordneten Inhalte verschoben oder umbenannt wurden, aktualisieren Sie den Verweis in derselben Änderung – oder besser noch: Strukturieren Sie den Code so um, dass die untergeordneten Elemente sich natürlich innerhalb ihres übergeordneten Elements befinden und
aria-ownsnicht benötigt wird. - Stellen Sie sicher, dass kein Element zweimal zugeordnet ist: Eine
iddarf auf der Seite nur in einemaria-ownsvorkommen.
So prüft Silktide dies
- Alle Elemente auf der Seite mit einem
aria-owns-Attribut ermitteln. - Jede darin referenzierte ID mit den auf der Seite vorhandenen Element-IDs vergleichen.
- Jeden Verweis melden, der keinem Element entspricht.
Fehlerbehebung
Das zugeordnete Element wird erst später durch ein Skript erstellt
Silktide prüft die Seite beim Laden. Wenn die zugeordneten Inhalte erst nach einer Benutzerinteraktion vorhanden sind, wird das Widget bis dahin als leer angekündigt – rendern Sie die Inhalte von Anfang an ausgeblendet oder setzen Sie aria-owns, sobald sie vorhanden sind.
Diese Prüfung meldet nichts, obwohl ich Ergebnisse erwarte
ARIA-Tests können für jede Website deaktiviert werden. Überprüfen Sie die erweiterten Einstellungen für die Website.