
Comprendre les attributs ARIA pour améliorer l'accessibilité
Publié le
Pour rendre des pages web accessibles à tous, il est essentiel de fournir des informations claires aux utilisateurs utilisant des technologies d’assistance comme les lecteurs d’écran. Les attributs ARIA (Accessible Rich Internet Applications) offrent des moyens d'ajouter des descriptions supplémentaires et de mieux structurer les informations pour les utilisateurs qui ne lisent pas visuellement le texte. Cet article explore cinq attributs ARIA souvent utilisés : aria-label
, aria-labelledby
, aria-describedby
, aria-description
, et aria-details
. Nous verrons à quoi ils servent et dans quelles situations les utiliser pour optimiser l'expérience utilisateur.
aria-label
: Donner une étiquette à un élément
L’attribut aria-label
permet d’ajouter une description textuelle à un élément, souvent utilisé lorsqu'il n’y a pas d’étiquette visible associée à l’élément. Par exemple, pour des boutons ou des icônes, aria-label
peut fournir une description claire de leur fonction aux lecteurs d’écran.
Exemple :
<button aria-label="Fermer la fenêtre">✖</button>
Ici, l'icône de fermeture n'a pas de texte visible, mais grâce à l’attribut aria-label
, un utilisateur de lecteur d’écran saura qu’il s’agit du bouton pour fermer la fenêtre.
aria-labelledby
: Référencer une étiquette visible
L'attribut aria-labelledby
permet de lier un élément à un autre élément qui contient déjà une description visible. Contrairement à aria-label
, qui ajoute une étiquette, aria-labelledby
pointe vers un élément existant et visible, par exemple un titre ou un texte à proximité.
Exemple :
<h2 id="section-title">Contactez-nous</h2>
<button aria-labelledby="section-title">Envoyer un message</button>
Le bouton "Envoyer un message" est lié au titre "Contactez-nous", permettant ainsi aux technologies d’assistance de comprendre le contexte de ce bouton.
aria-describedby
: Ajouter une description supplémentaire
aria-describedby
fournit des informations supplémentaires à propos d’un élément en pointant vers une autre section de texte sur la page. Il est souvent utilisé pour ajouter des détails additionnels concernant la fonction ou l’utilisation d’un élément.
Exemple :
<input type="text" id="email" aria-describedby="email-help">
<p id="email-help">Veuillez entrer une adresse email valide.</p>
Le champ de texte est lié à une description complémentaire qui donne des informations supplémentaires sur ce qui est attendu de l'utilisateur.
aria-description
: Donner une description détaillée
aria-description
est similaire à aria-describedby
, mais il est souvent utilisé pour fournir des informations plus détaillées ou complexes sur un élément sans référence visible.
Exemple :
<button aria-description="Cliquez pour soumettre le formulaire et recevoir une confirmation par email.">Soumettre</button>
Cette description fournit des détails que seuls les utilisateurs de lecteurs d’écran entendront, sans être visibles sur la page.
aria-details
: Fournir des informations complexes liées à un élément
L’attribut aria-details
est utilisé lorsqu’un élément a une relation avec une autre section plus complexe de la page qui fournit des informations détaillées. Il peut lier un formulaire à des instructions détaillées situées ailleurs sur la page.
Exemple :
<div aria-details="form-instructions">
<form>
<!-- formulaire -->
</form>
</div>
<div id="form-instructions">
<p>Veuillez remplir toutes les sections obligatoires avant de soumettre le formulaire.</p>
</div>
Ici, aria-details
indique aux lecteurs d’écran qu’une section plus détaillée est disponible et peut être lue pour des instructions supplémentaires.
Conclusion
En utilisant correctement ces attributs ARIA, vous pouvez considérablement améliorer l'accessibilité de votre site web, rendant ainsi vos contenus plus inclusifs. Chacun de ces attributs a un rôle spécifique, et comprendre leur différence permet d’offrir une expérience plus riche aux utilisateurs de technologies d'assistance.