Passer au contenu
SilktideAide

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

  1. 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.
  2. Si tout le contenu du conteneur doit effectivement être accessible, retirez aria-hidden="true" de l’ancêtre.
  3. 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

  1. Trouver chaque élément sur la page avec aria-hidden="false".
  2. Parcourir ses ancêtres à la recherche de tout élément avec aria-hidden="true".
  3. 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.

Pour en savoir plus

Dernière mise à jour

Cette page vous a-t-elle été utile?