Nouveau Components

Barre de navigation

Les menus de navigation répliquent la structure du site web, aidant ainsi les utilisateurs dans leur navigation. Étant donné leur rôle fondamental, les menus sont des composants essentiels tant dans les pages web que dans les applications, nécessitant une attention particulière lors des phases de conception et de développement.

Quand utiliser les menus de navigation

  1. Lorsque le site web comprend plusieurs pages ou sections, une barre de navigation (navbar) devient essentielle pour permettre aux utilisateurs de se déplacer facilement entre elles. Cela peut inclure des pages telles que "Accueil", "À propos", "Blog" et "Contact" par exemple.
  2. Mettre en place une barre de navigation fixe ou "sticky" (qui reste collée en haut de l'écran pendant que les utilisateurs font défiler la page), permet un accès constant aux sections principales. Cette fonctionnalité améliore l'expérience utilisateur globale.
  3. Des menus simples et distincts, avec des états facilement reconnaissables, comme la mise en surbrillance de la page actuelle, bénéficie aux personnes ayant une attention limitée ou une mémoire à court terme. Ils peuvent ainsi mieux se repérer dans la navigation.

Quand ne pas utiliser une barre de navigation

  1. Pour les sites web à une seule page ou "one page", une barre de navigation pourrait ne pas être nécessaire. Envisagez plutôt d'utiliser un menu de défilement qui guide les utilisateurs vers différentes sections de la page.
  2. Pages de destination ou "landing page" : Les pages de destination sont souvent conçues pour restreindre la navigation afin de concentrer l'attention de l'utilisateur sur un contenu spécifique ou des appels à l'action.

Fichiers et ressources Figma

Les concepteurs peuvent importer tous les documents de conception depuis notre référentiel Figma en utilisant le lien fourni ci-dessous. Cela simplifie le processus de conception et garantit un accès facile aux derniers éléments de conception pour un flux de travail plus efficace.

N'hésitez pas à utiliser l'affichage du prototype situé ci-dessous comme un exemple pratique et de démonstration fonctionnelle du composant. Cette représentation interactive sert de guide visuel pour vous aider à comprendre la fonctionnalité et le comportement attendus.

Configuration

Ressources

Écran d’ordinateur

Tablette

Mobile

Prototype

Mots-clés

  • Navigation : Un cadre permettant aux utilisateurs de se déplacer à travers un site web.
  • Menu : Comprend les options ou actions que les utilisateurs peuvent sélectionner.
  • Élément de menu parent : Représente un élément principal dans le menu sous lequel se trouvent des sous-éléments, appelés éléments enfants. Ces éléments peuvent également être considérés comme des éléments de menu de niveau supérieur.
  • Sous-menu : Un ensemble d'éléments de navigation secondaires affichés lorsqu'un utilisateur interagit avec un élément de menu parent.
  • Liste : Un élément qui organise des articles ou des valeurs dans une séquence ordonnée (numérotée) ou non ordonnée (avec des puces).
  • Lien : Permet aux utilisateurs de passer d'un endroit à un autre, soit au sein de la même page web, soit entre différentes pages.

Détail des composants

Identifie une partie de la page comme un repère de navigation. Il existe différents types de navigation (principale, secondaire, fil d'Ariane, latérale), la barre de navigation servant de navigation principale d'un site web.

  1. Identifiez le menu à l'intérieur, idéalement en utilisant la balise HTML5 <nav> pour permettre aux utilisateurs d'accéder directement au menu.
  2. Étiquetez les menus pour les rendre plus faciles à comprendre. Utilisez des étiquettes simples et descriptives pour permettre aux utilisateurs de différencier les différentes navigations. Utilisez l'attribut aria-label pour étiqueter une navigation, par exemple aria-label="Navigation principale".
HTML
<nav id="navigation" role="navigation" aria-label="Navigation principale">
  1. Définissez la structure du menu sous forme de liste. Ce détail structurel permet aux outils d'assistance d'annoncer le nombre d'éléments et de faciliter la navigation.
  2. Utilisez la balise de lien <a> pour définir chaque élément du menu, chacun dirigeant vers une destination spécifique, qu'il s'agisse d'une section de la page ou d'une nouvelle page.
  3. Utilisez un marquage pour indiquer l'élément de menu actuel, comme la page web en cours sur un site, afin d'améliorer la navigation dans le menu. Cette indication doit être accessible à la fois aux utilisateurs visuels et aux technologies d'assistance.
HTML
<ul>
    <li><a href="javascript:void(0);" aria-current="page" class="active">Accueil</a></li>
    <li><a href="javascript:void(0);">Produits</a></li>
    <li><a href="javascript:void(0);">A propos</a></li>
    <li><a href="javascript:void(0);">Contact</a></li>
</ul>

Sous-menu

Les sous-menus apparaissent sous forme de listes déroulantes, offrant un aperçu de la structure des pages d'un site web. Cela évite aux utilisateurs de naviguer jusqu'à la page parente pour saisir la structure de ses pages enfants.

  1. Spécifiez les sous-menus avec des indices visuels et des attributs d'accessibilité pour désigner les éléments de navigation ayant des sous-menus.
    • Un indice visuel, tel qu'une icône de chevron vers le bas, peut mettre en évidence la présence de sous-menus.
    • Utilisez les attributs WAI-ARIA aria-haspopup="true" et aria-expanded="false" pour indiquer qu'un sous-menu est présent et replié. Modifier la valeur de cet attribut à aria-expanded="true" indiquera que le sous-menu est ouvert.
  2. Le sous-menu doit fonctionner à la fois avec la souris et le clavier.
HTML
<li class="has-submenu">
    <a href="javascript:void(0);" aria-haspopup="true" aria-expanded="false">
        Produits
    </a>
    <ul>
        <li><a href="javascript:void(0);">Produit 1</a></li>
        <li><a href="javascript:void(0);">Produit 2</a></li>
    </ul>
</li>

Interagir avec les sous-menus

Les sous-menus doivent rester fermés lors de la navigation dans le menu à l'aide de la touche Tab. Cela empêche les utilisateurs au clavier de devoir naviguer à travers tous les éléments du sous-menu pour atteindre l'élément suivant de niveau supérieur. En revanche, envisagez les approches suivantes :

  1. Utiliser l'élément de menu parent comme bascule :
    • Cette méthode est adaptée lorsque l'élément de menu parent sert simplement à donner un aperçu du sous-menu et n'effectue pas d'action, comme un lien vers une page web.
  2. Utiliser un bouton comme bascule :
    • Lorsque l'élément de menu parent est un lien vers une page web, vous pouvez ajouter un bouton séparé à l'élément parent. Ce bouton peut servir à ouvrir et fermer le sous-menu.
Accordion keyboard navigation function table
Touche Fonction
Tab
  • Lorsque le focus est sur un élément de menu qu'il y ait ou non un sous-menu, déplace le focus vers le lien de l'élément de menu suivant de même niveau .
  • Lorsque le focus est sur un élément de menu avec un sous-menu ouvert, déplace le focus vers le premier lien du sous-menu.
  • Lorsque le focus est sur un élément du sous-menu, déplace le focus vers l'élément suivant du sous-menu.
  • Lorsque le focus est sur le dernier élément du sous-menu :
    • Déplace le focus vers l'élément de menu suivant au niveau supérieur.
    • Ou déplace le focus vers le prochain élément focalisable de la page.
  • Lorsque le focus est sur le dernier élément du menu, déplace le focus vers le prochain élément focalisable de la page.
Shift + Tab
  • Lorsque le focus est sur un élément de menu avec ou sans sous-menu, déplace le focus vers le lien de l'élément de menu précédent de même niveau.
  • Lorsque le focus est sur un élément de menu avec un sous-menu ouvert, déplace le focus vers le premier lien du sous-menu.
  • Lorsque le focus est sur le premier élément du sous-menu, déplace le focus vers l'élément parent du menu.
  • Lorsque le focus est sur le premier élément du menu, déplace le focus vers le premier élément focalisable avant la navigation.
Espace/Entrée
  • Lorsque le focus est sur un élément de menu sans sous-menu, l'activation de cet élément mène à la destination du lien associé.
  • Lorsque le focus est sur un élément de menu avec à la fois un sous-menu et un lien, l'activation de cet élément mène à la destination du lien de l'élément qui a le focus.
  • Lorsque le focus est sur un élément de menu avec un sous-menu mais sans lien, l'activation de cet élément ouvre le sous-menu.
  • Lorsque le focus est sur le bouton qui ouvre un sous-menu, l'activation de ce bouton ouvre le sous-menu correspondant.