Lecture libre, sans compteChapitre 3 · Les liens et la navigation

Organisation et structure de navigation

~2 min de lectureLeçon 10 sur 22Apprendre le HTML - Bases solides pour débutants

Organisation et structure de navigation

En bref
  • 1La navigation structurée améliore l'expérience utilisateur et l'accessibilité de votre site web
  • 2Les éléments HTML sémantiques <nav>, <ul>, <ol> permettent de créer des menus clairs et logiques
  • 3Une hiérarchie visuelle cohérente guide naturellement les visiteurs vers les contenus importants

Introduction

La navigation est la colonne vertébrale de tout site web. Elle détermine comment vos visiteurs vont explorer votre contenu et trouver l'information qu'ils recherchent. Une navigation bien organisée, c'est comme un plan de ville clair : elle permet à chacun de se repérer facilement et d'atteindre sa destination sans se perdre.

Structure hiérarchique de navigation

Une navigation efficace suit toujours une structure hiérarchique claire. Voici comment organiser vos éléments de navigation :

Chargement du diagramme...

Types de navigation selon le niveau

NiveauType de navigationUtilisationExemple HTML
PrincipalNavigation horizontaleMenu principal du site<nav> avec <ul>
SecondaireNavigation verticale ou ongletsSous-sections d'une catégorie<nav> imbriqué
LocaleLiens contextuelsNavigation dans une pageLiens <a> simples
UtilitaireLiens d'actionConnexion, panier, rechercheBoutons ou liens spéciaux

Le saviez-vous ?

L'œil humain suit un parcours en forme de 'F' sur une page web : il commence en haut à gauche, puis scanne horizontalement avant de descendre. C'est pourquoi placer la navigation principale en haut est si efficace !

Études d'eye-tracking de Nielsen Norman Group

Création d'un menu de navigation structuré

Structure HTML sémantique

html
1<!-- Navigation principale -->
2<nav aria-label="Navigation principale">
3  <ul class="menu-principal">
4    <li><a href="/" aria-current="page">Accueil</a></li>
5    <li class="dropdown">
6      <a href="/produits" aria-haspopup="true" aria-expanded="false">
7        Produits <span class="arrow"></span>
8      </a>
9      <ul class="sous-menu">
10        <li><a href="/produits/electronique">Électronique</a></li>
11        <li><a href="/produits/vetements">Vêtements</a></li>
12        <li><a href="/produits/maison">Maison & Jardin</a></li>
13      </ul>
14    </li>
15    <li><a href="/services">Services</a></li>
16    <li><a href="/contact">Contact</a></li>
17  </ul>
18</nav>
19
20<!-- Navigation secondaire / fil d'Ariane -->
21<nav aria-label="Fil d'Ariane" class="breadcrumb">
22  <ol>
23    <li><a href="/">Accueil</a></li>
24    <li><a href="/produits">Produits</a></li>
25    <li aria-current="page">Électronique</li>
26  </ol>
27</nav>

Styles CSS pour la navigation

css
1/* Navigation principale */
2.menu-principal {
3  display: flex;
4  list-style: none;
5  margin: 0;
6  padding: 0;
7  background-color: #2c3e50;
8}
9
10.menu-principal li {
11  position: relative;
12}
13
14.menu-principal a {
15  display: block;
16  padding: 15px 20px;
17  color: white;
18  text-decoration: none;
19  transition: background-color 0.3s ease;
20}
21
22.menu-principal a:hover,
23.menu-principal a:focus {
24  background-color: #34495e;
25}
26
27/* Indicateur de page active */
28.menu-principal a[aria-current="page"] {
29  background-color: #e74c3c;
30  font-weight: bold;
31}
32
33/* Sous-menu déroulant */
34.sous-menu {
35  position: absolute;
36  top: 100%;
37  left: 0;
38  background-color: #34495e;
39  min-width: 200px;
40  opacity: 0;
41  visibility: hidden;
42  transition: all 0.3s ease;
43}
44
45.dropdown:hover .sous-menu {
46  opacity: 1;
47  visibility: visible;
48}
49
50/* Fil d'Ariane */
51.breadcrumb ol {
52  display: flex;
53  list-style: none;
54  padding: 10px 0;
55  margin: 0;
56}
57
58.breadcrumb li:not(:last-child)::after {
59  content: " › ";
60  margin: 0 8px;
61  color: #666;
62}

Principes d'organisation efficace

1. Règle des 7±2

💡 À retenir: L'esprit humain peut facilement traiter entre 5 et 9 éléments simultanément. Limitez vos menus principaux à maximum 7 éléments pour une navigation optimale.

2. Groupement logique

Chargement du diagramme...

3. Étiquetage clair

❌ Éviter✅ PréférerPourquoi
"Nos trucs""Nos produits"Plus précis
"Info""À propos"Standard reconnu
"Aide""Support client"Plus descriptif

Attributs ARIA essentiels

html
1<!-- Menu avec sous-navigation -->
2<nav role="navigation" aria-label="Menu principal">
3  <button 
4    aria-haspopup="true" 
5    aria-expanded="false"
6    aria-controls="submenu-1"
7    id="menu-button">
8    Produits
9  </button>
10  <ul id="submenu-1" aria-labelledby="menu-button">
11    <li><a href="/produits/type1">Type 1</a></li>
12    <li><a href="/produits/type2">Type 2</a></li>
13  </ul>
14</nav>
15
16<!-- Navigation responsive -->
17<button 
18  class="menu-toggle"
19  aria-label="Ouvrir le menu de navigation"
20  aria-expanded="false"
21  aria-controls="navigation-mobile">
2223</button>

⚠️ Attention: N'oubliez jamais les utilisateurs qui naviguent au clavier ou avec un lecteur d'écran. Testez votre navigation avec la touche Tab et assurez-vous que tous les éléments sont atteignables.

css
1/* Approche mobile-first */
2.menu-principal {
3  flex-direction: column;
4  display: none;
5}
6
7.menu-principal.is-open {
8  display: flex;
9}
10
11.menu-toggle {
12  display: block;
13  background: none;
14  border: none;
15  font-size: 1.5rem;
16  padding: 10px;
17  cursor: pointer;
18}
19
20/* Version desktop */
21@media (min-width: 768px) {
22  .menu-toggle {
23    display: none;
24  }
25  
26  .menu-principal {
27    flex-direction: row;
28    display: flex;
29  }
30}

Bonnes pratiques à retenir

🎯 En pratique:

  • Cohérence : Gardez la même position et le même style de navigation sur toutes vos pages
  • Feedback visuel : Indiquez clairement où se trouve l'utilisateur avec des états actifs
  • Hiérarchie claire : Utilisez la taille, la couleur et la position pour montrer l'importance
  • Accessibilité : Pensez aux utilisateurs de lecteurs d'écran et navigation clavier

Indicateurs visuels essentiels

css
1/* États des liens de navigation */
2.nav-link {
3  position: relative;
4  transition: all 0.3s ease;
5}
6
7/* État normal */
8.nav-link:link { color: #333; }
9
10/* État visité */
11.nav-link:visited { color: #666; }
12
13/* État au survol */
14.nav-link:hover {
15  color: #007bff;
16  text-decoration: underline;
17}
18
19/* État actif (page courante) */
20.nav-link.active {
21  color: #007bff;
22  font-weight: bold;
23}
24
25/* État focus (navigation clavier) */
26.nav-link:focus {
27  outline: 2px solid #007bff;
28  outline-offset: 2px;
29}

Validation des connaissances

Une navigation bien structurée est la fondation d'une expérience utilisateur réussie. En appliquant ces principes d'organisation et ces techniques HTML/CSS, vous créerez des sites web intuitifs où vos visiteurs se sentiront à l'aise pour explorer votre contenu.