Table
Un tableau organise de nombreux éléments du même type en lignes et colonnes, pour comparer et agir. Sur mobile, chaque ligne devient une carte.
Sur cette page
Playground
| Nom | Quand | Statut | Exécutions | Actions |
|---|---|---|---|---|
| Sauvegarde hebdomadaire | Dimanche, 3 h | À jour | 48 | Modifier Sauvegarde hebdomadaire |
| Arroser les plantes | Mardi, 9 h | En retard | 3 | Modifier Arroser les plantes |
<div style="inline-size: 100%"><div class="feitio-table-scroll" tabindex="0" role="region" aria-label="Nom"><table class="feitio-table"><thead><tr><th scope="col">Nom</th><th scope="col">Quand</th><th scope="col">Statut</th><th scope="col" data-align="end">Exécutions</th><th scope="col"><span class="feitio-visually-hidden">Actions</span></th></tr></thead><tbody><tr><td class="title">Sauvegarde hebdomadaire</td><td data-label="Quand">Dimanche, 3 h</td><td data-label="Statut"><span class="feitio-tag" data-status="ok"><svg class="feitio-icon" aria-hidden="true"><use href="/feitio/icons/sprite.svg#feitio-check"></use></svg>À jour</span></td><td data-align="end" data-label="Exécutions">48</td><td class="actions"><a class="feitio-button" href="#playground" data-size="small">Modifier<span class="feitio-visually-hidden"> Sauvegarde hebdomadaire</span></a></td></tr><tr><td class="title">Arroser les plantes</td><td data-label="Quand">Mardi, 9 h</td><td data-label="Statut"><span class="feitio-tag" data-status="warn"><svg class="feitio-icon" aria-hidden="true"><use href="/feitio/icons/sprite.svg#feitio-warn"></use></svg>En retard</span></td><td data-align="end" data-label="Exécutions">3</td><td class="actions"><a class="feitio-button" href="#playground" data-size="small">Modifier<span class="feitio-visually-hidden"> Arroser les plantes</span></a></td></tr></tbody></table></div></div>Quand l'utiliser
- Pour des éléments comparés selon les mêmes caractéristiques : plannings avec quand et qui, services avec statut.
- Sur les écrants de travail, presque toujours avec
data-density="compact".
Quand ne pas l'utiliser
- Un élément, plusieurs caractéristiques : SummaryList.
- Choses à faire, chacune avec un statut : TaskList.
- Pour disposer la page : un tableau est des données, jamais du positionnement.
Exemples
| Nom | Lorsque | Statut | Cours | Actions |
|---|---|---|---|---|
| Sauvegarde hebdomadaire | Dimanche, 3 heures | On time | 48 | Modifier sauvegarde hebdomadaire |
| Arroser les plantes | Mardi, 9 heures | Late | 3 | Modifier arroser les plantes |
| Rapport mensuel | Le 1er, 8 h | Paused | 1.204 | Modifier rapport mensuel |
Un tableau de travail
Titre, en-tête avec la ligne d'encre, numéros à droite et actions de chaque ligne à la fin.
Afficher le code
<div class="feitio-table-scroll" tabindex="0" role="region" aria-labelledby="agendamentos">
<table class="feitio-table">
<caption id="agendamentos">Agendamentos</caption>
<thead><tr><th scope="col">Nome</th>…<th scope="col" data-align="end">Disparos</th></tr></thead>
<tbody><tr><td class="title">Backup semanal</td>…<td data-align="end" data-label="Disparos">48</td></tr></tbody>
</table>
</div>| Nom | Lorsque | Statut | Cours | Actions |
|---|---|---|---|---|
| Sauvegarde hebdomadaire | Dimanche, 3 heures | On time | 48 | Modifier sauvegarde hebdomadaire |
| Arroser les plantes | Mardi, 9 heures | Late | 3 | Modifier arroser les plantes |
| Rapport mensuel | Le 1er, 8 h | Paused | 1.204 | Modifier rapport mensuel |
Sur mobile
Dans un boîtier plus étroit que 40rem, chaque ligne devient une carte : le nom en haut, chaque valeur avec son nom de colonne à côté (data-label), les actions en dessous.
Afficher le code
<td class="title">Backup semanal</td>
<td data-label="Quando">Domingo, 3h</td>Trier par en-tête
La colonne de tri est un lien : le serveur retourne la page triée. La colonne triée obtient aria-sort et la flèche.
Afficher le code
<th scope="col" aria-sort="ascending"><a href="?ordem=prazo">Prazo…</a></th>Action par lot
Une case par ligne et les actions par lot en haut, dans de petits boutons. C'est un formulaire : les cases cochées vont de pair avec le bouton pressé.
Afficher le code
<form action="/tarefas/lote" method="post">
<button type="submit" name="acao" value="concluir" class="feitio-button" data-size="small">Concluir selecionadas</button>
…
<td class="select"><input type="checkbox" name="ids" value="12" aria-label="Selecionar revisar o contrato"></td>
</form>Sans lignes, le tableau devient un EmptyState, à la place des lignes. Jamais un seul en-tête sans ce qui suit.
Anatomie
| Nom | Cours | Actions |
|---|---|---|
| Sauvegarde | 48 |
- Légende : le nom du tableau, lu par les lecteurs d'écran.
- En-tête : texte doux, avec la ligne d'encre en dessous.
- Ligne : séparée de la suivante par une fine ligne.
- Chiffres à droite, avec des chiffres de même largeur.
- Action de ligne : un petit bouton, à la fin.
États
- Survol d'une ligne : un ton légèrement plus foncé, très léger, pour que l'œil garde la ligne. Ce n'est pas une sélection.
- Densité : confortable pour la lecture, compacte sur les écrans de travail ; le commutateur s'anime.
- Cadre étroit : chaque ligne devient une carte. Cadre moyen et tableau large : il défile dans sa propre boîte ; la page ne défile jamais de côté.
Faire et ne pas faire
Do
| Élément | Valeur |
|---|---|
| Photos | 1.204 |
| Vidéos | 38 |
Chiffres à droite : les chiffres s'alignent et la comparaison est par l'œil.
Don’t
| Élément | Valeur |
|---|---|
| Photos | 1.204 |
| Vidéos | 38 |
Tout centré : les nombres ne s'alignent pas.
Do
| Sauvegarde |
L'action avec un mot, petite, à la fin de la ligne.
Don’t
| Sauvegarde | |
| Plantes |
Bandes alternées et actions uniquement iconiques : du bruit, et personne ne sait ce que fait l'icône.
Écriture
- En-tête : un ou deux mots, sans répéter l'unité dans chaque cellule.
- Cellule vide : un tiret, avec du texte caché (« pas de date d'échéance ») pour les lecteurs d'écran.
Accessibilité
<caption>avec le nom et<th scope="col">sur chaque en-tête.- L'action de chaque ligne indique à quelle elle appartient (« Modifier la sauvegarde hebdomadaire »), avec du texte caché.
- La boîte déroulante est une région nommée et prend le focus.
Attributs
| Attribut | Valeurs | Pour quoi |
|---|---|---|
class="feitio-table" | obligatoire | Lignes de cheveux, en-tête avec la ligne d'encre, figures de même largeur. |
class="feitio-table-scroll" tabindex="0" | autour | Il mesure sa propre largeur : étroit, il se transforme en cartes ; moyen, il défile. Avec tabindex="0", role="region" et un nom. |
class="title" | sur la cellule du nom | Le titre de la carte sur mobile. |
data-label | sur les autres cellules | Le nom de la colonne, à côté de la valeur sur la carte. |
data-align="end" | sur la colonne des nombres | Nombres à droite. |
class="actions" | sur la cellule des actions | Petits boutons, à la fin. |
aria-sort | "ascending", "descending" | Sur la colonne triée. |