Balises sémantiques : header, nav, main, article, footer
Remplacez les div sans signification par des éléments HTML5 sémantiques et comprenez leur utilité pour les navigateurs, les moteurs de recherche et les lecteurs d’écran.
Balises sémantiques : header, nav, main, article, footer est une leçon Frontend Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Frontend Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Frontend Academy comprend 4 leçons au total.
Qu’est-ce que le HTML sémantique ?
Le HTML sémantique utilise des éléments qui décrivent la signification du contenu, et pas seulement son apparence. <article> indique « ceci est un contenu autonome ». Un <div> générique n’indique rien.
Avant la sémantique : la soupe de div
Les premiers développeurs web construisaient leurs mises en page entièrement avec des éléments <div> et <span>. Les lecteurs d’écran ne pouvaient pas distinguer la navigation, le contenu et les publicités. Les moteurs de recherche devaient deviner la structure de la page.
<!-- Old way -->
<div class="header">...</div>
<div class="nav">...</div>
<div class="content">...</div>
<div class="footer">...</div><header> — En-tête du site ou de la section
L’élément <header> contient le contenu introductif de la page ou d’une section : généralement le logo, le nom du site et la navigation. Une page peut comporter plusieurs en-têtes — un pour le site et un par article.
<header>
<a href="/"><img src="logo.svg" alt="CoddyKit"></a>
<nav>...</nav>
</header><nav> — Liens de navigation
Utilisez <nav> pour regrouper des ensembles de liens de navigation : le menu principal, un fil d’Ariane ou une table des matières. Les lecteurs d’écran annoncent les repères de navigation afin que les utilisateurs puissent y accéder directement ou les dépasser.
<nav aria-label="Main navigation">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/courses">Courses</a></li>
<li><a href="/about">About</a></li>
</ul>
</nav><main> — Contenu principal
Une page doit contenir exactement un élément <main>. Il contient le contenu dominant propre à cette page, et non des éléments répétés comme la navigation ou le pied de page. Les technologies d’assistance permettent aux utilisateurs d’accéder directement à main.
<main>
<h1>Learn Frontend Development</h1>
<p>Start your journey here...</p>
</main><article> — Contenu autonome
<article> englobe un contenu qui a du sens en lui-même et pourrait être diffusé ailleurs : un billet de blog, une actualité, un commentaire d’utilisateur ou une fiche produit. Demandez-vous : « Ce contenu aurait-il du sens si je le copiais sur un autre site ? »
<article>
<h2>Introduction to CSS Grid</h2>
<p>CSS Grid revolutionised web layout...</p>
<time datetime="2025-01-15">January 15, 2025</time>
</article><section> — Regroupement thématique
<section> regroupe des contenus associés qui vont ensemble : chapitres, onglets ou domaines thématiques. Chaque section possède généralement un titre. Si le contenu peut être autonome, utilisez plutôt article.
<section>
<h2>Core Technologies</h2>
<p>HTML, CSS, and JavaScript...</p>
</section><aside> — Contenu complémentaire
<aside> contient du contenu lié indirectement au contenu environnant : barres latérales, citations en exergue, publicités ou liens associés. Les lecteurs d’écran le présentent comme un repère complémentaire.
<footer> — Contenu de clôture
<footer> contient des informations sur l’élément qui l’englobe : mentions de droits d’auteur, liens de contact ou documents associés. Comme pour header, une page peut comporter plusieurs pieds de page.
<footer>
<p>© 2025 CoddyKit. All rights reserved.</p>
<nav aria-label="Footer">
<a href="/privacy">Privacy</a>
<a href="/terms">Terms</a>
</nav>
</footer>Hiérarchie des titres : de h1 à h6
Utilisez les titres pour créer une structure logique du document. Une page ne doit contenir qu’un seul <h1>. Les sous-titres utilisent h2, les sous-sous-titres utilisent h3, et ainsi de suite. Ne sautez pas de niveaux et n’utilisez pas les titres uniquement pour leur taille visuelle.
Pourquoi la sémantique est importante pour le SEO et l’accessibilité
Les moteurs de recherche utilisent la structure sémantique pour comprendre le contenu d’une page — une page avec des repères et une hiérarchie de titres appropriés est souvent mieux classée. Les utilisateurs de lecteurs d’écran naviguent à l’aide des repères et des titres, ce qui fait de la sémantique un enjeu direct d’accessibilité.
Vérification rapide
Quel élément doit englober le contenu principal propre à la page et apparaître exactement une fois ?
Récapitulatif : les repères du HTML sémantique
Utilisez <header>, <nav>, <main>, <article>, <section>, <aside> et <footer> pour donner à votre document une structure comprise par les navigateurs, les moteurs de recherche et les lecteurs d’écran.
Questions Fréquemment Posées
La leçon « Balises sémantiques : header, nav, main, article, footer » est-elle gratuite ?
Oui — le texte complet de « Balises sémantiques : header, nav, main, article, footer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Frontend Academy, passe à CoddyKit PRO. Le cours Frontend Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Balises sémantiques : header, nav, main, article, footer » ?
Remplacez les div sans signification par des éléments HTML5 sémantiques et comprenez leur utilité pour les navigateurs, les moteurs de recherche et les lecteurs d’écran. Tu pratiques Frontend Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Frontend Academy ?
Aucune expérience préalable n'est requise. Frontend Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Balises sémantiques : header, nav, main, article, footer » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Frontend Academy ?
Oui. Chaque leçon Frontend Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Structure d’un document : DOCTYPE, html, head, body
- Balises sémantiques : header, nav, main, article, footer
- Texte, images, liens et listes
- Formulaires : input, label, button