Passer au contenu
SilktideAide

ID aria-activedescendant manquant

Silktide vérifie chaque attribut aria-activedescendant sur vos pages et s'assure que l'ID d'élément auquel il fait référence existe bel et bien. Cet attribut indique aux quel élément à l'intérieur d'un widget, comme une liste déroulante, est actuellement mis en évidence.

<!-- Problème : aucun élément de la page n'a id="opt-2" -->
<ul role="listbox" aria-activedescendant="opt-2">
  <li role="option" id="opt-1">Première option</li>
</ul>

Pourquoi c'est important

Les widgets comme les listes déroulantes personnalisées, les boîtes combinées et les grilles conservent le sur le conteneur et utilisent l'attribut aria-activedescendant pour indiquer quel élément interne est actif. Lorsque la référence pointe vers un ID qui n'existe pas, un n'annonce rien lorsque l'utilisateur parcourt les options — le widget semble n'avoir aucune sélection, ce qui le rend inutilisable sans la vue.

Comment le corriger

  1. Faites en sorte que l'attribut fasse référence à l'id de l'élément actuellement actif, et mettez-le à jour à mesure que l'utilisateur se déplace dans le widget.
  2. Si le widget réaffiche ses éléments, assurez-vous que les nouveaux éléments conservent des ID stables, ou mettez aria-activedescendant à jour au même moment.
  3. Supprimez l'attribut si le widget n'existe plus ou gère directement le focus à la place.

Comment Silktide teste cela

  1. Trouver chaque élément de la page avec un attribut aria-activedescendant.
  2. Vérifier l'ID qu'il référence par rapport aux ID d'élément présents sur la page.
  3. Signaler chaque référence qui ne correspond à aucun élément.

Dépannage

La cible est créée plus tard par un script

Silktide teste la page au chargement. Si l'élément référencé n'existe qu'après une interaction utilisateur, la référence est quand même rompue entre-temps — ne définissez aria-activedescendant que lorsque sa cible existe.

Cette vérification ne signale rien même si je m'attends à des résultats

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

En savoir plus

Dernière mise à jour

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