Sémantique HTML : maîtriser section, aside, nav et main
Découvre comment utiliser correctement les balises sémantiques HTML pour structurer tes pages web.
Découvre comment utiliser correctement les balises sémantiques HTML pour structurer tes pages web.
Le HTML sémantique n’est pas juste un mot à la mode : c’est la façon dont tu racontes ton contenu à ton site et aux moteurs de recherche.
Pense à ton site comme à un livre : chaque chapitre, encadré et note de bas de page a son rôle. Les balises sémantiques sont les chapitres, les sections et les notes de bas de page de ton site. Sans elles, le lecteur (humain ou machine) se perd, et ton contenu perd en clarté et accessibilité.
Encadré : "Pourquoi c’est important ?" Un HTML sémantique améliore le référencement, l’accessibilité, et facilite la maintenance de ton site à long terme.
Une balise sémantique décrit le rôle ou le type de contenu qu’elle contient, contrairement aux balises génériques comme <div> ou <span>.
Exemples de balises sémantiques importantes :
| Balise | Usage principal |
|---|---|
<header> | Contenu introductif d’une page ou section |
<nav> | Navigation principale ou secondaire |
<main> | Contenu principal unique |
<section> | Section thématique de contenu |
<article> | Contenu autonome et indépendant |
<aside> | Contenu complémentaire ou secondaire |
<footer> | Pied de page d’une page ou section |
<figure> | Contenu multimédia avec légende |
<figcaption> | Légende pour <figure> |
<picture> | Image adaptative selon contexte/resolution |
<section>
<h2>Présentation</h2>
<p>Ce paragraphe explique le thème de la section.</p>
</section>
<section> : section thématique du site<h2> : titre de la section<p> : contenu de la sectionLe saviez-tu ? Utiliser des balises sémantiques améliore la compatibilité avec les lecteurs d’écran pour malvoyants.
<main> : le cœur de ta page<main>
<article>
<h1>Mon article principal</h1>
<p>Le contenu central de ma page web.</p>
</article>
</main>
<main> par page💡 Astuce : <main> doit être exclusif au contenu central, évite de l’utiliser pour des sidebars ou footers.
<nav> : guide tes visiteurs<nav>
<ul>
<li><a href="#accueil">Accueil</a></li>
<li><a href="#blog">Blog</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<a>) organisés en listeEncadré : Le saviez-tu ?
Les moteurs de recherche identifient <nav> pour extraire automatiquement les menus et générer des snippets ou tables des matières.
<section> : organiser le contenu<section>
<h2>Présentation de l’équipe</h2>
<p>Chaque section doit avoir un thème clair.</p>
</section>
<h2> ou <h3><aside> : contenu secondaire ou complémentaire<aside>
<h3>Conseils du jour</h3>
<p>Astuce : utilise les balises sémantiques pour mieux organiser ton site.</p>
</aside>
<figure> et <figcaption> : médias intelligents<figure>
<img src="chat.png" alt="Chat mignon">
<figcaption>Photo d’un chat pour illustrer l’exemple</figcaption>
</figure>
<figure> contient un média (image, vidéo, SVG…)<figcaption> fournit une légende explicative<picture> : images adaptatives<picture>
<source media="(min-width:800px)" srcset="grand-chat.png">
<source media="(max-width:799px)" srcset="petit-chat.png">
<img src="chat.png" alt="Chat mignon">
</picture>
<picture> permet de charger l’image adaptée à l’écran<source> avec conditions CSS media<img> de fallback obligatoire💡 Astuce : Idéal pour sites responsive et optimisation SEO via images adaptées.
Objectif : Créer une page blog accessible et structurée
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Blog Sémantique</title>
</head>
<body>
<header>
<h1>Mon blog sur HTML sémantique</h1>
<nav>
<ul>
<li><a href="#article1">Article 1</a></>
Article 2
Introduction au HTML sémantique
Cette section explique les balises principales.
Exemple de structure sémantique
Exemples avancés
On explore l’usage de aside et picture pour enrichir la page.
Astuce : le contenu secondaire doit rester clair et non essentiel.
© 2025 Blog HTML
⚠️ Les erreurs fréquentes :
| Erreur | Conséquence | Solution |
|---|---|---|
Plusieurs <main> | Contenu confus pour lecteurs | Un seul <main> par page |
<section> sans titre | SEO et accessibilité faibles | Toujours inclure un <h2> ou <h3> |
<aside> contenant info principale | Confusion sur priorité du contenu | Utiliser <section> pour contenu principal |
💡 Astuce du jour :
Une page bien structurée avec <header>, <main>, <section>, <aside> et <footer> est lisible par tout le monde, humain ou machine.
<header>
<h1>Portfolio de Jane Doe</h1>
<nav>
<a href="#projets">Projets</a>
<a href="#contact">Contact</a>
</nav>
</header>
<main>
<section id="projets">
<h2>Mes projets récents</h2>
<article>
<h3>Site web HTML5</h3>
<p>Un projet structuré avec sémantique et accessibilité.</p>
</article>
<article>
<>Portfolio CSS
Mise en page responsive et balises sémantiques.
Infos complémentaires
Liste de compétences et certifications.
Contact : jane@example.com
<article> pour chaque projet autonome<aside> pour infos secondaires<nav>Crée un mini-site personnel de 2 pages avec :
<section><picture><header>
<h1>Mon site perso</h1>
<nav>
<ul>
<li><a href="#accueil">Accueil</a></li>
<li><a href="#portfolio">Portfolio</a></li>
</ul>
</nav>
</header>
<main>
<section id="accueil">
<h2>Bienvenue</h2>
<p>Introduction à mon site.</p>
Image illustrant l’accueil
Mes projets
Site HTML5
Exemple de projet sémantique.
Infos secondaires sur mes compétences.
Contact : moi@example.com
<article>, <aside>, <section> et <figure>Et si tu essayais… ?
<nav> et contenu principal <main><picture>