aria-hidden imbriqué
Silktide vérifie s’il existe du contenu marqué comme visible pour les à l’intérieur d’un conteneur qui leur est marqué comme caché. Le masquage l’emporte : le marquage interne n’a aucun effet et le contenu demeure masqué.
<!-- Problème : le paragraphe reste masqué malgré aria-hidden="false" -->
<div aria-hidden="true">
<p aria-hidden="false">Contenu important</p>
</div>
Pourquoi c’est important
Lorsqu’un élément a aria-hidden="true", tout ce qu’il contient est retiré de l’. La norme ne prévoit aucun moyen pour un descendant de se réinsérer : aria-hidden="false" à l’intérieur d’un conteneur masqué ne fait tout simplement rien. Les personnes qui utilisent ce modèle croient avoir de nouveau exposé le contenu interne; le résultat est donc un contenu que les personnes voyantes peuvent voir mais que les ne peuvent pas atteindre, sans que personne ne se rende compte de l’écart.
Comment corriger
- Réorganisez le balisage pour que le contenu devant être exposé ne se trouve pas dans le conteneur masqué — déplacez‑le pour qu’il devienne un élément frère plutôt qu’un descendant.
- Si tout le contenu du conteneur doit effectivement être accessible, retirez
aria-hidden="true"de l’ancêtre. - Ne comptez jamais sur
aria-hidden="false"pour annuler l’état masqué d’un ancêtre; une fois la correction effectuée, on peut généralement supprimer aussi l’attribut interne.
Comment Silktide teste cela
- Trouver chaque élément sur la page avec
aria-hidden="false". - Parcourir ses ancêtres à la recherche de tout élément avec
aria-hidden="true". - Signaler chaque élément dont le
aria-hidden="false"est piégé à l’intérieur d’un ancêtre masqué.
Dépannage
Un script bascule l’attribut aria-hidden de l’ancêtre
Silktide teste la page pendant son chargement. Si l’état masqué n’existe que momentanément avant qu’un script ne le retire, le constat reflète cet état initial — mais notez que les personnes utilisant des technologies d’assistance sur des connexions lentes vivent aussi cet état, et le aria-hidden="false" imbriqué ne fait toujours rien pendant ce temps.
Cette vérification ne signale rien même si je m’attendais à des résultats
Les tests ARIA peuvent être désactivés pour chaque site Web. Vérifiez les paramètres avancés du site.