ID aria-owns manquant
Silktide vérifie chaque attribut aria-owns sur vos pages et s’assure que les ID d’élément qu’il énumère existent réellement. Cet attribut rattache des éléments situés ailleurs dans la page comme enfants d’un composant (widget), même si le code les place à un autre endroit.
<!-- Problème : aucun élément de la page n’a id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Pourquoi c’est important
L’attribut aria-owns reconfigure l’ : les éléments qu’il référence sont traités comme des enfants de l’élément propriétaire, quel que soit leur emplacement dans le code. Lorsque la référence est rompue, ce rattachement échoue discrètement : un menu ou un arbre peut paraître complètement vide pour un alors que ses éléments sont bien visibles à l’écran. Comme rien ne semble anormal visuellement, ces ruptures ont tendance à persister jusqu’à ce que quelqu’un teste avec des .
Comment corriger
- Assurez‑vous que chaque ID listé dans
aria-ownscorrespond à l’attributidd’un élément réel sur la même page. - Si le contenu possédé a été déplacé ou renommé, mettez à jour la référence dans la même modification — ou mieux, remaniez le code pour que les enfants se trouvent naturellement à l’intérieur de leur parent et que
aria-ownsne soit pas nécessaire. - Assurez‑vous qu’aucun élément ne soit possédé deux fois : un
idne peut apparaître que dans un seularia-ownssur la page.
Comment Silktide teste cela
- Trouver chaque élément de la page avec un attribut
aria-owns. - Vérifier chaque ID référencé 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
L’élément possédé est créé plus tard par un script
Silktide teste la page pendant son chargement. Si le contenu possédé n’existe qu’après une interaction utilisateur, le composant est annoncé comme vide jusque‑là — rendez le contenu présent mais masqué dès le départ, ou définissez aria-owns une fois qu’il existe.
Ce contrôle ne signale rien alors que je m’attends à des problèmes
Les tests ARIA peuvent être désactivés pour chaque site Web. Vérifiez les paramètres avancés du site.