Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

ARIA : rôle navigation

Le rôle navigation sert à identifier les principaux groupes de liens utilisés pour naviguer dans le contenu d'un site web ou d'une page.

html
<div role="navigation" aria-label="Principal">
  <!-- liste de liens vers les principales sections du site -->
</div>

Il s'agit de la navigation principale d'un site web.

Description

Le rôle navigation est un rôle de repère. Les rôles de repère permettent d'identifier l'organisation et la structure d'une page web. En classant et en étiquetant les sections d'une page, l'information structurelle transmise visuellement par la mise en page est aussi représentée de façon programmatique. Les lecteurs d'écran utilisent les rôles de repère pour permettre la navigation au clavier vers les sections importantes d'une page. Comme l'élément HTML <nav>, les repères de navigation permettent d'identifier des groupes (par exemple des listes) de liens destinés à la navigation dans le contenu d'un site ou d'une page. Si une page comporte plusieurs repères de navigation, chacun doit avoir un label unique. Si deux repères de navigation sur une même page contiennent le même ensemble de liens, utilisez le même label pour chacun.

Il est préférable d'utiliser l'élément HTML <nav> pour définir un repère de navigation. Si l'élément nav n'est pas utilisé, ajoutez l'attribut role="navigation" pour définir un repère de navigation.

Note : L'utilisation de l'élément <nav> indique automatiquement qu'une section a le rôle navigation. Il est toujours préférable d'utiliser l'élément HTML sémantique approprié plutôt que d'ajouter ARIA.

Propriétés et rôles WAI-ARIA associés

aria-label

Brève description de la fonction de la navigation, sans inclure le terme « navigation », car le lecteur d'écran annoncera à la fois le rôle et le contenu du label.

Interactions au clavier

Aucune.

Fonctionnalités JavaScript requises

Aucune.

Exemples

html
<div role="navigation" aria-label="Service client">
  <ul>
    <li><a href="#">Aide</a></li>
    <li><a href="#">Suivi de commande</a></li>
    <li><a href="#">Expédition &amp; Livraison</a></li>
    <li><a href="#">Retours</a></li>
    <li><a href="#">Contactez-nous</a></li>
    <li><a href="#">Trouver un magasin</a></li>
  </ul>
</div>

Problèmes d'accessibilité

Les rôles de repère doivent être utilisés avec parcimonie, pour identifier les grandes sections du document. Utiliser trop de rôles de repère peut créer du « bruit » pour les lecteurs d'écran, rendant la compréhension de la structure globale de la page plus difficile.

Bonnes pratiques

Préférez HTML

L'utilisation de l'élément <nav> indique automatiquement qu'une section a le rôle navigation. Utilisez-le dès que possible.

Étiqueter les repères

Repères multiples

S'il y a plusieurs repères de navigation (role="navigation" ou <nav>) dans un document, fournissez un label pour chaque repère. Ce label permet à l'utilisateur·ice de technologies d'assistance de comprendre rapidement la fonction de chaque repère.

html
<div id="main-nav" role="navigation" aria-label="Principal">
  <!-- contenu -->
</div>

…

<nav id="footer-nav" aria-label="Pied de page">
  <!-- contenu -->
</nav>

Repères répétés

Si un repère de navigation (role="navigation" ou <nav>) est répété dans un document et que les deux repères ont un contenu identique, utilisez le même label pour chaque repère. Par exemple, la navigation principale répétée en haut et en bas de la page.

html
<header>
  <nav id="main-nav" aria-label="Principal">
    <!-- liste de liens vers les principales sections du site -->
  </nav>
</header>

…

<footer>
  <nav id="footer-nav" aria-label="Principal">
    <!-- liste de liens vers les principales sections du site -->
  </nav>
</footer>

Descriptions redondantes

Les lecteurs d'écran annoncent le type de rôle du repère. Il n'est donc pas nécessaire de décrire le type de repère dans le label. Par exemple, une déclaration role="navigation" avec aria-label="Navigation principale" peut être annoncée de façon redondante comme « navigation principale navigation ».

Spécifications

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# navigation
Unknown specification

Voir aussi