link-name-present
Les liens ont un nom accessible
Vérifie que les liens exposent un nom accessible non vide.
Applicabilité. S’applique aux éléments <a href>, <area href> et aux éléments dont l’attribut role se résout en link (son premier jeton désignant un rôle connu, sans tenir compte de la casse) inclus dans l’arbre d’accessibilité. Un <a> sans href n’est pas un lien et n’est pas retenu. Un <a href>/<area href> dont le rôle explicite est un rôle connu autre que link, un rôle DPUB qui hérite de link, none ou presentation n’est pas un lien et n’est pas retenu (ACT c487ae, Inapplicable Example 1). Un élément personnalisé auquel ses ElementInternals donnent le rôle link (this.attachInternals().role), sans attribut role qui en nomme un autre, compte comme un élément natif doté de ce rôle.
Attendu. L’élément a un nom accessible non vide. Un nom programmatique est pris en priorité (aria-labelledby, aria-label, un <label> associé, title) ; à défaut, l’élément se rabat sur le texte de son propre sous-arbre, en comptant le nom propre de chaque descendant (un <img alt>, aria-label ou title), ce qui correspond au lien-logo courant <a><img alt="..."></a>. Ce repli sur le contenu est désactivé lorsqu’un rôle explicite connu qui ne tire pas son nom du contenu est présent (le premier jeton connu de la liste de repli du rôle) ; un attribut role sans jeton connu revient au rôle implicite.
Ce que rapporte un constat.
refs.accessibleName: ce qu’a trouvé la recherche du nom programmatique :present,value,mechanism(l’attribut ou l’élément d’où viendrait le nom,nonelorsqu’il n’y en a pas) etflags(des remarques sur la raison pour laquelle une source n’a pas donné de nom).nulllorsqu’aucune recherche n’a été faite.
Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.
Exemples
<a href="/x">Read more</a>
Le contenu textuel du lien constitue son nom accessible.
<a href="/x"></a>
Ni contenu textuel, ni aria-label, ni aria-labelledby.
Comment vérifier
Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.
name_closedContent
- Repérez le lien indiqué par le rapport et notez le texte ou l’icône affiché à l’écran.
- Ouvrez le panneau Accessibilité des outils de développement du navigateur et lisez le nom accessible de l’élément, que le navigateur tire d’un contenu qu’aucun script ne peut lire.
- Avec un lecteur d’écran, placez-vous sur l’élément et écoutez le nom annoncé.
Réussite. L’arbre d’accessibilité montre un nom pour le lien, tiré de son contenu, et le lecteur d’écran l’annonce.
Échec. Le lien n’a pas de nom dans l’arbre d’accessibilité, car son contenu n’en donne aucun, ce qui ne respecte pas les critères WCAG 2.4.4 et 4.1.2.
name_contentTooDeep
- Repérez le lien indiqué par le rapport et notez le texte affiché à l’écran.
- Ouvrez le panneau Accessibilité des outils de développement du navigateur et lisez le nom accessible de l’élément, que le navigateur tire de tout son contenu imbriqué.
- Avec un lecteur d’écran, placez-vous sur l’élément et écoutez le nom annoncé.
Réussite. L’arbre d’accessibilité montre un nom pour le lien, tiré de son contenu imbriqué, et le lecteur d’écran l’annonce.
Échec. Le lien n’a pas de nom dans l’arbre d’accessibilité, car son contenu n’en donne aucun, ce qui ne respecte pas les critères WCAG 2.4.4 et 4.1.2.
name_internals
- Inspectez le lien indiqué par le rapport, un élément personnalisé, et notez son rôle.
- Ouvrez le panneau Accessibilité des outils de développement du navigateur et lisez le nom accessible de l’élément.
- Avec un lecteur d’écran, placez-vous sur l’élément et écoutez le nom annoncé.
Réussite. L’arbre d’accessibilité montre un nom pour le lien, défini par ses internals ou autrement, et le lecteur d’écran l’annonce.
Échec. Le lien n’a pas de nom dans l’arbre d’accessibilité et le lecteur d’écran n’annonce que son rôle, ce qui ne respecte pas les critères WCAG 2.4.4 et 4.1.2.