ID aria-controls manquant
Silktide vérifie chaque attribut aria-controls sur vos pages et confirme que les ID d'éléments indiqués existent réellement. Cet attribut précise quelle partie de la page est commandée par le contrôle, par exemple le panneau qu'un onglet affiche ou le menu qu'un bouton ouvre.
<!-- Problème: aucun élément de la page n'a id=\"filter-panel\" -->
<button aria-expanded="false" aria-controls="filter-panel">Filtres</button>
Pourquoi c'est important
L'attribut aria-controls d' permet à la
de relier un contrôle
au contenu qu'il affecte - certains
proposent un raccourci pour aller directement à l'élément contrôlé.
Quand la référence est rompue, cette relation disparaît sans avertissement.
Des références rompues signifient généralement qu'un ID a été renommé ou
qu'un composant a été supprimé; c'est aussi un signe précurseur que le
composant lui-même peut ne plus fonctionner comme prévu.
Comment corriger
- Faites en sorte que chaque ID mentionné dans
aria-controlscorresponde à l'attributidd'un véritable élément sur la même page. L'attribut peut répertorier plusieurs ID séparés par des espaces; vérifiez chacun d'eux. - Si l'élément contrôlé est ajouté dynamiquement, soit incluez-le dès le départ
en le masquant, soit définissez
aria-controlsune fois qu'il existe. - Si l'élément contrôlé a disparu définitivement, supprimez l'attribut.
Comment Silktide teste cela
- Rechercher chaque élément de la page avec un attribut
aria-controls. - Vérifier chaque ID référencé par rapport aux ID d'éléments 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 le panneau référencé n'apparaît qu'après une interaction utilisateur, la référence est rompue jusque-là - il est préférable de garder la cible dans la page (cachée) afin que la référence se résolve toujours.
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 Web.