Les six balises de titre HTML
HTML a six niveaux de titres, de <h1> à <h6>. <h1> est le niveau le plus haut (le titre de la page) et <h6> le plus bas. Les navigateurs affichent chaque niveau plus petit que le précédent, tous en gras, chacun sur sa propre ligne :
| Balise | Taille par défaut | Avec un texte de 16px |
|---|---|---|
<h1> | 2em | 32px |
<h2> | 1.5em | 24px |
<h3> | 1.17em | 18.72px |
<h4> | 1em | 16px |
<h5> | 0.83em | 13.28px |
<h6> | 0.67em | 10.72px |
<h5> et <h6> sont plus petits que le texte normal par défaut, ce qui surprend. La taille n'est qu'une valeur par défaut, et les sections suivantes montrent pourquoi il ne faut jamais choisir le niveau d'après la taille.
Les titres forment le plan de la page
Les titres ne sont pas de la décoration. Ensemble, ils forment le plan de la page, comme la table des matières d'un livre. Les utilisateurs de lecteurs d'écran sautent de titre en titre pour trouver ce qu'ils cherchent, et les moteurs de recherche les lisent pour comprendre les sujets de la page.
La règle est simple : un <h1> pour le titre de la page, un <h2> pour chaque section principale, un <h3> pour les sous-sections d'un <h2>, et ainsi de suite, sans sauter de niveau. Cet exemple construit une table des matières à partir des titres, de la même façon que les outils d'assistance les voient :
Changez le deuxième <h3> en <h5> et le plan montre un trou : un lecteur qui navigue par les titres se demanderait où est passé h4.
Changer la taille d'un titre
Choisissez le niveau selon la position dans le plan, puis réglez l'apparence en CSS. Le titre d'une barre latérale peut devoir être un <h2> tout en paraissant petit ; le titre d'une bannière d'accueil peut être un <h1> très grand :
L'inverse vaut aussi : n'utilisez pas une balise de titre juste pour rendre un texte grand ou gras. Pour des mots en gras dans une phrase, utilisez <strong>, et pour un grand texte qui n'est pas un titre, un <p> avec une classe. Voir le gras pour les balises de texte.
Sous-titres et accroches
Un sous-titre placé juste sous un titre n'est généralement pas un titre lui-même : il ne commence pas de nouvelle section. Utilisez un paragraphe, et regroupez les deux avec <hgroup> si vous voulez :
Le plan reste propre (un h1, puis des sections h2), et l'accroche reste visuellement collée au titre.
Faire un lien vers un titre
Donnez un id à un titre et tout lien avec #id dans son href y mène directement. C'est ainsi que fonctionnent les tables des matières et les boutons « copier le lien de la section » :
Erreurs fréquentes
- Choisir le niveau pour sa taille. Choisissez selon la position dans le plan, puis stylisez en CSS.
- Sauter des niveaux. Passer directement de
<h2>à<h4>casse la navigation des utilisateurs de lecteurs d'écran. - Des titres pour mettre en valeur. Une ligne en gras dans un paragraphe est un
<strong>, pas un<h4>. - Pas de
<h1>, ou un logo comme seul<h1>. Le<h1>doit nommer le contenu de la page, comme le titre de l'article ou du produit. - Des titres vides. Un titre qui ne contient qu'une icône ou rien du tout est annoncé comme vide. Mettez-y du vrai texte.
Questions fréquentes
Combien y a-t-il de balises de titre en HTML ?
Six : <h1>, <h2>, <h3>, <h4>, <h5> et <h6>. <h1> est le plus important (le titre de la page) et <h6> le moins important. Il n'existe pas de <h7> ; une telle balise est traitée comme un élément inline inconnu.
Quelles sont les tailles par défaut des titres HTML ?
Avec un texte par défaut de 16px, les navigateurs affichent h1 à 32px (2em), h2 à 24px (1.5em), h3 à 18.72px (1.17em), h4 à 16px (1em), h5 à 13.28px (0.83em) et h6 à 10.72px (0.67em), tous en gras.
Peut-on avoir plusieurs h1 sur une page ?
HTML l'autorise, mais un seul <h1> qui nomme la page est la structure la plus claire pour les utilisateurs de lecteurs d'écran et les moteurs de recherche. Utilisez <h2> pour les sections principales en dessous.
Peut-on sauter des niveaux de titre, par exemple de h2 à h4 ?
Évitez-le. Les utilisateurs de lecteurs d'écran naviguent par niveau de titre, et un saut de h2 à h4 laisse penser qu'une section manque. Choisissez le niveau selon la position dans le plan et changez la taille en CSS.
Comment changer la taille d'un titre ?
Définissez font-size en CSS, par exemple h2 { font-size: 20px; } ou une classe sur un titre. Ne choisissez jamais un niveau de titre pour sa taille par défaut.