Intitulé (ou nom accessible) de lien
« Nom accessible » restitué par les technologies d’assistance.
Dans le cas d’un lien HTML, le « nom accessible » est obtenu selon l’ordre suivant :
- passage de texte associé par l’attribut WAI-ARIA
aria-labelledby; - sinon, contenu de l’attribut WAI-ARIA
aria-label; - sinon, contenu du lien ;
- sinon, contenu de l’attribut
title.
Cet ordre doit être utilisé pour déterminer ce qui constitue l’intitulé du lien. Par exemple :
- en cas de présence conjointe d’un attribut WAI-ARIA
aria-labelet d’un attribut WAI-ARIAaria-labelledby, c’est le passage de texte référencé par l’attribut WAI-ARIAaria-labelledbyqui doit être considéré comme l’intitulé ; - en cas de présence conjointe d’un attribut WAI-ARIA
aria-labelet d’un contenu dans le lien, c’est le contenu de l’attribut WAI-ARIAaria-labelqui doit être considéré comme l’intitulé.
Référence : Accessible name and description calculation.
Dans le cas où le « nom accessible » est obtenu à partir du contenu du lien, celui-ci sera variable en fonction des cas suivants :
Lien texte :
En HTML, le « nom accessible » correspond au texte constitué à partir :
- du texte contenu dans le lien ;
- du texte contenu dans les éléments enfants du lien.
Lien image :
En HTML, le « nom accessible » correspond au texte constitué à partir de l’alternative textuelle d’une ou plusieurs images dans le lien du type :
- Image (élément
<img>ou balise ouvrante ayant l’attribut WAI-ARIArole="img") ; - Image objet (élément
<object>) ; - Image bitmap (élément
<canvas>) ; - Image vectorielle (élément
<svg>).
Lien composite :
En HTML, le « nom accessible » correspond au texte constitué à partir de l’ensemble :
- du texte contenu dans le lien ;
- du texte contenu dans les éléments enfant du lien ;
- du contenu de l’alternative textuelle de la ou des images comprises dans le lien.
Dans le cas d’un lien SVG (version 1.1), le « nom accessible » est obtenu comme suit :
- Passage de texte associé par l’attribut WAI-ARIA
aria-labelledby; - Sinon, contenu de l’attribut WAI-ARIA
aria-label; - Sinon, contenu de l’élément
<title>enfant direct du lien ; - Sinon, contenu de l’attribut
xlink:title; - Sinon, contenu texte d’un ou plusieurs éléments
<text>.
Il faut cependant être vigilant car cet algorithme de calcul n’est pas encore pris en compte et effectif au sein des différents lecteurs d’écran. À ce jour, le support est disponible avec VoiceOver, mais incomplet ou lacunaire avec JAWS et NVDA. Si bien que le plus petit dénominateur commun sur lequel il est possible de se reposer pour fournir un intitulé au lien est l’élément <text>.
Note 1 : un intitulé de lien sera considéré comme non-explicite dans le cas où le « nom accessible » ne reprend pas l’intitulé visible du lien.
Note 2 : en raison de la configuration possible des aides techniques permettant de forcer la restitution du « nom accessible » issu du contenu de l’attribut title au détriment du « nom accessible » issu du contenu du lien. Un intitulé de lien sera considéré comme non-explicite dans le cas où le lien possède un attribut title dont la valeur ne reprendrait pas au moins le « nom accessible » issu du contenu du lien.
Note 3 : dans le cas de la présence de plusieurs liens ayant une destination différente dont le « nom accessible » est identique. L’intitulé de lien seul sera considéré comme non-explicite si le contexte de lien ne permet pas de les différencier.
Note 4 : lorsqu’un lien ne comporte aucun contenu, il sera non conforme au regard du critère 10.2 et du critère 6.2.
Note 5 : bien que le calcul du nom accessible d’un lien tienne compte de contenus texte générés en CSS via les pseudo-éléments ::before et ::after, cette pratique ne doit pas être utilisée, car elle constitue une non-conformité au critère 1.3.1 des WCAG 2.1 (cf. F87).
Critères qui lient vers ce terme :
Tests qui lient vers ce terme :
Définitions citées
- Étiquette de champ de formulaire
Texte à proximité du champ de formulaire permettant d’en connaître la nature, le type ou le format des informations attendues. L’étiquette peut être associée au champ de formulaire de plusieurs manières :
- Par l’utilisation d’une balise
<label>; - Par l’utilisation de l’attribut WAI-ARIA
aria-label; - Par l’utilisation d’une liaison entre le texte et le champ par l’attribut WAI-ARIA
aria-labelledby; - Par l’utilisation de l’attribut
title.
Note importante : lorsque plusieurs de ces techniques sont présentes sur un même champ, le calcul du « nom accessible », c’est-à-dire ce qui sera restitué, obéit à un ordre strict :
aria-labelledby;- Sinon
aria-label; - Sinon
<label>; - Sinon
title.
Cet ordre doit être utilisé pour l’évaluation de la pertinence de l’étiquette (critère 11.2). Par exemple, même dans le cas de la présence d’un
<label>, c’est le passage de texte référencé pararia-labelledbyqui doit être pris en compte.Référence : Accessible name and description calculation.
Note importante au sujet de l’utilisation de
placeholder: lorsque l’attributplaceholderest présent, il est susceptible d’être restitué à la place de l’attributtitle. Par conséquent, lorsque ces deux attributstitleetplaceholdersont présents, ils doivent être identiques.Note au sujet des étiquettes liées par
aria-labelledby: Il s’agit d’un ou de plusieurs passages de texte identifiés par desidet liés pararia-labelledbysur le modèle suivant :aria-labelledby="ID1 ID2 ID3…". Pour assurer une compatibilité maximum avec les agents utilisateurs, notamment Internet Explorer 11, il est recommandé d’implémenter untabindex="-1"sur les passages de textes qui ne sont pas des éléments interactifs (bouton, liens, éléments de formulaires, etc.).Note : l’attribut
aria-labelne peut pas être utilisé pour indiquer le caractère obligatoire d’un champ.- Par l’utilisation d’une balise
- Intitulé visible
Texte affiché faisant office d’intitulé visible à l’écran au sein d’un bouton ou d’un lien.
Texte affiché faisant office d’étiquette pour un champ formulaire.
Ce texte peut être constitué de texte ou d’une image contenant du texte.