table-fake-caption
La première ligne d’un tableau ne devrait pas tenir lieu de véritable <caption>
Signale, pour une revue manuelle, les tableaux sans <caption> dont la première ligne contient une seule cellule non vide alors que d’autres lignes en contiennent plusieurs, afin de déterminer si cette cellule sert de fausse légende.
Applicabilité. Éléments <table> sans enfant <caption>, avec au moins deux lignes, dont la première ligne contient exactement une cellule au texte non vide, alors qu’au moins une autre ligne contient plus d’une cellule. Sont exclus : un tableau dont le rôle (le premier jeton de son attribut role qui désigne un vrai rôle, sans tenir compte de la casse) est autre que table, grid ou treegrid, comme un tableau de mise en page avec role="presentation", qui n’a pas besoin de légende ; et un tableau déjà nommé par un aria-label non vide, un aria-labelledby qui se résout en texte ou un title non vide, que WCAG accepte comme titre du tableau.
Attendu. Une cellule isolée dans la première ligne, au-dessus de lignes qui comptent manifestement plusieurs colonnes, laisse fortement penser que l’auteur s’en sert comme légende ou titre visuel plutôt que comme une véritable cellule de tableau. Une structure transmise uniquement par cette convention de position n’est pas associée par programmation au tableau comme l’est un véritable élément <caption> (1.3.1).
Exemples
<table><tr><td>Monthly Sales Report</td></tr><tr><td>Jan</td><td>100</td></tr><tr><td>Feb</td><td>200</td></tr></table>
Une cellule est seule dans la première ligne, au-dessus de lignes qui ont toutes plusieurs cellules, et il n’y a pas de véritable <caption> : on dirait une légende déguisée en cellule de données.
<table><caption>Monthly Sales Report</caption><tr><td>Title cell</td></tr><tr><td>Jan</td><td>100</td></tr></table>
Le tableau a un véritable élément <caption>.
Comment vérifier
Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.
SINGLE_CELL_FIRST_ROW_NO_CAPTION
- Repérez le tableau indiqué par le rapport et regardez sa première ligne, qui contient une seule cellule de texte.
- Déterminez si cette cellule est un titre pour tout le tableau, ou une vraie donnée ou un en-tête de sa colonne.
- S’il s’agit d’un titre, vérifiez dans le panneau Accessibilité des outils de développement si le tableau a un nom (il devrait provenir d’un élément caption).
Réussite. La cellule de la première ligne est une vraie donnée du tableau ou un en-tête, ou le titre du tableau est dans un caption qui donne son nom au tableau.
Échec. Le titre du tableau n’apparaît que comme une cellule de la première ligne, sans être rattaché au tableau en tant que caption, ce qui ne respecte pas le critère WCAG 1.3.1.