Frontend Academy · Leçon

HTML5 sémantique : éléments sémantiques ou soupe de div

Remplacez les div d’encapsulation sans signification par des éléments sémantiques et comprenez l’algorithme du plan du document ainsi que la hiérarchie des titres.

Leçon 3 sur 413 étapes

HTML5 sémantique : éléments sémantiques ou soupe de div est une leçon Frontend Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.

La soupe de div — Le problème

La soupe de div est une page construite entièrement avec des éléments <div> et <span>. Elle nécessite des noms de classe pour communiquer sa structure, ne peut pas être comprise par les lecteurs d’écran sans ces classes et ne transmet aucun sens aux moteurs de recherche.

<!-- Div soup (avoid) -->
<div class="container">
  <div class="header">
    <div class="logo">...</div>
    <div class="nav">...</div>
  </div>
  <div class="content">...</div>
  <div class="footer">...</div>
</div>

L’alternative sémantique

Remplacez les divs dépourvues de sens par des éléments sémantiques qui communiquent leur fonction. La structure s’explique désormais d’elle-même et reste compréhensible sans aucun CSS.

<!-- Semantic HTML (preferred) -->
<body>
  <header>
    <a href="/"><img src="logo.svg" alt="Brand"></a>
    <nav>...</nav>
  </header>
  <main>...</main>
  <footer>...</footer>
</body>

L’algorithme de structure du document

Les éléments de titre (h1-h6) créent une structure de document. Les utilisateurs de lecteurs d’écran naviguent à l’aide des titres. Les technologies d’assistance annoncent le niveau hiérarchique. Conservez une hiérarchie logique : h1 pour le titre de la page, h2 pour les sections principales et h3 pour les sous-sections.

&lt;time&gt; — Dates lisibles par machine

L’élément <time> balise les dates et les heures au moyen d’un attribut datetime lisible par machine. Les moteurs de recherche comprennent les dates des événements et les lecteurs d’écran peuvent annoncer les dates mises en forme.

<p>Published on <time datetime="2025-06-15">June 15, 2025</time></p>
<time datetime="2025-06-15T14:30">2:30 PM</time>

&lt;address&gt;

L’élément <address> contient les coordonnées de contact de l’article le plus proche ou du document. Il ne s’agit pas nécessairement d’une adresse postale : une adresse e-mail, un numéro de téléphone ou un identifiant de réseau social conviennent également.

<address>
  <a href="mailto:hello@coddy.app">hello@coddy.app</a><br>
  <a href="https://twitter.com/coddykit">@coddykit</a>
</address>

&lt;figure&gt; et &lt;figcaption&gt;

<figure> contient du contenu autonome tel que des images, des graphiques, des exemples de code ou des vidéos. <figcaption> fournit une légende sémantiquement associée à la figure.

<figure>
  <img src="chart.png" alt="Monthly active users 2025">
  <figcaption>Figure 1: Monthly active users increased 42% in Q4 2025.</figcaption>
</figure>

&lt;blockquote&gt; et &lt;cite&gt;

<blockquote> marque une citation longue. Utilisez l’attribut cite pour indiquer l’URL de la source. L’élément <cite> marque le titre d’une œuvre de création (livre, article ou film).

<blockquote cite="https://developer.mozilla.org">
  <p>HTML is the standard markup language for creating web pages.</p>
  <footer>—<cite>MDN Web Docs</cite></footer>
</blockquote>

&lt;details&gt; et &lt;summary&gt;

L’association <details> + <summary> crée un composant natif d’accordéon ou de divulgation sans JavaScript. Le navigateur gère automatiquement l’ouverture et la fermeture, l’interaction au clavier et l’accessibilité.

<details>
  <summary>What is the refund policy?</summary>
  <p>We offer a 30-day money-back guarantee on all plans.</p>
</details>

&lt;mark&gt; — Texte mis en évidence

<mark> représente un texte mis en évidence à des fins de référence, comme une occurrence dans un résultat de recherche. Cet élément est sémantiquement différent d’un texte simplement coloré en jaune avec du CSS.

<p>Search results for <q>flexbox</q>:</p>
<p>Use <mark>flexbox</mark> for one-dimensional layouts...</p>

&lt;abbr&gt; — Abréviations

Entourez les abréviations et les acronymes avec <abbr> et fournissez le terme complet dans l’attribut title. Les lecteurs d’écran et les navigateurs exposent l’intitulé complet aux utilisateurs au survol.

<abbr title="Cascading Style Sheets">CSS</abbr>
<abbr title="Accessible Rich Internet Applications">ARIA</abbr>

Quand utiliser &lt;div&gt; et &lt;span&gt;

Les deux restent utiles. <div> est le bon choix pour un conteneur de bloc générique sans signification sémantique, comme un conteneur de mise en page ou la racine d’un composant dans React. Utilisez <span> pour les points d’accroche de style en ligne sans signification sémantique.

Vérification rapide

Quel élément HTML crée un composant natif de divulgation réductible sans nécessiter de JavaScript ?

Récapitulatif : HTML5 sémantique

Remplacez la soupe de div par des éléments sémantiques : header, nav, main, article, section, aside, footer. Utilisez time pour les dates, figure/figcaption pour les médias, details/summary pour les accordéons et mark pour les mises en évidence. Réservez div et span aux conteneurs de mise en page sans signification sémantique.

Gratuit pour commencer

Apprends HTML avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
41
Leçons
163

Questions Fréquemment Posées

La leçon « HTML5 sémantique : éléments sémantiques ou soupe de div » est-elle gratuite ?

Oui — le texte complet de « HTML5 sémantique : éléments sémantiques ou soupe de div » 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 « HTML5 sémantique : éléments sémantiques ou soupe de div » ?

Remplacez les div d’encapsulation sans signification par des éléments sémantiques et comprenez l’algorithme du plan du document ainsi que la hiérarchie des titres. 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 3 sur 4.

Combien de temps prend la leçon « HTML5 sémantique : éléments sémantiques ou soupe de div » ?

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

  1. Contrôles de formulaire : types input, select, textarea
  2. ARIA et accessibilité : label, role, aria-*
  3. HTML5 sémantique : éléments sémantiques ou soupe de div
  4. Attributs de validation des formulaires
← Retour à Frontend Academy