Cette recommandation donne des informations sur la façon d'identifier correctement les tableaux codés.
For data tables, identify row and column headers. [Priority 1]
(Voir http://www.w3.org/TR/WCAG10/#tech-table-headers et les techniques à http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/#tech-table-headers)
Ce test a pour objectif de rechercher les tableaux de données qui n'ont pas d'en-têtes de lignes et de colonnes.
//table
Ce test a pour objectif d'identifier le texte préformaté utilisé pour afficher des informations en tableaux. Un texte préformaté ne possède pas de mécanismes permettant de spécifier les titres de lignes et de colonnes.
//pre
For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells. [Priority 1]
(Voir http://www.w3.org/TR/WCAG10/#tech-table-structure et les techniques à http://www.w3.org/TR/WCAG10-HTML-TECHS/#identifying-table-rows-columns)
Le but de ce test est d'identifier les tableaux ayant un ou plusieurs niveaux logiques de lignes et de colonnes qui ne sont pas codés correctement par l'utilisation du code pour les tableaux associant les lignes aux colonnes.
//table
Le but de ce test est de déterminer si les cellules d'en-tête dans un titre avec deux ou plusieurs niveaux sont classées de manière cohérente. Ce test n'exige pas que axis soit toujours utilisé, mais que les catégories identifiées par l'attribut soient appropriées ou logiques.
//table[count(descendant::tr[th]) > 1]
//table[count(descendant::tr[td[@scope]]) > 1]
//table[descendant::tr[count(th) > 1]]
//table[descendant::tr[count(td[@scope]) > 1]]
//table[descendant::td[boolean(substring-after
(substring-after(normalize-space(@headers), ' '), ' ')]]
Le but de ce test est de rechercher le manque de cohérence dans la structure de tableaux. Ce test n'exige pas que colgroup, thead, tfoot ou tbody soient toujours utilisés mais que leur utilisation soit appropriée ou logique.
//table[colgroup]
//table[thead]
//table[tfoot]
//table[tbody]
Do not use tables for layout unless the table makes sense when linearized. Otherwise, if the table does not make sense, provide an alternative equivalent (which may be a linearized version). [Priority 2]
(Voir http://www.w3.org/TR/WCAG10/#tech-avoid-table-for-layout et les techniques à http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/#tech-avoid-table-for-layout)
Le but de ce test est de rechercher les tableaux qui ne restituent pas la même information lorsqu'ils sont linéarisés.
//table[not(@summary) and not(child::caption)]
//table
If a table is used for layout, do not use any structural markup for the purpose of visual formatting. [Priority 2]
(Voir http://www.w3.org/TR/WCAG10/#tech-table-layout et les techniques à http://www.w3.org/TR/WCAG10-HTML-TECHS/#tech-table-layout)
Le but de ce test est de vérifier que les en-têtes de tableaux sont uniquement utilisés dans des tableaux de données.
//table[descendant::th]
//table[descendant::td[@scope]]
//table[descendant::td[@axis]]
Le but de ce test est de vérifier que les en-têtes et les pieds de tableaux sont uniquement utilisés dans des tableaux de données.
//table[thead]
//table[tfoot]
Le but de ce test est de vérifier que les attributs id et headers sont utilisés uniquement dans des tableaux de données.
//table[descendant::th[@id]]
//table[descendant::td[@id]]
//table[descendant::td[@header
Le but de ce test est de vérifier que les légendes sont uniquement utilisées pour les tableaux de données.
//table[descendant::caption]
Le but de ce test est de vérifier que les cellules sont classées par catégories uniquement dans les tableaux de données.
//table[descendant::th[@axis]]
//table[descendant::td[@axis]]