Manglende aria-owns-id
Silktide tjekker alle aria-owns-attributter på dine sider og bekræfter, at de element-id'er, de angiver, faktisk findes. Denne attribut gør elementer fra andre steder på siden til underordnede elementer af en widget, selvom koden placerer dem et andet sted.
<!-- Problem: intet element på siden har id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Hvorfor dette er vigtigt
ARIA-attributten aria-owns ændrer forbindelserne i : Elementer, den henviser til, behandles som underordnede elementer af det ejende element, uanset hvor de er placeret i koden. Når en henvisning er brudt, mislykkes denne sammenkædning uden varsel – en menu eller et træ kan fremstå helt tomt for en , selvom elementerne er tydeligt synlige på skærmen. Da intet ser forkert ud visuelt, bliver disse fejl ofte ikke opdaget, før nogen tester med .
Sådan løser du det
- Sørg for, at hvert id, der er angivet i
aria-owns, matcherid'et på et rigtigt element på samme side. - Hvis det ejede indhold er flyttet eller omdøbt, skal du opdatere henvisningen i samme ændring – eller endnu bedre, omstrukturere koden, så de underordnede elementer naturligt ligger inde i deres overordnede element, og
aria-ownsikke er nødvendig. - Sørg for, at intet element ejes to gange: Et
idmå kun forekomme i énaria-ownspå siden.
Sådan tester Silktide dette
- Find alle elementer på siden med en
aria-owns-attribut. - Tjek hvert id, som attributten henviser til, mod de element-id'er, der findes på siden.
- Rapportér hver henvisning, der ikke matcher noget element.
Fejlfinding
Det ejede element oprettes senere af et script
Silktide tester siden, mens den indlæses. Hvis det ejede indhold først findes efter brugerinteraktion, annonceres widgetten som tom indtil da – gengiv indholdet skjult fra starten, eller angiv aria-owns, når det findes.
Dette tjek rapporterer intet, selvom jeg forventer fund
ARIA-test kan deaktiveres for hver website. Tjek de avancerede indstillinger for websitet.