Baseline Widely available *
L'élément HTML <table>
permet de représenter un tableau de données, c'est-à -dire des informations exprimées sur un tableau en deux dimensions.
<table>
<caption>
Front-end web developer course 2021
</caption>
<thead>
<tr>
<th scope="col">Person</th>
<th scope="col">Most interest in</th>
<th scope="col">Age</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Chris</th>
<td>HTML tables</td>
<td>22</td>
</tr>
<tr>
<th scope="row">Dennis</th>
<td>Web accessibility</td>
<td>45</td>
</tr>
<tr>
<th scope="row">Sarah</th>
<td>JavaScript frameworks</td>
<td>29</td>
</tr>
<tr>
<th scope="row">Karen</th>
<td>Web performance</td>
<td>36</td>
</tr>
</tbody>
<tfoot>
<tr>
<th scope="row" colspan="2">Average age</th>
<td>33</td>
</tr>
</tfoot>
</table>
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
font-weight: bold;
}
thead,
tfoot {
background-color: rgb(228 240 245);
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
td:last-of-type {
text-align: center;
}
tbody > tr:nth-of-type(even) {
background-color: rgb(237 238 242);
}
tfoot th {
text-align: right;
}
tfoot td {
font-weight: bold;
}
Attributs
Cet élément inclut les attributs universels. Les attributs listés ci-après sont désormais tous dépréciés.
Attributs dépréciésalign
Obsolète
Cet attribut énumérée indique la manière dont la table doit être aligné en regard du document qui la contient. Ile peut prendre les valeurs suivantes :
left
, signifiant que la table doit être affichée à la gauche du document ;center
, signifiant que la table doit être affichée centrée dans le document ;right
, signifiant que la table doit être affichée à droite du document.Note :
<table>
devrait être stylisé en utilisant CSS. Pour obtenir un effet similaire à celui réalisé par l'attribut align, les propriétés CSS text-align
et vertical-align
devraient être utilisées.middle
, absmiddle
, et abscenter
comme synonymes de center
.bgcolor
Obsolète
Cet attribut définit la couleur d'arrière-plan de toutes les cellules. C'est un code à 6 chiffres hexadécimaux comme défini par le sRGB. Il est précédé d'un '#'. Un des mots-clés préfédinis pour les couleurs peut également être utilisé.
Note : Il est fortement conseillé de ne pas utiliser cet attribut car celui-ci a été déprécié. La mise en forme d'un tableau doit se faire en utilisant CSS. Il est possible d'utiliser la propriété CSS background-color
pour cet effet.
border
Obsolète
Cet attribut entier définit, en pixels, la taille de la bordure entourant le tableau. S'il vaut 0, cela implique que l'attribut frame
est vide.
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. La mise en forme d'un tableau doit s'effectuer en utilisant CSS. Les propriétés CSS border
, border-color
, border-width
et border-style
devraient être utilisées à la place.
cellpadding
Obsolète
Cet attribut définit la taille de l'espace entre le contenu d'une cellule et sa bordure, qu'lle soit affichée ou non. Si cet attribut est exprimé en pixels, le décalage sera appliqué sur les quatre côtés. S'il est exprimé en pourcents, le contenu sera centré verticalement et la somme des espaces en haut et en bas représentera le pourcentage, il en va de même pour l'espace horizontal (droite et gauche).
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. La mise en forme d'un tableau doit s'effectuer en utilisant CSS. Pour réaliser un effet similaire, la propriété border-collapse
avec la valeur collapse doit être utilisée sur l'élément <table>
et la propriété padding
sur l'élément <td>
.
cellspacing
Obsolète
Cet attribut définit la taille (en pourcents ou pixels) de l'espace (vertical et horizontal) entre deux cellules, entre la haut du tableau et les cellules de la première ligne, la gauche du tableau et les cellules de la première colonne, puis de la même manière pour le bas et le côté droit du tableau.
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. La mise en forme d'un tableau doit s'effectuer en utilisant CSS. Pour réaliser un effet similaire, la propriété border-collapse
avec la valeur collapse doit être utilisée sur l'élément <table>
et la propriété margin
sur l'élément <td>
.
frame
Obsolète
Cet attribut à valeurs multiples définit les côtés du tableau sur lesquels dessiner une bordure. Il peut prendre les valeurs suivantes : above, hsides, lhs, border, void, below, vsides, rhs, box
.
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. La mise en forme d'un tableau doit s'effectuer en utilisant CSS. Pour réaliser un effet similaire, les propriétés border-style
et border-width
doivent être utilisées.
rules
Obsolète
Cet attribut à valeurs multiples définit la manière dont les traits doivent apparaître au sein du tableau. Il peut avoir les valeurs suivantes :
none
, les traits ne doivent pas être affichés, c'est la valeur par défautgroups
, les traits sont uniquement affichés entre les groupes de lignes du tableau (définis par les éléments <thead>
, <tbody>
et <tfoot>
) et entre les groupes de colonnes (définis par les éléments <col>
et <colgroup>
)rows
, les traits seront affichées entre les lignes du tableaucolumns
, les lignes seront affichées entre les colonnes du tableauall
, tous les traits seront affichés (entre les lignes et entre les colonnes).Note :
summary
Obsolète
Cet attribut définit un texte alternatif à utiliser afin de décrire le tableau. Un tel texte peut être utilisé par un agent utilisateur qui ne pourrait pas afficher le tableau. Il est généralement utilisé pour les personnes souffrant d'une déficience visuelle, comme par exemple les aveugles qui navigueront sur des pages web en utilisant un écran Braille. Si l'information contenue dans cet attribut serait également utile aux autres utilisateurs, il faudra plutôt utiliser l'élément <caption>
. L'attribut summary
n'est pas obligatoire et peut être omis lorsqu'un élément <caption>
remplit ce rôle.
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. Les façons suivantes peuvent être envisagées pour cette expression :
<caption>
<details>
inclus dans l'élément <caption>
du tableau.<table>
dans un élément <figure>
et en ajoutant la description textuelle à côté du tableau.<table>
dans un élément <figure>
et en ajoutant la description textuelle dans un élément <figcaption>
.<th>
et <thead>
.width
Obsolète
Cet attribut définit la largeur du tableau. Elle peut être exprimée en pixels ou en pourcent (représentant alors la fraction du conteneur que le tableau peut occuper).
Note : Cet attribut ayant été déprécié, il ne doit pas être utilisé. La propriété CSS width
doit être utilisée à la place.
<table>
<caption>
Front-end web developer course 2021
</caption>
<thead>
<tr>
<th scope="col">Person</th>
<th scope="col">Most interest in</th>
<th scope="col">Age</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Chris</th>
<td>HTML tables</td>
<td>22</td>
</tr>
<tr>
<th scope="row">Dennis</th>
<td>Web accessibility</td>
<td>45</td>
</tr>
<tr>
<th scope="row">Sarah</th>
<td>JavaScript frameworks</td>
<td>29</td>
</tr>
<tr>
<th scope="row">Karen</th>
<td>Web performance</td>
<td>36</td>
</tr>
</tbody>
<tfoot>
<tr>
<th scope="row" colspan="2">Average age</th>
<td>33</td>
</tr>
</tfoot>
</table>
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
font-weight: bold;
}
thead,
tfoot {
background-color: rgb(228 240 245);
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
td:last-of-type {
text-align: center;
}
tbody > tr:nth-of-type(even) {
background-color: rgb(237 238 242);
}
tfoot th {
text-align: right;
}
tfoot td {
font-weight: bold;
}
Tableau simple HTML
<table>
<tr>
<td>Jean</td>
<td>Biche</td>
</tr>
<tr>
<td>Jeanne</td>
<td>Biche</td>
</tr>
</table>
Résultat Autres exemples HTML
<!-- Tableau simple avec en-tête -->
<table>
<tr>
<th>Prénom</th>
<th>Nom</th>
</tr>
<tr>
<td>Jean</td>
<td>Dupont</td>
</tr>
<tr>
<td>Marion</td>
<td>Duval</td>
</tr>
</table>
<!-- Tableau utilisant thead, tfoot, et tbody -->
<table>
<thead>
<tr>
<th>Contenu d'en-tête 1</th>
<th>Contenu d'en-tête 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Contenu interne 1</td>
<td>Contenu interne 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Pied de tableau 1</td>
<td>Pied de tableau 2</td>
</tr>
</tfoot>
</table>
<!-- Tableau utilisant colgroup -->
<table>
<colgroup span="4" class="columns"></colgroup>
<tr>
<th>Pays</th>
<th>Capitales</th>
<th>Population</th>
<th>Langue</th>
</tr>
<tr>
<td>USA</td>
<td>Washington D.C.</td>
<td>309 millions</td>
<td>Anglais</td>
</tr>
<tr>
<td>Suède</td>
<td>Stockholm</td>
<td>9 millions</td>
<td>Suédois</td>
</tr>
</table>
<!-- Tableau utilisant colgroup et col -->
<table>
<colgroup>
<col class="column1" />
<col class="columns2plus3" span="2" />
</colgroup>
<tr>
<th>Citron vert</th>
<th>Citron</th>
<th>Orange</th>
</tr>
<tr>
<td>Vert</td>
<td>Jaune</td>
<td>Orange</td>
</tr>
</table>
<!-- Tableau simple avec une légende -->
<table>
<caption>
Super légende
</caption>
<tr>
<td>Données géniales</td>
</tr>
</table>
Résultat Accessibilité Légendes
Fournir un élément <caption>
pour légender le tableau avec une description claire et concise permet aux utilisateurs de décider s'ils doivent lire le contenu du tableau ou le passer.
Une telle légende fournit une aide pour les personnes qui naviguent avec des outils d'assistance comme des lecteurs d'écran.
<caption>
L'attribut scope
peut être redondant dans certains contextes où la portée peut être déterminée avec les autres éléments. Toutefois de nombreux lecteurs d'écran utilisent cet attribut pour répliquer l'organisation générale du tableau. Dans les tableaux plus complexes, scope
pourra être utilisé afin de fournir les informations nécessaires à l'organisation (tant au moteur HTML qu'aux outils d'assistance).
<table>
<caption>
Noms et valeurs des couleurs
</caption>
<tbody>
<tr>
<th scope="col">Nom</th>
<th scope="col">Hexadécimal</th>
<th scope="col">HSLa</th>
<th scope="col">RGBa</th>
</tr>
<tr>
<th scope="row">Turquoise</th>
<td><code>#51F6F6</code></td>
<td><code>hsla(180, 90%, 64%, 1)</code></td>
<td><code>rgba(81, 246, 246, 1)</code></td>
</tr>
<tr>
<th scope="row">Ocre</th>
<td><code>#F6BC57</code></td>
<td><code>hsla(38, 90%, 65%, 1)</code></td>
<td><code>rgba(246, 188, 87, 1)</code></td>
</tr>
</tbody>
</table>
Résultat
Ajouter scope="col"
sur un élément <th>
permettra d'aider à décrire le fait que la cellule est en haut de la colonne. Indiquer scope="row"
sur un élément <td>
permettra d'indiquer que la cellule est la première de la ligne.
scope
afin d'associer les cellules de l'en-tête et celles des données dans les tableaux de données | Techniques W3C pour WCAG 2.0 (en anglais)Les technologies d'assistance telles que les lecteurs d'écran peuvent rencontrer des difficultés lors de l'analyse de tableaux complexes où les cellules d'en-tête ne sont pas associées aux données de façon clairement verticale ou horizontale. Généralement, cela se traduit par la présence des attributs colspan
et rowspan
.
Si possible, on présentera le tableau différemment, en le divisant en plusieurs tableaux simples qui ne nécessitent pas l'utilisation des atttributs colspan
et rowspan
. En plus d'aider à la compréhension pour les personnes qui utilisent des outils d'assistance, cela pourra bénéficier aux personnes souffrant de troubles cognitifs.
Si le tableau ne peut pas être subdivisé, on pourra utiliser les attributs id
et headers
afin d'associer « informatiquement » les cellules du tableaux avec les en-têtes correspondantes.
id
et headers
afin d'associer les cellules de données et les cellules d'en-tête dans les tableaux | Techniques W3C pour WCAG 2.0 (en anglais)Dans cet ordre :
<caption>
<colgroup>
<thead>
facultatif<tfoot>
optionnelHTMLTableElement
Spécifications Compatibilité des navigateurs Voir aussi
<caption>
, <col>
, <colgroup>
, <tbody>
, <td>
, <tfoot>
, <th>
, <thead>
, <tr>
<table>
:
width
qui permet de contrôler la largeur du tableau ;border
, border-style
, border-color
, border-width
, border-collapse
, border-spacing
qui permettent de contrôler l'aspect des bordures pour les cellules et le contour du tableau ;margin
et padding
qui s'appliquent sur le contenu d'une cellule individuelle ;text-align
et vertical-align
qui permettent de définir l'alignement du texte et du contenu de la cellule.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4