ARIA : rôle meter
Le rôle meter sert à identifier un élément utilisé comme indicateur de mesure.
Note :
Lorsque cela est possible, il est recommandé d'utiliser l'élément natif <meter> plutôt que le rôle meter, car les éléments natifs sont mieux pris en charge par les navigateurs et les technologies d'assistance.
Description
Un indicateur de mesure (meter en anglais) est une représentation graphique d'une valeur numérique dans une plage définie. Par exemple, l'affichage du pourcentage de batterie. Un indicateur de mesure n'est pas adapté aux valeurs qui n'ont pas de limite maximale significative. Il ne doit pas être utilisé pour indiquer une progression (exemple : chargement), cela doit être communiqué avec l'élément <progress>.
Chaque élément avec role="meter" doit également comporter l'un des attributs suivants :
- Un attribut
aria-label. - Un attribut
aria-labelledbypointant vers un élément contenant un texte qui décrit l'indicateur de mesure.
Tous les descendants sont des éléments de présentation
Certaines interfaces utilisateur, lorsqu'elles sont représentées dans une API d'accessibilité de plateforme, ne peuvent contenir que du texte. Les API d'accessibilité ne permettent pas de représenter des éléments sémantiques contenus dans un meter. Pour pallier cette limitation, les navigateurs appliquent automatiquement le rôle presentation à tous les éléments descendants d'un élément meter, car il s'agit d'un rôle qui ne prend pas en charge les enfants sémantiques.
Par exemple, considérez l'élément meter suivant, qui contient un titre :
<div role="meter"><h3>Titre de mon indicateur de mesure</h3></div>
Comme les descendants de meter sont des éléments de présentation, le code suivant est équivalent :
<div role="meter">
<h3 role="presentation">Titre de mon indicateur de mesure</h3>
</div>
Du point de vue de l'utilisateur·ice de technologies d'assistance, le titre n'existe pas puisque les extraits de code précédents sont équivalents à ce qui suit dans l'arbre d'accessibilité :
<div role="meter">Titre de mon indicateur de mesure</div>
Propriétés, états et rôles WAI-ARIA associés
aria-valuenow-
Défini sur une valeur décimale comprise entre
aria-valueminetaria-valuemaxindiquant la valeur actuelle de l'indicateur de mesure. aria-valuetext-
Les technologies d'assistance présentent souvent la valeur de
aria-valuenowcomme un pourcentage. Si cela n'est pas pertinent, utilisez cette propriété pour rendre la valeur compréhensible. aria-valuemin-
Défini sur une valeur décimale représentant la valeur minimale, et inférieure à
aria-valuemax. aria-valuemax-
Défini sur une valeur décimale représentant la valeur maximale, et supérieure à
aria-valuemin.
Il est recommandé d'utiliser l'élément natif <meter> plutôt que le rôle meter. Les navigateurs proposent un widget stylisé pour l'élément <meter> en fonction de la valeur courante (value) par rapport aux valeurs min et max. Si vous utilisez des éléments non sémantiques, toutes les fonctionnalités de l'élément natif doivent être recréées avec des attributs ARIA, du JavaScript et du CSS.
Exemples
Exemple d'indicateur de mesure utilisant role="meter" :
<div
role="meter"
aria-valuenow="90"
aria-valuemin="0"
aria-valuemax="100"
aria-labelledby="cpu_usage_label">
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="width: 90%">
<rect x="0" y="0" width="100%" height="100%" fill="currentColor"></rect>
</svg>
</div>
Dans ce scénario, lorsque la valeur de aria-valuenow est mise à jour, la largeur du SVG doit aussi être modifiée, comme illustré dans l'exemple fonctionnel du guide des bonnes pratiques ARIA (APG) (angl.).
Spécifications
| Specification |
|---|
| Accessible Rich Internet Applications (WAI-ARIA)> # meter> |
Voir aussi
- L'élément HTML
<meter> - L'élément HTML
<progress>