Aller au contenu
SilktideAide

aria-hidden imbriqué

Silktide recherche du contenu marqué comme visible pour les à l'intérieur d'un conteneur marqué comme lui étant caché. Le masquage l'emporte : le marquage interne n'a aucun effet et le contenu reste caché.

<!-- Problème : le paragraphe reste caché 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éafficher : aria-hidden="false" à l'intérieur d'un conteneur masqué ne fait tout simplement rien. Les auteurs qui utilisent ce schéma pensent avoir de nouveau exposé le contenu interne ; il en résulte un contenu que les utilisateurs voyants peuvent voir mais que les utilisateurs de ne peuvent pas atteindre, sans que personne ne soit conscient de l'écart.

Comment corriger

  1. Remaniez le balisage afin 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 ce qui se trouve dans le conteneur doit en réalité être disponible, supprimez 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, l'attribut interne peut généralement être supprimé également.

Comment Silktide teste ceci

  1. Trouver chaque élément sur la page avec aria-hidden="false".
  2. Remonter ses ancêtres à la recherche de tout élément avec aria-hidden="true".
  3. Signaler chaque élément dont aria-hidden="false" est piégé à l'intérieur d'un ancêtre masqué.

Dépannage

Un script bascule l'aria-hidden de l'ancêtre

Silktide teste la page au chargement. Si l'état masqué n'existe que momentanément avant qu'un script ne le supprime, le constat reflète cet état initial — mais notez que les utilisateurs de technologies d'assistance sur des connexions lentes expérimentent aussi cet état, et l'aria-hidden="false" imbriqué ne fait toujours rien tant qu'il dure.

Ce contrôle ne signale rien alors que je m'attends à des résultats

Les tests ARIA peuvent être désactivés par site. Vérifiez les paramètres avancés du site web.

Pour en savoir plus

Dernière mise à jour

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

aria-hidden imbriqué | Centre d’aide Silktide