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
- Faites en sorte que l'attribut fasse référence à l'
idde l'élément actuellement actif, et mettez-le à jour à mesure que l'utilisateur se déplace dans le widget. - 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. - Supprimez l'attribut si le widget n'existe plus ou gère directement le focus à la place.
Comment Silktide teste cela
- Trouver chaque élément de la page avec un attribut
aria-activedescendant. - Vérifier l'ID qu'il référence par rapport aux ID d'élément présents sur la page.
- 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.