Introduction aux balises sémantiques HTML5
Les balises sémantiques HTML5 permettent de donner du sens à la structure d’une page web.
Elles remplacent les anciennes balises génériques comme <div> et
<span> en offrant des éléments plus explicites.
Cela aide les navigateurs, les moteurs de recherche et les technologies d’assistance à mieux
comprendre et analyser le contenu.
Pourquoi utiliser des balises sémantiques ?
- Pour améliorer l’accessibilité (lecteurs d’écran, aides techniques)
- Pour optimiser le référencement naturel (SEO)
- Pour faciliter la maintenance et la lecture du code
Le "Saint-Graal" : header, main, footer
Ces trois balises sont la base de la structure d’une page web moderne :
- <header> : Contient l’en-tête de la page, avec souvent le logo, le titre, et la navigation principale.
- <main> : Contient le contenu principal unique de la page (doit être présent une seule fois).
- <footer> : Contient le pied de page avec les informations de contact, droits d’auteur, liens légaux, etc.
Cette organisation forme la "colonne vertébrale" de la page.
<body>
<header>
<h1>Titre du site</h1>
<nav>...navigation...</nav>
</header>
<main>
<article>
<h2>Article principal</h2>
<p>Texte important ici.</p>
</article>
</main>
<footer>
<p>© 2025 Mon site web</p>
</footer>
</body>
Les balises sémantiques HTML5 principales
Voici un tour d’horizon des balises les plus importantes, avec leur rôle expliqué simplement :
- <article> : Contenu autonome pouvant être distribué ou réutilisé (ex. un article de blog, une news).
- <section> : Regroupe une partie thématique d’une page, par exemple une section d’un article ou une partie distincte.
- <nav> : Contient des liens de navigation vers d’autres pages ou parties de la page.
- <aside> : Contenu complémentaire ou latéral, souvent une barre d’informations, une publicité, ou un encart lié au contenu principal.
- <figure> : Conteneur pour une image ou un média, accompagné d’une
légende (
<figcaption>). - <figcaption> : Légende d’un contenu dans une balise
<figure>. - <details> : Bloc repliable, souvent utilisé pour afficher/cacher du contenu.
- <summary> : Titre visible d’un bloc
<details>, cliquable pour déplier/replier. - <mark> : Pour mettre en surbrillance un texte important.
- <time> : Pour marquer une date ou une heure.
- <header> : En-tête pour une page ou une section (répétable dans différentes sections).
- <footer> : Pied de page pour une page ou une section (répétable).
<article>
<header>
<h2>Titre de l’article</h2>
<time datetime="2025-08-09">9 août 2025</time>
</header>
<p>Contenu principal de l’article...</p>
<figure>
<img src="photo.jpg" alt="Une belle photo">
<figcaption>Une photo prise en été</figcaption>
</figure>
<footer>
<p>Auteur : Jean Dupont</p>
</footer>
</article>
💡 Astuce :
Utilise <section> pour regrouper plusieurs articles ou parties
thématiques. Pour un contenu indépendant, préfère <article>.
Exemple complet : le "Saint-Graal" amélioré avec sémantique complète
Voici un exemple complet avec toutes les balises sémantiques principales pour une page simple :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Exemple page sémantique</title>
</head>
<body>
<header>
<h1>Mon site web</h1>
<nav>
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Articles</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
<main>
<section>
<h2>Derniers articles</h2>
<article>
<header>
<h3>Titre de l’article 1</h3>
<time datetime="2025-08-09">9 août 2025</time>
</header>
<p>Contenu principal de l’article 1.</p>
<footer>Auteur : Jean Dupont</footer>
</article>
<article>
<header>
<h3>Titre de l’article 2</h3>
<time datetime="2025-08-08">8 août 2025</time>
</header>
<p>Contenu principal de l’article 2.</p>
<footer>Auteur : Marie Curie</footer>
</article>
</section>
<aside>
<h2>À propos</h2>
<p>Cette section contient des informations complémentaires, des liens utiles ou des publicités.</p>
</aside>
</main>
<footer>
<p>© 2025 Mon site web - Tous droits réservés</p>
<nav>
<ul>
<li><a href="#">Mentions légales</a></li>
<li><a href="#">Politique de confidentialité</a></li>
</ul>
</nav>
</footer>
</body>
</html>
Autres balises utiles HTML5
Voici quelques autres balises intéressantes pour structurer ou enrichir vos pages :
<details>: Crée un bloc repliable.<summary>: Titre cliquable du bloc<details>.<figure>et<figcaption>: Groupe média + légende.<mark>: Met en surbrillance du texte important.<time>: Marque une date ou une heure.<address>: Contient des informations de contact ou adresse.<progress>et<meter>: Affichent une progression ou une valeur mesurée.<main>: Unique par page, contenu principal.
<details>
<summary>Voir plus d’infos</summary>
<p>Texte caché qui apparaît au clic.</p>
</details>
<figure>
<img src="image.jpg" alt="Exemple">
<figcaption>Légende de l’image</figcaption>
</figure>
<mark>Texte important mis en surbrillance</mark>
<time datetime="2025-08-09">9 août 2025</time>