Geneste aria-hidden
Silktide controleert op inhoud die is gemarkeerd als zichtbaar voor binnen een container die als verborgen voor ondersteunende technologie is gemarkeerd. Verbergen heeft voorrang: de interne markering heeft geen effect en de inhoud blijft verborgen.
<!-- Probleem: de alinea blijft verborgen ondanks aria-hidden="false" -->
<div aria-hidden="true">
<p aria-hidden="false">Belangrijke inhoud</p>
</div>
Waarom dit belangrijk is
Wanneer een element aria-hidden="true" heeft, wordt alles wat zich daarin bevindt verwijderd uit de . De -standaard biedt geen manier waarop een afstammeling zich opnieuw zichtbaar kan maken: aria-hidden="false" binnen een verborgen container doet eenvoudigweg niets. Auteurs die dit patroon gebruiken, denken dat ze de interne inhoud opnieuw beschikbaar hebben gemaakt. Het resultaat is dus inhoud die ziende gebruikers kunnen zien, maar waar niet bij kunnen komen, zonder dat iemand zich bewust is van de kloof.
Hoe je dit oplost
- Pas de structuur van de markup aan zodat de inhoud die beschikbaar moet zijn zich niet in de verborgen container bevindt. Verplaats de inhoud naar buiten, zodat deze een sibling is in plaats van een afstammeling.
- Als alles in de container daadwerkelijk beschikbaar moet zijn, verwijder je
aria-hidden="true"van het bovenliggende element. - Vertrouw nooit op
aria-hidden="false"om de verborgen status van een bovenliggend element ongedaan te maken. Nadat de oplossing is toegepast, kan het interne attribuut meestal ook worden verwijderd.
Hoe Silktide dit controleert
- Zoek elk element op de pagina met
aria-hidden="false". - Loop de bovenliggende elementen langs en zoek naar een element met
aria-hidden="true". - Meld elk element waarvan
aria-hidden="false"gevangen zit binnen een verborgen bovenliggend element.
Problemen oplossen
Een script schakelt de aria-hidden van het bovenliggende element aan en uit
Silktide controleert de pagina terwijl deze wordt geladen. Als de verborgen status slechts tijdelijk bestaat voordat een script deze verwijdert, weerspiegelt de bevinding die aanvankelijke status. Houd er echter rekening mee dat gebruikers van ondersteunende technologie op trage verbindingen die status ook ervaren en dat de geneste aria-hidden="false" zolang deze status duurt nog steeds niets doet.
Deze controle rapporteert niets, hoewel ik bevindingen verwacht
ARIA-tests kunnen per website worden uitgeschakeld. Controleer de geavanceerde instellingen voor de website.