Manglende aria-owns-ID
Silktide kontrollerer alle aria-owns-attributter på sidene dine og bekrefter at element-ID-ene de angir, faktisk finnes. Dette attributtet tar i bruk elementer fra et annet sted på siden som underordnede elementer i en widget, selv om koden plasserer dem et annet sted.
<!-- Problem: ingen elementer på siden har id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Hvorfor dette er viktig
ARIA-attributtet aria-owns kobler om :
elementene det refererer til, behandles som underordnede elementer av det
styrende elementet, uavhengig av hvor de befinner seg i koden. Når en referanse
ikke fungerer, mislykkes denne koblingen uten varsel – en meny eller et tre kan
se helt tomt ut for en , selv om elementene er
tydelig synlige på skjermen. Fordi ingenting ser galt ut visuelt, har slike feil
tendens til å bli værende til noen tester med .
Slik løser du det
- Sørg for at hver ID som er angitt i
aria-owns, samsvarer medid-en til et faktisk element på samme side. - Hvis det underordnede innholdet ble flyttet eller fikk nytt navn, oppdater
referansen i samme endring – eller, enda bedre, omstrukturer koden slik at de
underordnede elementene ligger naturlig inne i det overordnede elementet og
aria-ownsikke er nødvendig. - Sørg for at ingen elementer eies to ganger: En
idkan bare vises i énaria-ownspå siden.
Slik tester Silktide dette
- Finn hvert element på siden med et
aria-owns-attributt. - Kontroller hver ID det refererer til, mot element-ID-ene som finnes på siden.
- Rapporter hver referanse som ikke samsvarer med noe element.
Feilsøking
Det underordnede elementet opprettes senere av et skript
Silktide tester siden mens den lastes inn. Hvis det underordnede innholdet bare
finnes etter en brukerhandling, kunngjør widgeten at den er tom frem til da –
gjengi innholdet skjult fra starten, eller angi aria-owns når det finnes.
Denne kontrollen rapporterer ingenting, selv om jeg forventer funn
ARIA-testing kan slås av for hvert nettsted. Sjekk de avanserte innstillingene for nettstedet.