Critère 5.6
Pour chaque tableau de données, chaque en-tête de colonne et chaque en-tête de ligne sont-ils correctement déclarés ?
Comprendre
Les en-têtes de colonnes et de lignes d’un tableau de données doivent être déclarés (th, scope, id).
Ce critère s’applique lorsque la page contient : tableaux de données.
Ce que vérifie Agence RGAA
Notre moteur détecte automatiquement des anomalies, mais une personne doit confirmer la pertinence avant de conclure.
Nous détectons automatiquement :
- en-têtes sans cellules associées
- cellules sans en-tête
Un résultat automatique n’est jamais un audit : seul un contrôle humain (en interne ou par un auditeur RGAA) permet de conclure.
Exemple de correction
<table>
<caption>Tarifs de la restauration scolaire</caption>
<thead>
<tr><th scope="col">Tranche</th><th scope="col">Prix du repas</th></tr>
</thead>
<tbody>
<tr><th scope="row">Tranche 1</th><td>1,20 €</td></tr>
</tbody>
</table>Voir un exemple à éviter
<tr><td><b>Tranche</b></td><td><b>Prix du repas</b></td></tr>- Un tableau de mise en page n’a pas de th : voir les critères 5.3 et 5.8.
Patron de référence à adapter à votre contexte : il ne vaut pas validation du critère.
Tests officiels
Test 5.6.1
Pour chaque tableau de données, chaque en-tête de colonne s’appliquant à la totalité de la colonne vérifie-t-il une de ces conditions ? L’en-tête de colonnes est structuré au moyen d’une balise
<th>; L’en-tête de colonnes est structuré au moyen d’une balise pourvue d’un attribut WAI-ARIArole="columnheader".Méthodologie de test
- Retrouver dans le document les tableaux de données ;
- Pour chaque en-tête de colonnes s’appliquant à la totalité de la colonne, vérifier que l’en-tête de colonne est structuré au moyen :
- Soit d’un élément
<th>; - Soit d’un élément pourvu d’un attribut WAI-ARIA
role="columnheader".
- Soit d’un élément
- Si c’est le cas pour chaque en-tête de colonne s’appliquant à la totalité de la colonne, le test est validé.
Test 5.6.2
Pour chaque tableau de données, chaque en-tête de ligne s’appliquant à la totalité de la ligne vérifie-t-il une de ces conditions ? L’en-tête de lignes est structuré au moyen d’une balise
<th>; L’en-tête de lignes est structuré au moyen d’une balise pourvue d’un attribut WAI-ARIArole="rowheader".Méthodologie de test
- Retrouver dans le document les tableaux de données ;
- Pour chaque en-tête de ligne s’appliquant à la totalité de la ligne, vérifier que l’en-tête de ligne est structuré au moyen :
- Soit d’un élément
<th>; - Soit d’un élément pourvu d’un attribut WAI-ARIA
role="rowheader".
- Soit d’un élément
- Si c’est le cas pour chaque en-tête de ligne s’appliquant à la totalité de la ligne, le test est validé.
Test 5.6.3
Pour chaque tableau de données, chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne est-il structuré au moyen d’une balise
<th>?Méthodologie de test
- Retrouver dans le document les tableaux de données ;
- Pour chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne, vérifier que l’en-tête de ligne est structuré au moyen d’un élément
<th>; - Si c’est le cas pour chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne, le test est validé.
Test 5.6.4
Pour chaque tableau de données, chaque cellule associée à plusieurs en-têtes est-elle structurée au moyen d’une balise
<td>ou<th>?Méthodologie de test
- Retrouver dans le document les tableaux de données ;
- Pour chaque cellule associée à plusieurs en-têtes est-elle structurée au moyen d’une balise
<th>ou<td>; - Si c’est le cas pour chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne, le test est validé.
Texte officiel du référentiel RGAA 4.1.2 publié par la DINUM — voir la source.