Aller au contenu principal

Rôles ARIA

Liste complète des rôles ARIA, organisée par catégories

Rôles de structure de document

  • alert : Pour les informations importantes et généralement urgentes.
  • alertdialog : Pour les boîtes de dialogue modales d'alerte qui interrompent le flux de travail de l'utilisateur.
  • application : Indique que l'élément doit être traité comme une application de bureau.
  • article : Indique une section de contenu autonome.
  • banner : Définit l'en-tête global d'un site.
  • complementary : Désigne une section de support liée au contenu principal.
  • contentinfo : Définit un pied de page contenant des informations d'identification.
  • definition : Indique que l'élément est une définition d'un terme ou concept.
  • directory : Pour une liste de références aux membres d'un groupe.
  • document : Pour le contenu focalisable dans des widgets composites complexes.
  • feed : Pour une liste dynamique et défilable d'articles.
  • figure : Identifie une figure dans le contenu de la page.
  • form : Identifie un groupe d'éléments fournissant une fonctionnalité équivalente à un formulaire HTML.
  • generic : Crée un élément conteneur sans nom et sans signification sémantique.
  • group : Identifie un ensemble d'objets d'interface utilisateur.
  • heading : Définit un élément comme en-tête d'une page ou d'une section.
  • img : Identifie plusieurs éléments comme une seule image.
  • list : Identifie une liste d'éléments.
  • listitem : Identifie un élément à l'intérieur d'une liste.
  • log : Identifie un élément qui crée une région dynamique où de nouvelles informations sont ajoutées.
  • main : Indique le contenu principal d'un document.
  • mark : Dénote un contenu marqué ou mis en évidence.
  • marquee : Pour une région dynamique contenant des informations non essentielles qui changent fréquemment.
  • math : Indique que le contenu représente une expression mathématique.
  • meter : Identifie un élément utilisé comme compteur.
  • navigation : Identifie les groupes principaux de liens utilisés pour la navigation.
  • none : Synonyme du rôle "presentation".
  • note : Suggère une section dont le contenu est parenthétique ou accessoire.
  • presentation : Supprime la sémantique ARIA implicite d'un élément.
  • region : Identifie les zones du document jugées importantes par l'auteur.
  • search : Identifie la fonctionnalité de recherche.
  • status : Définit une région dynamique contenant des informations consultatives pour l'utilisateur.
  • suggestion : Dénote une modification proposée à un document modifiable.

Rôles de widgets

  • button : Pour les éléments cliquables déclenchant une réponse.
  • checkbox : Pour les contrôles interactifs cochables.
  • combobox : Identifie un élément comme une entrée contrôlant un autre élément.
  • gridcell : Utilisé pour créer une cellule dans une grille ou un treegrid.
  • link : Fournit une référence interactive à une ressource.
  • menuitem : Indique que l'élément est une option dans un ensemble de choix.
  • menuitemcheckbox : Un menuitem avec un état cochable.
  • menuitemradio : Un menuitem cochable dans un ensemble d'éléments.
  • option : Utilisé pour les éléments sélectionnables dans une listbox.
  • progressbar : Définit un élément qui affiche l'état d'avancement des tâches.
  • radio : Un bouton radio dans un groupe de boutons radio.
  • scrollbar : Un objet graphique qui contrôle le défilement du contenu.
  • searchbox : Indique un élément de type textbox destiné à spécifier des critères de recherche.
  • separator : Indique un élément qui sépare et distingue des sections de contenu.
  • slider : Définit une entrée où l'utilisateur sélectionne une valeur dans une plage donnée.
  • spinbutton : Définit un type de plage où l'utilisateur sélectionne une valeur parmi des choix discrets.
  • switch : Fonctionnellement identique au rôle checkbox, mais représente les états "on" et "off".
  • tab : Indique un élément interactif à l'intérieur d'un tablist.
  • tabpanel : Un conteneur pour le contenu associé à un onglet.
  • textbox : Identifie un élément permettant la saisie de texte libre.
  • toolbar : Définit l'élément contenant comme une collection de boutons ou de contrôles fréquemment utilisés.
  • tooltip : Une bulle de texte contextuelle qui affiche une description pour un élément.

Rôles composites

  • grid : Pour un widget contenant une ou plusieurs rangées de cellules.
  • listbox : Utilisé pour les listes à partir desquelles un utilisateur peut sélectionner un ou plusieurs éléments.
  • menu : Un type de widget composite qui offre une liste de choix à l'utilisateur.
  • menubar : Une présentation de menu qui reste généralement visible.
  • radiogroup : Un groupe de boutons radio.
  • tablist : Identifie l'élément qui sert de conteneur pour un ensemble d'onglets.
  • tree : Un widget permettant à l'utilisateur de sélectionner un ou plusieurs éléments dans une collection organisée hiérarchiquement.
  • treegrid : Identifie un élément comme étant une grille dont les lignes peuvent être développées et réduites.

Rôles de structure de document

  • cell : Identifie un élément comme étant une cellule dans un conteneur tabulaire.
  • columnheader : Identifie un élément comme étant une cellule contenant des informations d'en-tête pour une colonne.
  • row : Une rangée de cellules dans une structure tabulaire.
  • rowgroup : Un groupe de rangées dans une structure tabulaire.
  • rowheader : Une cellule contenant des informations d'en-tête pour une rangée.
  • table : Identifie l'élément comme ayant une structure de tableau non interactive.

Rôles de repère

  • banner : Pour définir l'en-tête global d'un site.
  • complementary : Désigne une section de support liée au contenu principal.
  • contentinfo : Définit un pied de page contenant des informations d'identification.
  • form : Identifie un groupe d'éléments fournissant une fonctionnalité équivalente à un formulaire HTML.
  • main : Indique le contenu principal d'un document.
  • navigation : Identifie les groupes principaux de liens utilisés pour la navigation.
  • region : Identifie les zones du document jugées importantes par l'auteur.
  • search : Identifie la fonctionnalité de recherche.

Rôles de région dynamique

  • alert : Pour les informations importantes et généralement urgentes.
  • log : Identifie un élément qui crée une région dynamique où de nouvelles informations sont ajoutées.
  • marquee : Pour une région dynamique contenant des informations non essentielles qui changent fréquemment.
  • status : Définit une région dynamique contenant des informations consultatives pour l'utilisateur.
  • timer : Indique un compteur numérique listant le temps écoulé ou restant.

Rôles abstraits

  • command : Définit un widget qui effectue une action mais ne reçoit pas de données d'entrée.
  • composite : Indique un widget qui peut contenir des descendants navigables ou des enfants possédés.
  • input : Un rôle générique pour les widgets permettant la saisie utilisateur.
  • landmark : Un sous-section importante d'une page.
  • range : Un rôle générique représentant une plage de valeurs.
  • roletype : Le rôle de base dont tous les autres rôles ARIA héritent.
  • section : Un rôle superclasse pour les composants de confinement structurel rendables.
  • sectionhead : Un rôle superclasse pour les étiquettes ou résumés du sujet de sa section associée.
  • select : Un rôle superclasse pour les widgets de formulaire permettant à l'utilisateur de faire des sélections.
  • structure : Pour les éléments structurels du document.
  • widget : Un composant interactif d'une interface graphique utilisateur.
  • window : Définit une fenêtre de navigateur ou d'application.

Détails de role important en ARIA

role="banner"

Utilisation : Pour identifier l'en-tête principal d'une page, généralement contenant le logo et la navigation principale.

Quand l'utiliser : Sur l'élément <header> principal de la page. Ne pas utiliser sur des en-têtes de sections.

role="main"

Utilisation : Identifie le contenu principal de la page.

Quand l'utiliser : Sur l'élément <main> ou sur le conteneur principal du contenu. Une seule utilisation par page.

role="navigation"

Utilisation : Pour les sections contenant des liens de navigation.

Quand l'utiliser : Sur les éléments <nav> ou les conteneurs de menus de navigation.

role="complementary"

Utilisation : Pour du contenu qui complète le contenu principal mais reste significatif seul.

Quand l'utiliser : Typiquement sur les <aside> ou les barres latérales.

role="contentinfo"

Utilisation : Pour les informations sur le document (droits d'auteur, liens connexes).

Quand l'utiliser : Généralement sur le <footer> principal de la page.


Rôles de structure de contenu

role="article"

Utilisation : Pour un contenu autonome et indépendant.

Quand l'utiliser : Sur les éléments <article> ou pour des sections de contenu pouvant être distribuées indépendamment.

role="section"

Utilisation : Pour grouper du contenu thématique.

Quand l'utiliser : Sur les éléments <section> ou pour diviser le contenu en parties distinctes.

role="list" et role="listitem"

Utilisation : Pour identifier une liste et ses éléments.

Quand l'utiliser : Uniquement si vous ne pouvez pas utiliser les balises <ul>, <ol> et <li> natives.


Rôles interactifs

role="button"

Utilisation : Pour les éléments cliquables qui déclenchent une action.

Quand l'utiliser : Sur des éléments non-boutons (comme <div> ou <span>) stylisés en boutons. Préférer la balise <button> native quand possible.

Utilisation : Pour les éléments cliquables qui mènent à une autre page ou ressource.

Quand l'utiliser : Sur des éléments non-liens stylisés en liens. Préférer la balise <a> native quand possible.

role="checkbox" et role="radio"

Utilisation : Pour les éléments de formulaire à cocher ou les boutons radio.

Quand l'utiliser : Sur des éléments personnalisés remplaçant les <input type="checkbox"> ou <input type="radio"> natifs.

role="tablist", role="tab", et role="tabpanel"

Utilisation : Pour créer une interface à onglets.

Quand l'utiliser : Sur les conteneurs d'onglets, les onglets individuels et les panneaux de contenu associés.


Rôles de structure de données

role="table", role="row", role="cell"

Utilisation : Pour structurer des données tabulaires.

Quand l'utiliser : Uniquement si vous ne pouvez pas utiliser les balises <table>, <tr>, <td> natives.

role="grid"

Utilisation : Pour des grilles de données interactives.

Quand l'utiliser : Sur des tableaux complexes avec fonctionnalités interactives (tri, filtrage, etc.).


Conseils généraux d'utilisation

  • Utilisez toujours les éléments HTML sémantiques natifs quand ils sont disponibles.
  • N'utilisez les rôles ARIA que lorsque la sémantique HTML native ne suffit pas.
  • Assurez-vous que l'utilisation des rôles est cohérente avec le comportement et l'apparence de l'élément.
  • Testez toujours l'accessibilité avec des lecteurs d'écran pour vérifier l'efficacité de vos rôles ARIA.