{"id":108,"date":"2026-02-09T14:47:03","date_gmt":"2026-02-09T12:47:03","guid":{"rendered":"https:\/\/www.conform-it.fr\/?p=108"},"modified":"2026-02-09T14:47:03","modified_gmt":"2026-02-09T12:47:03","slug":"chapitre-5-du-rgaa-tableaux-structurer-les-donnees-pour-une-lecture-accessible","status":"publish","type":"post","link":"https:\/\/wp7.conform-it.fr\/index.php\/2026\/02\/09\/chapitre-5-du-rgaa-tableaux-structurer-les-donnees-pour-une-lecture-accessible\/","title":{"rendered":"Chapitre 5 du RGAA : Tableaux \u2013 structurer les donn\u00e9es pour une lecture accessible"},"content":{"rendered":"<h2><span style=\"text-decoration: underline;\">Introduction<\/span><\/h2>\n<p><span style=\"text-decoration: underline;\">Le chapitre 5 du RGAA concerne les tableaux de donn\u00e9es. Tr\u00e8s utilis\u00e9s pour pr\u00e9senter des informations chiffr\u00e9es, des comparatifs ou des plannings, les tableaux peuvent devenir difficiles \u00e0 comprendre pour les utilisateurs de technologies d\u2019assistance s\u2019ils ne sont pas correctement structur\u00e9s.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\">L\u2019objectif de ce chapitre est de garantir que les relations entre les donn\u00e9es (lignes, colonnes, en-t\u00eates) soient clairement identifiables et compr\u00e9hensibles, notamment pour les personnes utilisant un lecteur d\u2019\u00e9cran.<\/span><\/p>\n<h2><span style=\"text-decoration: underline;\">Deux types de tableaux \u00e0 distinguer<\/span><\/h2>\n<p><span style=\"text-decoration: underline;\">Le RGAA fait une distinction essentielle entre deux usages :<\/span><\/p>\n<ul>\n<li>\n<p><span style=\"text-decoration: underline;\">Les <strong>tableaux de donn\u00e9es <\/strong>: utilis\u00e9s pour pr\u00e9senter des informations structur\u00e9es<\/span><\/p>\n<\/li>\n<li>\n<p><span style=\"text-decoration: underline;\">Les <strong>tableaux de mise en page<\/strong> : utilis\u00e9s uniquement pour organiser visuellement du contenu (\u00e0 \u00e9viter autant que possible)<\/span><\/p>\n<\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\">Seuls les tableaux de donn\u00e9es doivent utiliser les balises sp\u00e9cifiques du HTML tabulaire.<\/span><\/p>\n<h2><span style=\"text-decoration: underline;\">Les r\u00e8gles fondamentales pour les tableaux de donn\u00e9es<\/span><\/h2>\n<p>Pour \u00eatre accessible, un tableau doit :<\/p>\n<ul>\n<li>\n<p>D\u00e9finir clairement ses en-t\u00eates de colonnes et\/ou de lignes<\/p>\n<\/li>\n<li>\n<p>Permettre de comprendre la relation entre chaque cellule et son en-t\u00eate<\/p>\n<\/li>\n<li>\n<p>Avoir un titre ou une l\u00e9gende si n\u00e9cessaire<\/p>\n<\/li>\n<li>\n<p>\u00catre lisible m\u00eame lorsqu\u2019il est parcouru de mani\u00e8re lin\u00e9aire (lecture vocale)<\/p>\n<\/li>\n<\/ul>\n<p>Ces \u00e9l\u00e9ments permettent aux lecteurs d\u2019\u00e9cran d\u2019annoncer correctement les informations.<\/p>\n<h4>Exemple 1 : tableau simple avec en-t\u00eates de colonnes<\/h4>\n<pre><code class=\"language-html\">&lt;table&gt;\n  &lt;caption&gt;Ventes trimestrielles 2024&lt;\/caption&gt;\n  &lt;thead&gt;\n    &lt;tr&gt;\n      &lt;th scope=\"col\"&gt;Trimestre&lt;\/th&gt;\n      &lt;th scope=\"col\"&gt;Produit A&lt;\/th&gt;\n      &lt;th scope=\"col\"&gt;Produit B&lt;\/th&gt;\n    &lt;\/tr&gt;\n  &lt;\/thead&gt;\n  &lt;tbody&gt;\n    &lt;tr&gt;\n      &lt;td&gt;T1&lt;\/td&gt;\n      &lt;td&gt;120&lt;\/td&gt;\n      &lt;td&gt;95&lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;T2&lt;\/td&gt;\n      &lt;td&gt;140&lt;\/td&gt;\n      &lt;td&gt;110&lt;\/td&gt;\n    &lt;\/tr&gt;\n  &lt;\/tbody&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n<p>Bonnes pratiques :<\/p>\n<ul>\n<li>\n<p>Utilisation de <code>&lt;th&gt;<\/code> pour les en-t\u00eates<\/p>\n<\/li>\n<li>\n<p>Attribut <code>scope=\"col\"<\/code> pour associer les colonnes<\/p>\n<\/li>\n<li>\n<p><code>&lt;caption&gt;<\/code> pour donner un titre au tableau<\/p>\n<\/li>\n<\/ul>\n<p>Un lecteur d\u2019\u00e9cran pourra annoncer :<br \/>\u00ab Produit A, 120 \u00bb en lisant la cellule correspondante.<\/p>\n<h4>Exemple 2 : tableau avec en-t\u00eates de lignes<\/h4>\n<pre><code class=\"language-html\">&lt;table&gt;\n  &lt;caption&gt;Population par r\u00e9gion&lt;\/caption&gt;\n  &lt;tr&gt;\n    &lt;th scope=\"row\"&gt;\u00cele-de-France&lt;\/th&gt;\n    &lt;td&gt;12 000 000&lt;\/td&gt;\n  &lt;\/tr&gt;\n  &lt;tr&gt;\n    &lt;th scope=\"row\"&gt;Occitanie&lt;\/th&gt;\n    &lt;td&gt;6 000 000&lt;\/td&gt;\n  &lt;\/tr&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n<p>Ici, <code>scope=\"row\"<\/code> permet d\u2019associer chaque donn\u00e9e \u00e0 son en-t\u00eate de ligne.<\/p>\n<h4>Exemple 3 : tableau complexe avec plusieurs niveaux d\u2019en-t\u00eates<\/h4>\n<p>Dans certains cas, les en-t\u00eates sont imbriqu\u00e9s. On peut alors utiliser des identifiants pour relier les cellules.<\/p>\n<pre><code class=\"language-html\">&lt;table&gt;\n  &lt;caption&gt;R\u00e9sultats annuels par service&lt;\/caption&gt;\n  &lt;tr&gt;\n    &lt;th id=\"annee\"&gt;&lt;\/th&gt;\n    &lt;th id=\"ventes\"&gt;Ventes&lt;\/th&gt;\n    &lt;th id=\"support\"&gt;Support&lt;\/th&gt;\n  &lt;\/tr&gt;\n  &lt;tr&gt;\n    &lt;th id=\"2023\"&gt;2023&lt;\/th&gt;\n    &lt;td headers=\"2023 ventes\"&gt;120&lt;\/td&gt;\n    &lt;td headers=\"2023 support\"&gt;80&lt;\/td&gt;\n  &lt;\/tr&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n<p>L\u2019attribut <code>headers<\/code> permet de pr\u00e9ciser \u00e0 quels en-t\u00eates chaque cellule est li\u00e9e.<\/p>\n<h4>Exemple 4 : tableau avec description compl\u00e9mentaire<\/h4>\n<pre><code class=\"language-html\">&lt;p id=\"desc-tableau\"&gt;\n  Ce tableau pr\u00e9sente l\u2019\u00e9volution des ventes sur deux ann\u00e9es cons\u00e9cutives.\n&lt;\/p&gt;\n\n&lt;table aria-describedby=\"desc-tableau\"&gt;\n  &lt;caption&gt;Comparatif des ventes&lt;\/caption&gt;\n  ...\n&lt;\/table&gt;\n<\/code><\/pre>\n<p>Ici, <code>aria-describedby<\/code> apporte un contexte suppl\u00e9mentaire.<\/p>\n<h2><span style=\"text-decoration: underline;\">Utilisation d\u2019ARIA : quand est-ce utile ?<\/span><\/h2>\n<p>Dans la majorit\u00e9 des cas, le HTML natif suffit largement si la structure est correcte. Les balises <code>&lt;table&gt;<\/code>, <code>&lt;th&gt;<\/code>, <code>&lt;td&gt;<\/code>, <code>&lt;caption&gt;<\/code> et les attributs <code>scope<\/code> couvrent les besoins.<\/p>\n<p>ARIA peut \u00eatre utile dans des cas sp\u00e9cifiques :<\/p>\n<h4>Ajouter un r\u00f4le explicite (rarement n\u00e9cessaire)<\/h4>\n<pre><code class=\"language-html\">&lt;table role=\"table\"&gt;\n<\/code><\/pre>\n<p>Ce cas concerne surtout des composants recr\u00e9\u00e9s en HTML non tabulaire.<\/p>\n<h4>Associer une description d\u00e9taill\u00e9e<\/h4>\n<pre><code class=\"language-html\">&lt;table aria-label=\"Tableau des r\u00e9sultats financiers 2024\"&gt;\n<\/code><\/pre>\n<p>Ou :<\/p>\n<pre><code class=\"language-html\">&lt;table aria-describedby=\"explication\"&gt;\n<\/code><\/pre>\n<p>Cela permet de donner un contexte global.<\/p>\n<h4>Exemple 5 : faux tableau cr\u00e9\u00e9 avec des div (\u00e0 \u00e9viter)<\/h4>\n<pre><code class=\"language-html\">&lt;div role=\"table\"&gt;\n  &lt;div role=\"row\"&gt;\n    &lt;div role=\"columnheader\"&gt;Nom&lt;\/div&gt;\n    &lt;div role=\"columnheader\"&gt;Score&lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;\n<\/code><\/pre>\n<p>Ce type de structure est possible avec ARIA, mais fortement d\u00e9conseill\u00e9 si un vrai tableau peut \u00eatre utilis\u00e9.<\/p>\n<p>Le principe RGAA reste :<\/p>\n<blockquote>\n<p>Privil\u00e9gier le HTML natif plut\u00f4t que recr\u00e9er un tableau avec ARIA.<\/p>\n<\/blockquote>\n<h4>Les tableaux de mise en page : vigilance<\/h4>\n<p>Si un tableau est utilis\u00e9 uniquement pour la mise en page :<\/p>\n<ul>\n<li>\n<p>Il ne doit pas contenir de balises <code>&lt;th&gt;<\/code><\/p>\n<\/li>\n<li>\n<p>Il ne doit pas induire une lecture erron\u00e9e<\/p>\n<\/li>\n<li>\n<p>Il doit rester simple et lin\u00e9aire<\/p>\n<\/li>\n<\/ul>\n<p>Cependant, cette pratique est aujourd\u2019hui d\u00e9conseill\u00e9e.<\/p>\n<h2><span style=\"text-decoration: underline;\">Erreurs fr\u00e9quentes observ\u00e9es en audit<\/span><\/h2>\n<p>Parmi les probl\u00e8mes courants :<\/p>\n<ul>\n<li>\n<p>Donn\u00e9es pr\u00e9sent\u00e9es sans en-t\u00eates<\/p>\n<\/li>\n<li>\n<p>En-t\u00eates visuels non cod\u00e9s en <code>&lt;th&gt;<\/code><\/p>\n<\/li>\n<li>\n<p>Absence de titre ou de l\u00e9gende<\/p>\n<\/li>\n<li>\n<p>Tableaux complexes incompr\u00e9hensibles \u00e0 la lecture vocale<\/p>\n<\/li>\n<li>\n<p>Utilisation excessive d\u2019ARIA pour compenser une mauvaise structure<\/p>\n<\/li>\n<\/ul>\n<p>Ces erreurs rendent la compr\u00e9hension difficile pour les utilisateurs de lecteurs d\u2019\u00e9cran.<\/p>\n<h2><span style=\"text-decoration: underline;\">Impact concret pour les utilisateurs<\/span><\/h2>\n<p>Un lecteur d\u2019\u00e9cran lit les tableaux cellule par cellule. Sans structure claire, l\u2019utilisateur entend uniquement une suite de chiffres ou de mots sans lien entre eux.<\/p>\n<p>Avec une bonne structuration, chaque donn\u00e9e est annonc\u00e9e avec son contexte :<\/p>\n<ul>\n<li>\n<p>Nom de la colonne<\/p>\n<\/li>\n<li>\n<p>Nom de la ligne<\/p>\n<\/li>\n<li>\n<p>Valeur<\/p>\n<\/li>\n<\/ul>\n<p>Cela transforme totalement l\u2019exp\u00e9rience de lecture.<\/p>\n<h2><span style=\"text-decoration: underline;\">Conclusion<\/span><\/h2>\n<p>Le chapitre 5 du RGAA insiste sur une structuration rigoureuse des tableaux de donn\u00e9es afin que les relations entre les informations soient clairement identifiables. L\u2019utilisation correcte des balises HTML d\u00e9di\u00e9es suffit dans la majorit\u00e9 des cas \u00e0 garantir une bonne accessibilit\u00e9.<\/p>\n<p>Les attributs ARIA peuvent compl\u00e9ter certains cas complexes, mais ils ne doivent jamais remplacer une structure tabulaire correcte. Un tableau bien construit devient ainsi lisible, compr\u00e9hensible et exploitable pour tous les utilisateurs, quel que soit leur mode de navigation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Le chapitre 5 du RGAA concerne les tableaux de donn\u00e9es. Tr\u00e8s utilis\u00e9s pour pr\u00e9senter des informations chiffr\u00e9es, des comparatifs [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-108","post","type-post","status-publish","format-standard","hentry","category-comprendre-le-rgaa"],"_links":{"self":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":0,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}