Qu'est-ce que la balise <tfoot> en HTML ?

Découvrez la balise HTML <tfoot> pour structurer le pied de vos tableaux. Syntaxe, exemples pratiques et bonnes pratiques d'accessibilité.
8 min de lecture
Believemy logo

Introduction à la balise <tfoot>

Lorsque vous créez des tableaux en HTML, la structuration des données est essentielle pour garantir une bonne lisibilité et une accessibilité optimale. La balise <tfoot> joue un rôle fondamental dans cette organisation en définissant le pied de tableau, c'est-à-dire la section qui contient généralement les totaux, les résumés ou les informations récapitulatives de vos données tabulaires.

Comprendre et maîtriser l'utilisation de <tfoot> est indispensable pour tout développeur web souhaitant créer des tableaux professionnels et accessibles. Si vous souhaitez approfondir vos connaissances en HTML et maîtriser toutes les subtilités des tableaux, notre formation complète sur HTML vous guidera pas à pas dans cet apprentissage.

Bon à savoir

💡 La balise <tfoot> fait partie du trio structurel des tableaux HTML avec et , permettant une organisation sémantique claire de vos données.

 

Définition et syntaxe de <tfoot>

Qu'est-ce que <tfoot> ?

La balise <tfoot> (pour table footer) est un élément HTML qui définit un groupe de lignes constituant le pied d'un tableau. Elle est utilisée conjointement avec la balise <table> pour délimiter la section inférieure d'un tableau, généralement destinée aux totaux, moyennes ou autres informations synthétiques.

Cette balise est un élément de type bloc qui ne peut contenir que des éléments <tr> (table row). Elle permet aux navigateurs et aux technologies d'assistance de comprendre la structure logique du tableau et de traiter différemment les données du pied par rapport au corps du tableau.

 

Syntaxe de base

La syntaxe de <tfoot> est simple et s'intègre naturellement dans la structure d'un tableau HTML :

HTML
<table>
  <thead>
    <tr>
      <th>En-tête 1</th>
      <th>En-tête 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Donnée 1</td>
      <td>Donnée 2</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>Total</td>
      <td>Résultat</td>
    </tr>
  </tfoot>
</table>

 

Caractéristiques principales

Voici les caractéristiques essentielles de la balise <tfoot> :

  • Élément parent obligatoire : doit être placée à l'intérieur d'une balise <table>
  • Contenu autorisé : uniquement des éléments <tr>
  • Unicité : un seul <tfoot> par tableau
  • Position flexible : peut être placée avant ou après dans le code source
  • Affichage : toujours rendu en bas du tableau

 

Exemples pratiques de <tfoot>

Exemple simple : tableau de notes

Commençons par un exemple basique représentant un tableau de notes d'apprenants sur la plateforme Believemy :

HTML
<table>
  <thead>
    <tr>
      <th>Apprenant</th>
      <th>Formation</th>
      <th>Note</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Marie Dupont</td>
      <td>HTML Fondamentaux</td>
      <td>18/20</td>
    </tr>
    <tr>
      <td>Pierre Martin</td>
      <td>HTML Fondamentaux</td>
      <td>16/20</td>
    </tr>
    <tr>
      <td>Sophie Bernard</td>
      <td>HTML Fondamentaux</td>
      <td>19/20</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td colspan="2">Moyenne de la classe</td>
      <td>17.67/20</td>
    </tr>
  </tfoot>
</table>

Dans cet exemple, le <tfoot> contient la moyenne générale des notes. L'attribut colspan="2" permet de fusionner les deux premières cellules pour une présentation plus claire.

 

Exemple avancé : tableau financier

Voici un exemple plus complexe représentant un rapport financier avec plusieurs lignes dans le pied de tableau :

HTML
<table>
  <thead>
    <tr>
      <th>Mois</th>
      <th>Revenus</th>
      <th>Dépenses</th>
      <th>Bénéfice</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Janvier</td>
      <td>15 000 €</td>
      <td>8 000 €</td>
      <td>7 000 €</td>
    </tr>
    <tr>
      <td>Février</td>
      <td>18 500 €</td>
      <td>9 200 €</td>
      <td>9 300 €</td>
    </tr>
    <tr>
      <td>Mars</td>
      <td>22 000 €</td>
      <td>10 500 €</td>
      <td>11 500 €</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <th>Total Q1</th>
      <td>55 500 €</td>
      <td>27 700 €</td>
      <td>27 800 €</td>
    </tr>
    <tr>
      <th>Moyenne</th>
      <td>18 500 €</td>
      <td>9 233 €</td>
      <td>9 267 €</td>
    </tr>
  </tfoot>
</table>

Notez l'utilisation de <th> dans le <tfoot> pour les cellules d'en-tête de ligne, ce qui améliore la sémantique et l'accessibilité du tableau.

 

Exemple avec stylisation CSS

Le <tfoot> peut être facilement stylisé pour se démarquer visuellement du reste du tableau :

HTML
<style>
  table {
    border-collapse: collapse;
    width: 100%;
  }
  
  th, td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
  }
  
  thead {
    background-color: #4a90d9;
    color: white;
  }
  
  tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  
  tfoot {
    background-color: #2c3e50;
    color: white;
    font-weight: bold;
  }
</style>

<table>
  <thead>
    <tr>
      <th>Formation</th>
      <th>Inscrits</th>
      <th>Complétée</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>HTML Fondamentaux</td>
      <td>1 250</td>
      <td>892</td>
    </tr>
    <tr>
      <td>CSS Avancé</td>
      <td>980</td>
      <td>654</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>Total</td>
      <td>2 230</td>
      <td>1 546</td>
    </tr>
  </tfoot>
</table>

Cette approche permet de créer une distinction visuelle claire entre les différentes sections du tableau, améliorant ainsi la lisibilité pour vos utilisateurs.

 

Position de <tfoot> dans le code source

Ordre historique vs moderne

Historiquement, la spécification HTML recommandait de placer <tfoot> avant <tbody> dans le code source. Cette recommandation permettait aux navigateurs de rendre le pied de tableau avant même d'avoir chargé toutes les données du corps, ce qui était utile pour les tableaux très longs.

HTML
<!-- Ordre historique (HTML 4) -->
<table>
  <thead>...</thead>
  <tfoot>...</tfoot>
  <tbody>...</tbody>
</table>
Attention

Depuis HTML5, vous pouvez placer <tfoot> après <tbody>, ce qui est plus intuitif et correspond à l'ordre visuel d'affichage. Les deux syntaxes sont valides.

HTML
<!-- Ordre moderne recommandé (HTML5) -->
<table>
  <thead>...</thead>
  <tbody>...</tbody>
  <tfoot>...</tfoot>
</table>

Nous vous recommandons d'utiliser l'ordre moderne (tfoot après tbody) car il est plus lisible et correspond à la logique visuelle du tableau.

 

Bonnes pratiques d'utilisation

Accessibilité et sémantique

L'utilisation correcte de <tfoot> contribue significativement à l'accessibilité de vos tableaux :

  • Lecteurs d'écran : les technologies d'assistance peuvent identifier et annoncer le pied de tableau, permettant aux utilisateurs de naviguer directement vers les résumés
  • Structure sémantique : distinguer clairement les données du résumé améliore la compréhension du contenu
  • Navigation clavier : facilite la navigation dans les tableaux complexes

Pour une accessibilité optimale, combinez <tfoot> avec d'autres attributs comme scope sur les cellules d'en-tête :

HTML
<tfoot>
  <tr>
    <th scope="row">Total général</th>
    <td>1 500</td>
    <td>2 300</td>
  </tr>
</tfoot>

 

Quand utiliser <tfoot> ?

Utilisez <tfoot> lorsque votre tableau nécessite :

  • Des totaux ou sous-totaux
  • Des moyennes ou statistiques récapitulatives
  • Des notes de bas de tableau
  • Des informations de pagination
  • Des légendes ou explications des données
Bon à savoir

Même si votre pied de tableau ne contient qu'une seule ligne, l'utilisation de <tfoot> reste recommandée pour maintenir une structure sémantique cohérente.

 

Impression et tableaux multi-pages

Un avantage méconnu de <tfoot> concerne l'impression. Lorsqu'un tableau s'étend sur plusieurs pages imprimées, les navigateurs peuvent répéter automatiquement le contenu de <tfoot> en bas de chaque page, tout comme <thead> est répété en haut.

Pour activer ce comportement, vous pouvez utiliser les propriétés CSS suivantes :

CSS
thead, tfoot {
  display: table-header-group; /* pour thead */
  display: table-footer-group; /* pour tfoot */
}

@media print {
  thead {
    display: table-header-group;
  }
  tfoot {
    display: table-footer-group;
  }
}

 

Erreurs fréquentes à éviter

Oublier la structure complète

Une erreur courante est d'utiliser <tfoot> sans les autres éléments structurels :

HTML
<!-- ❌ À éviter -->
<table>
  <tr>
    <th>Colonne 1</th>
    <th>Colonne 2</th>
  </tr>
  <tr>
    <td>Donnée</td>
    <td>Donnée</td>
  </tr>
  <tfoot>
    <tr>
      <td colspan="2">Total</td>
    </tr>
  </tfoot>
</table>

<!-- ✅ Correct -->
<table>
  <thead>
    <tr>
      <th>Colonne 1</th>
      <th>Colonne 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Donnée</td>
      <td>Donnée</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td colspan="2">Total</td>
    </tr>
  </tfoot>
</table>

 

Placer du contenu non autorisé

Le <tfoot> ne peut contenir que des éléments <tr>. Placer directement des <td> ou du texte est invalide :

HTML
<!-- ❌ Invalide -->
<tfoot>
  <td>Total</td>
</tfoot>

<!-- ❌ Invalide -->
<tfoot>
  Texte direct
</tfoot>

<!-- ✅ Correct -->
<tfoot>
  <tr>
    <td>Total</td>
  </tr>
</tfoot>

 

Utiliser plusieurs <tfoot>

Un tableau ne peut avoir qu'un seul élément <tfoot>. Si vous avez besoin de plusieurs lignes de pied, placez-les toutes dans le même <tfoot> :

HTML
<!-- ❌ Invalide -->
<table>
  <tbody>...</tbody>
  <tfoot>
    <tr><td>Sous-total</td></tr>
  </tfoot>
  <tfoot>
    <tr><td>Total</td></tr>
  </tfoot>
</table>

<!-- ✅ Correct -->
<table>
  <tbody>...</tbody>
  <tfoot>
    <tr><td>Sous-total</td></tr>
    <tr><td>Total</td></tr>
  </tfoot>
</table>

 

Attributs disponibles

La balise <tfoot> accepte tous les attributs globaux HTML. Voici les plus couramment utilisés :

AttributDescriptionExemple
classClasse CSS pour le stylage<tfoot class="totaux">
idIdentifiant unique<tfoot id="pied-tableau">
styleStyles CSS en ligne<tfoot style="background: #eee;">
hiddenMasque l'élément<tfoot hidden>
Attention

Les attributs align, bgcolor, char, charoff et valign sont obsolètes en HTML5. Utilisez CSS pour le positionnement et les couleurs.

 

Compatibilité navigateurs

La balise <tfoot> bénéficie d'une excellente compatibilité avec tous les navigateurs modernes et anciens :

NavigateurVersion minimaleSupport
Chrome1.0✅ Complet
Firefox1.0✅ Complet
Safari1.0✅ Complet
Edge12✅ Complet
Opera7.0✅ Complet
Internet Explorer4.0✅ Complet

Vous pouvez utiliser <tfoot> en toute confiance dans vos projets, même ceux devant supporter d'anciens navigateurs.

 

Questions fréquentes sur <tfoot>

Question

Quelle est la différence entre <tfoot> et une simple ligne <tr> en fin de tableau ?

La différence principale est sémantique. Une balise <tfoot> indique explicitement aux navigateurs et aux technologies d'assistance que les lignes qu'elle contient représentent un pied de tableau (totaux, résumés). Cela améliore l'accessibilité, permet la répétition automatique à l'impression et facilite le ciblage CSS. Une simple ligne <tr> n'apporte aucune de ces informations contextuelles.

 

Question

Peut-on avoir plusieurs éléments <tbody> mais un seul <tfoot> ?

Exactement ! Un tableau peut contenir plusieurs pour regrouper logiquement différentes sections de données, mais il ne peut avoir qu'un seul <tfoot> et un seul . Cette structure permet de créer des tableaux complexes tout en maintenant une hiérarchie claire entre en-tête, corps et pied.

 

Question

Le <tfoot> est-il obligatoire dans un tableau HTML ?

Non, <tfoot> est optionnel. Vous ne devez l'utiliser que lorsque votre tableau nécessite effectivement une section de pied avec des totaux, moyennes ou informations récapitulatives. Pour les tableaux simples sans synthèse, vous pouvez vous contenter de et , voire simplement de lignes <tr> directement dans .

Question

Comment puis-je apprendre HTML en profondeur ?

Pour maîtriser HTML et toutes ses subtilités, y compris la création de tableaux accessibles et sémantiquement corrects, nous vous recommandons notre formation pour maîtriser HTML. Vous y apprendrez pas à pas toutes les balises essentielles et les bonnes pratiques du développement web moderne.

Termes connexes

Découvrez notre glossaire HTML et CSS

Parcourez les termes et définitions les plus couramment utilisés dans le domaine du développement HTML et CSS.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.