Utilisation du rôle checkbox
Please take two minutes to fill out our short survey.
Description
Cette technique présente l'utilisation du rôle checkbox.
Le rôle checkbox
est utilisé pour des contrôles interactifs à cocher. Si un élément utilise role="checkbox",
il est obligatoire pour cet élément d'avoir également un attribut aria-checked
qui présente l'état de la case à cocher aux technologies d'assistance. Alors que le contrôle de formulaire HTML natif checkbox
ne peut avoir que deux états (« coché » ou « décoché »), un élément avec le rôle role=checkbox
peut présenter trois états pour l'attribut aria-checked
:
aria-checked="true"
: la case est cochée ;aria-checked="false"
: la case est décochée ;aria-checked="mixed"
: la case est partiellement cochée.
Le développeur doit modifier dynamiquement la valeur de l'attribut aria-checked
lorsque la case est cochée.
Comme une case à cocher est un contrôle interactif, elle doit pouvoir recevoir le focus et être accessible au clavier. Si le rôle est appliqué à un élément qui ne peut recevoir le focus, l'attribut tabindex
devra être utilisé pour corriger cela. Le raccourci clavier attendu pour activer une case à cocher est la barre d'espace.
Effets possibles sur les agents utilisateurs et les technologies d'assistance
Lorsque le rôle checkbox
est ajouté à un élément, l'agent utilisateur devrait suivre les étapes suivantes :
- Présenter l'élément comme ayant un rôle de case à cocher à l'API d'accessibilité du système d'exploitation ;
- Lorsque la valeur de l'attribut
aria-checked
change, envoyer un événement accessible de changement d'état.
Les technologies d'assistance doivent faire la chose suivante :
- Les lecteurs d'écran devraient annoncer l'élément comme une case à cocher, et, éventuellement, fournir des instructions sur les façons de l'activer.
Note : Il existe plusieurs points de vue sur la façon dont les technologies d'assistance devraient traiter cette technique. L'information fournie ci-dessus est l'une de ces opinions et n'est pas normative.
Exemples
Exemple 1 : Ajout du rôle ARIA checkbox
<span role="checkbox" aria-checked="false" tabindex="0" id="chk1"></span>
<label for="chk1">Enregistrer mes préférences</label>