Test 11.9.1
L’intitulé de chaque bouton vérifie-t-il ces conditions (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut WAI-ARIA aria-label est pertinent ;
S’il est présent, le passage de texte lié au bouton via un attribut WAI-ARIA aria-labelledby est pertinent ;
S’il est présent, le contenu de l’attribut value d’une balise <input> de type submit, reset ou button est pertinent ;
S’il est présent, le contenu de la balise <button> est pertinent ;
S’il est présent, le contenu de l’attribut alt d’une balise <input> de type image est pertinent ;
S’il est présent, le contenu de l’attribut title est pertinent.
Méthodologie 11.9.1
- Retrouver dans le document les boutons présents au sein d’un formulaire ;
- Pour chaque bouton, vérifier que son intitulé visible et son nom accessible sont pertinents ;
- Si c’est le cas pour chaque bouton, le test est validé.
Tests suivants et précédents au clavier
Test précédent : Maj + ←
Test suivant : Maj + →
Éléments et attributs
<button> <input> alt aria-label aria-labelledby button image reset submit title value Cas particuliers du critère 11.9
Pour le test 11.9.2, voir cas particuliers critère 11.2.
Définitions
- Bouton (formulaire)
Élément d’un formulaire qui permet d’effectuer une action prédéfinie. Par exemple, le bouton de soumission d’un formulaire permet l’envoi au serveur des informations collectées pour leur traitement. L’intitulé d’un bouton doit décrire l’action qui résulte de son activation (par exemple : « Lancer votre recherche », « Envoyer votre message »).
En HTML, il y a trois types de boutons de formulaire :
- Balise
<input>de typesubmit,resetoubutton; - Balise
<input>de typeimage; - Balise
<button>.
Il est également possible de restituer un bouton à l’aide du rôle WAI-ARIA
button.L’intitulé du bouton peut être de six types :
- Le contenu du passage de texte associé au bouton via l’attribut WAI-ARIA
aria-labelledbylorsqu’il est présent ; - Le contenu de l’attribut
aria-labellorsqu’il est présent ; - Le contenu de l’attribut
altd’un bouton de typeimage; - Le contenu de l’attribut
valuedes boutons de typesubmit,resetoubutton; - Le contenu de la balise
<button>; - Le contenu de l’attribut
titlelorsqu’il est présent.
Note importante : lorsque plusieurs de ces techniques sont présentes sur un même bouton, le calcul du « nom accessible », c’est-à-dire ce qui sera restitué, obéit à un ordre strict :
aria-labelledby;- Sinon
aria-label; - Sinon
altpour le cas des inputimage; - Sinon
valuepour le cas des inputsubmit,resetoubutton; - Sinon contenu de la balise
<button>; - Sinon
title.
Cet ordre doit être utilisé pour l’évaluation de la pertinence du « nom accessible » du bouton. Par exemple, même dans le cas de la présence d’un
titleet d’un passage de texte référencé pararia-labelledbysur le même bouton, c’est le passage de texte référencé pararia-labelledbyqui doit être évalué.Référence : Accessible name and description calculation.
Par ailleurs, un « nom accessible » sera considéré comme non-pertinent s’il ne reprend pas le texte visible du bouton. Par exemple :
<button aria-label="confirmer la saisie">valider la saisie</button>sera considéré comme non conforme au critère 11.9.- Balise
- Formulaire
Balise
<form>ou balise possédant un attribut WAI-ARIArole="form".- Passage de texte lié par `aria-labelledby` ou `aria-describedby`
Il s’agit d’un ou de plusieurs passages de texte identifiés par des
iddont la valeur est unique dans la page et associés à un élément (champ de formulaire, bouton, etc.) par les attributs WAI-ARIAaria-labelledbyouaria-describedbysur le modèle suivant :aria-labelledby="ID1 ID2 ID3…"où la valeur de l’attribut utilisé est égale à la liste des valeurs d’attributsiddes passages de texte à associer présents dans la page.Note 1 : pour assurer une compatibilité maximum avec les agents utilisateurs, notamment Internet Explorer 11, il est recommandé d’implémenter un
tabindex="-1"sur les passages de textes qui ne sont pas des éléments interactifs (bouton, liens, éléments de formulaires, etc.).Note 2 : la valeur des attributs WAI-ARIA
aria-labelledbyouaria-describedbyne doivent pas créer de référence récursive (A référence B qui référence A) ou traversante (A qui référence B qui référence C).