Les en-têtes de tableau (en anglais table headers) HTML per­met­tent d’ajouter de la structure à vos tableaux. La balise HTML <th> met en évidence les colonnes ou les lignes d’un point de vue sé­man­tique et visuel et est donc per­ti­nente pour les uti­li­sa­teurs, les moteurs de recherche et les lecteurs d’écran.

Qu’est-ce que le tag HTML <th> ?

La balise (ou tag) HTML <th> (Table Header) est utilisée pour définir des cellules d’en-tête dans les tableaux HTML. Les cellules ainsi formatées servent d’en-têtes pour les colonnes ou lignes con­cer­nées du tableau et sont gé­né­ra­le­ment en gras et centrées. Si né­ces­saire, l’affichage peut être adapté selon les souhaits via CSS. Les en-têtes de tableau HTML doivent être utilisés à l’intérieur d’une balise <tr> (Table Row), la position dans le tableau ne jouant en principe aucun rôle. En règle générale, l’élément est surtout utilisé dans l’en-tête ou la première colonne d’un tableau pour une meilleure li­si­bi­lité du code HTML.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

Pourquoi les Table Headers HTML sont-ils utiles ?

Les en-têtes de tableau HTML vous aident à struc­tu­rer vos tableaux et à en décrire le contenu. Leur uti­li­sa­tion est utile et re­com­man­dée pour dif­fé­rentes raisons :

  • Or­ga­ni­sa­tion des données : les en-têtes avec le tag HTML <th> aident à présenter les données dans le tableau de manière claire et organisée. Ils donnent aux colonnes ou aux lignes un nom des­crip­tif qui explique le type de données aux­quelles on peut s’attendre.
  • Amé­lio­ra­tion de la li­si­bi­lité : HTML <th> permet aux uti­li­sa­teurs de com­prendre plus fa­ci­le­ment les données énumérées. Les en-têtes vi­suel­le­ment mis en évidence séparent clai­re­ment les dif­fé­rentes ca­té­go­ries ou groupes de données, ce qui facilite la recherche d’in­for­ma­tions spé­ci­fiques.
  • Ac­ces­si­bi­lité : les en-têtes de tableau sont par­ti­cu­liè­re­ment im­por­tants pour l’ac­ces­si­bi­lité. Les lecteurs d’écran utilisent les éléments <th> pour expliquer la structure et le contexte du tableau. Grâce à des attributs sup­plé­men­taires tels que scope ou headers, vous pouvez rendre encore plus claires les données qui ap­par­tien­nent à tel ou tel en-tête.
Conseil

Les en-têtes ne sont qu’un des nombreux moyens de mettre en forme les tableaux en HTML. Dans notre article séparé sur la mise en forme d’un tableau en HTML, nous abordons en détail les pos­si­bi­li­tés dont vous disposez pour adapter vi­suel­le­ment les textes et les champs.

La syntaxe du tag HTML <th> avec un exemple

Pour définir un titre de tableau avec la balise HTML <th>, il suffit d’une balise d’ouverture <th> et d’une balise de fermeture </th>. Le texte souhaité pour l’en-tête se trouve à l’intérieur de ces deux balises. En option, vous pouvez ajouter des attributs à la balise d’in­tro­duc­tion afin de contrôler le com­por­te­ment et l’affichage de l’élément <th>. La syntaxe de base (ici avec des ca­rac­tères de rem­pla­ce­ment pour les attributs) se présente donc comme suit :

<th attribut1="" attribut2="" …>En-tête</th>
html

Les attributs les plus im­por­tants pour les en-têtes de tableaux HTML sont les suivants :

  • scope : indique si l’en-tête se réfère à une colonne (col) ou à une ligne (row).
  • colspan : définit le nombre de colonnes aux­quelles s’applique la cellule d’en-tête.
  • rowspan : définit le nombre de lignes aux­quelles s’applique la cellule d’en-tête.
  • class : indique les noms de classes CSS qui peuvent être utilisées pour définir le style.
  • style : pour du CSS en ligne per­met­tant de per­son­na­li­ser la cellule d’en-tête.

Pour finir, nous il­lus­trons la syntaxe de HTML <th> par un exemple simple. Dans le tableau sont présentés les ca­té­go­ries et les prix pour les trois produits : « Pomme », « Pain » et « Jus ». L’en-tête et la première colonne sont définis en tant qu’en-tête. L’attribut scope permet de définir pour chaque cellule d’en-tête si elle titre une ligne ou une colonne.

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Exemple de tableau HTML</title>
</head>
<body>
<table border="1">
    <caption>Liste des produits et leurs catégories</caption>
    <tr>
        <th scope="col">Produit</th>
        <th scope="col">Catégorie</th>
        <th scope="col">Prix</th>
    </tr>
    <tr>
        <th scope="row">Pomme</th>
        <td>Fruit</td>
        <td>1,50 €</td>
    </tr>
    <tr>
        <th scope="row">Pain</th>
        <td>Boulangerie</td>
        <td>2,00 €</td>
    </tr>
    <tr>
        <th scope="row">Jus</th>
        <td>Boissons</td>
        <td>1,00 €</td>
    </tr>
</table>
</body>
</html>
html

Voici un aperçu du rendu du tableau sur un site Web :

Image: Tableau HTML : exemple d’utilisation du tag HTML th
Voici une re­pré­sen­ta­tion sim­pli­fiée d’un tableau HTML avec des en-têtes, sans ajout de styles CSS.

Com­bi­nai­son avec la balise <caption>

Vous pouvez également donner à un tableau HTML un en-tête qui précède l’ensemble du tableau. Pour cela, il suffit d’insérer un élément <caption> (avec une balise d’ouverture et de fermeture) après avoir lancé le tableau avec <table>. Vous dé­ter­mi­nez la pré­sen­ta­tion et le po­si­tion­ne­ment de cet en-tête à l’aide de CSS. Vous pouvez ainsi placer le texte sous un tableau, par exemple.

Si nous ajoutons à notre exemple de la section pré­cé­dente un titre <caption> « Exemple de tableau pour les produits et les prix », le code cor­res­pon­dant se présente comme suit :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Exemple de tableau HTML</title>
</head>
<body>
<table border="1">
    <caption>Exemple de tableau pour les produits et les prix</caption>
    <tr>
        <th scope="col">Produit</th>
        <th scope="col">Catégorie</th>
        <th scope="col">Prix</th>
    </tr>
    <tr>
        <th scope="row">Pomme</th>
        <td>Fruit</td>
        <td>1,50 €</td>
    </tr>
    <tr>
        <th scope="row">Pain</th>
        <td>Boulangerie</td>
        <td>2,00 €</td>
    </tr>
    <tr>
        <th scope="row">Jus</th>
        <td>Boissons</td>
        <td>1,00 €</td>
    </tr>
</table>
</body>
</html>
html

Sur le site Web, nous voyons main­te­nant la nouvelle légende pour notre tableau d’exemple :

Image: Tableau HTML : exemple avec balise caption
Avec la balise , le tableau d’exemple est précédé de l’en-tête souhaité (sans ins­truc­tions CSS).
Conseil

Vous trouverez d’autres in­for­ma­tions pas­sion­nantes sur ce langage de balisage dans notre tutoriel HTML pour débutants.

Aller au menu principal