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

Les ancres et la navigation dans la page

Les ancres et la navigation dans la page

En bref
  • 1Les ancres permettent de créer des liens vers des sections spécifiques d'une même page HTML
  • 2On utilise l'attribut 'id' pour définir une ancre et '#nom-ancre' pour créer le lien
  • 3Les ancres améliorent l'expérience utilisateur en facilitant la navigation dans les longs documents

Introduction

Imaginez que vous consultez un long article de blog ou une documentation technique. Vous souhaitez accéder rapidement à une section spécifique sans avoir à faire défiler toute la page. C'est exactement ce que permettent les ancres HTML !

Qu'est-ce qu'une ancre HTML ?

Une ancre (ou anchor en anglais) est un point de référence dans une page HTML qui peut être ciblé par un lien. Elle permet de créer des liens internes qui dirigent l'utilisateur vers une section précise de la même page.

Fonctionnement des ancres

Chargement du diagramme...

Création d'une ancre : l'attribut id

Pour créer une ancre, vous devez ajouter l'attribut id à n'importe quel élément HTML. Cet id doit être unique dans toute la page.

Syntaxe de base

html
1<!-- Définition de l'ancre -->
2<h2 id="section-introduction">Introduction au projet</h2>
3
4<!-- Création du lien vers l'ancre -->
5<a href="#section-introduction">Aller à l'introduction</a>

💡 À retenir : L'attribut id doit être unique dans la page et ne doit contenir que des lettres, chiffres, tirets et underscores.

Exemples pratiques

Voici un exemple complet d'une page avec plusieurs ancres :

html
1<!DOCTYPE html>
2<html lang="fr">
3<head>
4    <meta charset="UTF-8">
5    <title>Guide complet</title>
6</head>
7<body>
8    <!-- Sommaire avec liens ancres -->
9    <nav>
10        <h2>Sommaire</h2>
11        <ul>
12            <li><a href="#chapitre-1">Chapitre 1 : Les bases</a></li>
13            <li><a href="#chapitre-2">Chapitre 2 : Techniques avancées</a></li>
14            <li><a href="#conclusion">Conclusion</a></li>
15        </ul>
16    </nav>
17
18    <!-- Contenu avec ancres -->
19    <main>
20        <section>
21            <h2 id="chapitre-1">Chapitre 1 : Les bases</h2>
22            <p>Contenu du premier chapitre...</p>
23            
24            <!-- Sous-section avec ancre -->
25            <h3 id="bases-html">Les bases HTML</h3>
26            <p>Explication détaillée...</p>
27        </section>
28
29        <section>
30            <h2 id="chapitre-2">Chapitre 2 : Techniques avancées</h2>
31            <p>Contenu du deuxième chapitre...</p>
32        </section>
33
34        <section>
35            <h2 id="conclusion">Conclusion</h2>
36            <p>Résumé et perspectives...</p>
37        </section>
38    </main>
39
40    <!-- Lien pour remonter en haut -->
41    <a href="#top">↑ Retour en haut</a>
42</body>
43</html>

Types d'ancres et cas d'usage

Type d'ancreUtilisationExemple
Titres de sectionNavigation dans un long article<h2 id="methodes">Méthodes</h2>
Paragraphes spécifiquesRéférencer un point précis<p id="point-important">...</p>
Éléments de listeFAQ ou glossaire<dt id="terme-1">Définition</dt>
Images ou figuresRéférencer des visuels<figure id="graphique-1">...</figure>
FormulairesAccès direct aux sections<form id="contact">...</form>

⚠️ Attention : Évitez les espaces dans les id. Utilisez des tirets ou des underscores : mon-ancre ou mon_ancre.

Techniques avancées

Lien vers le haut de page

Pour créer un lien qui ramène en haut de page, vous pouvez utiliser plusieurs méthodes :

html
1<!-- Méthode 1 : Ancre vide -->
2<a href="#">Retour en haut</a>
3
4<!-- Méthode 2 : Ancre spécifique -->
5<a href="#top">Retour en haut</a>
6<body id="top">
7
8<!-- Méthode 3 : Ancre sur l'élément html -->
9<a href="#haut-page">Retour en haut</a>
10<html id="haut-page">

Pour améliorer l'expérience utilisateur, vous pouvez ajouter un défilement fluide :

css
1/* CSS pour un défilement fluide */
2html {
3    scroll-behavior: smooth;
4}
5
6/* Style pour les ancres ciblées */
7:target {
8    background-color: #fffacd;
9    padding: 10px;
10    border-left: 4px solid #007acc;
11}

Le saviez-vous ?

Le symbole '#' dans les URLs s'appelle un 'fragment identifier' et existe depuis les premiers navigateurs web dans les années 1990. Il était initialement conçu pour les documents académiques longs !

Spécifications HTML du W3C

Bonnes pratiques

🎯 En pratique : Utilisez des noms d'ancres descriptifs et cohérents

Conventions de nommage

html
1<!-- ✅ BIEN : Noms descriptifs et cohérents -->
2<h2 id="installation-logiciel">Installation du logiciel</h2>
3<h2 id="configuration-serveur">Configuration du serveur</h2>
4<h2 id="resolution-problemes">Résolution des problèmes</h2>
5
6<!-- ❌ ÉVITER : Noms peu descriptifs -->
7<h2 id="section1">Installation du logiciel</h2>
8<h2 id="part2">Configuration du serveur</h2>
9<h2 id="item3">Résolution des problèmes</h2>

Accessibilité et référencement

Les ancres améliorent l'accessibilité et le référencement :

  • Les lecteurs d'écran peuvent naviguer facilement
  • Les moteurs de recherche comprennent mieux la structure
  • Les utilisateurs peuvent partager des liens vers des sections précises
html
1<!-- Exemple accessible -->
2<nav aria-label="Sommaire de l'article">
3    <h2>Navigation rapide</h2>
4    <ul>
5        <li><a href="#introduction" aria-describedby="intro-desc">
6            Introduction
7        </a></li>
8        <li><a href="#methodologie" aria-describedby="method-desc">
9            Méthodologie
10        </a></li>
11    </ul>
12</nav>

Ancres et URL complètes

Vous pouvez aussi créer des liens vers des ancres d'autres pages :

html
1<!-- Lien vers une ancre d'une autre page -->
2<a href="autre-page.html#section-importante">
3    Voir la section importante
4</a>
5
6<!-- Lien vers une ancre d'un autre site -->
7<a href="https://example.com/guide.html#chapitre-3">
8    Chapitre 3 du guide externe
9</a>

💡 À retenir : Les ancres sont un outil puissant pour améliorer la navigation et l'expérience utilisateur, surtout sur les pages longues.

Points clés à retenir

Les ancres HTML sont essentielles pour créer une navigation fluide et intuitive. Elles transforment de longs documents en ressources facilement consultables et améliorent significativement l'expérience utilisateur.

⚠️ Attention : Testez toujours vos ancres sur différents navigateurs et appareils pour vous assurer qu'elles fonctionnent correctement.