Cases à cocher personnalisées en ARIA
Sommaire
Principe
Les cases à cocher sont des éléments de formulaires qui permettent de sélectionner une ou plusieurs options parmi un groupe d’options proposées.
Les cases à cocher sont dites « personnalisées en ARIA » lorsqu’elles ne sont pas construites sur la base du code HTML standard prévu pour ces éléments par la spécification : <input type="checkbox" />
.
Le suivi des recommandations ci-dessous permet de reproduire le comportement par défaut des cases à cocher HTML standards, dans les cas où ces dernières ne peuvent être utilisées.
Cette fiche s’appuie sur le motif de conception « Checkbox » détaillé dans les ARIA Authoring Practices Guide (APG) du W3C.
Socle HTML
Rôles, états et propriétés ARIA
role="group"
doit être appliqué sur le groupe de cases à cocher.role="checkbox"
ettabindex="0"
doivent être appliqués sur le conteneur de chaque case à cocher.aria-hidden="true"
doit être appliqué sur chaque image simulant une case à cocher.- L’attribut
aria-checked
doit être appliqué sur le conteneur de chaque case à cocher. Sa valeur doit être renseignée dynamiquement en fonction de l’état de la case à cocher associée :aria-checked="true"
lorsque la case est cochée.aria-checked="false"
lorsque la case n’est pas cochée.
- Le groupe de cases à cocher doit être rattaché à l’étiquette du groupe via l’attribut
aria-labelledby
:- L’étiquette du groupe doit posséder un attribut
id
renseigné avec une valeur unique. - Le groupe de cases à cocher doit posséder un attribut
aria-labelledby
renseigné avec la valeur de l’attributid
de l’étiquette du groupe.
- L’étiquette du groupe doit posséder un attribut
Interactions au clavier
Les interactions au clavier sont les mêmes que pour des cases à cocher HTML classiques. À la seule exception que le focus clavier est ici positionné sur le conteneur de la case à cocher, et non uniquement sur la case à cocher.
Espace
Lorsque le focus clavier est sur le conteneur d’une case à cocher, coche/décoche la case à cocher, alternativement et en boucle.
Tab
Permet d’accéder successivement à chaque case à cocher, avant de sortir du groupe, dans l’ordre logique de lecture.
Maj + Tab
Même comportement qu’avec la touche Tab, mais cette fois dans l’ordre inverse de lecture.
Remarques
La source de l’image, ainsi que son texte alternatif, doivent être modifiés en fonction de l’état de la case à cocher correspondante.
À noter qu’une balise <img />
est proposée dans l’exemple de code, mais qu’il est également possible de la remplacer par une image vectorielle <svg>
.
4 commentaires
-
Ce commentaire a été publié il y a plus de 2 ans. Il se peut que son contenu ne soit plus d'actualité.
Pour information, les cases à cocher peuvent avoir un état indéterminé / mixte.
Voir https://www.w3.org/TR/wai-aria-practices-1.1/examples/checkbox/checkbox-2/checkbox-2.html
Dans ce cas, on utilise aria-checked= »mixed ». -
Ce commentaire a été publié sur une ancienne version des notices AcceDe Web. Il se peut que son contenu ne soit plus d'actualité.
Bonjour,
Il y a quelque chose qui m’échappe dans votre exemple : quel est l’intérêt d’ajouter une balise
alt
sur l’image qui a par ailleurs un attributaria-hidden
?-
Ce commentaire a été publié sur une ancienne version des notices AcceDe Web. Il se peut que son contenu ne soit plus d'actualité.
Bonjour,
Ah ah, c’est la petite subtilité de la recommandation, si vous vous posez la question, c’est que vous avez en tout cas bien compris tout le reste. J’en suis ravi.
En effet, ici, on place l’alternative de l’image plutôt pour d’autres raisons que l’accessibilité. C’est plutôt dans le cas où l’image ne serait pas chargée correctement, pour permettre d’afficher le texte alternatif.
Et on ne la fait pas lire par les aides techniques pour éviter la redite.Sébastien.
-
Ce commentaire a été publié sur une ancienne version des notices AcceDe Web. Il se peut que son contenu ne soit plus d'actualité.
Je n’avais pas pensé à cet aspect, en effet :-)
-
-
Ajouter un commentaire
Mises à jour
- 28/08/2024
- Mise à jour mineure.