Skip to content

Conversation

@cedric07
Copy link
Contributor

Fix a11y pour le bloc table gutenberg

https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#5

https://a11y-guidelines.orange.com/en/articles/accessible-table/#general-presentation

  • Ajout d'un role="presentation" pour les tableux de mise en forme
  • Ajout d'un scope="col" sur les <th> de l'entête du tableau sur les tableaux de données
  • Fix de la légende / titre du tableau dans le cas d'un tableau de données pour utiliser <caption>

@francoistibo
Copy link
Contributor

@cedric07 envisageable de mettre ca dans un plugin dédié a l'amélioration de l'accessibilité des blocs GUT ?

@francoistibo
Copy link
Contributor

@firestar300
Copy link
Contributor

J'ai crée une issue sur le dépôt Git officiel : WordPress/gutenberg#72490

Copy link
Contributor

@firestar300 firestar300 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Après recherche et demande à l'IA, les tableaux de Gutenberg sont des tableaux de données et ne devraient jamais avoir le role="presentation" qui est destiné aux tableaux de mise en forme. Si l'on implémente cet attribut :

  • ❌ Les lecteurs d'écran ne sauraient plus que c'est un tableau
  • ❌ Perte de la navigation par tableau (touche T)
  • ❌ Perte de l'association en-têtes/cellules
  • ❌ Confusion totale pour les utilisateurs de technologies d'assistance

@cedric07
Copy link
Contributor Author

cedric07 commented Oct 21, 2025

Après recherche et demande à l'IA, les tableaux de Gutenberg sont des tableaux de données et ne devraient jamais avoir le role="presentation" qui est destiné aux tableaux de mise en forme. Si l'on implémente cet attribut :

  • ❌ Les lecteurs d'écran ne sauraient plus que c'est un tableau
  • ❌ Perte de la navigation par tableau (touche T)
  • ❌ Perte de l'association en-têtes/cellules
  • ❌ Confusion totale pour les utilisateurs de technologies d'assistance

Pas d’accord avec ça et l’IA pour le coup. Le RGAA est assez spécifique sur les tableaux, si on se fie 100% aux critères et lexique du RGAA, un tableau sans en-tête de ligne ou de colonne est considéré comme un tableau de mise en forme et à besoin de l’attribut rôle. D’ailleurs cela remonte en erreur dans les tests d’accessibilité.

Un tableau de données contient des en-têtes de ligne ou de colonnes (th) ce qui n’est pas le cas par défaut dans gutenberg si on n’en spécifie pas.

Il y a aussi des tableaux complexes qui ont besoin d’éléments spécifiques à l’accessibilité

La PR ajoute un attribut rôle sur les tableaux de mise en forme (qui n’ont pas d’en-tête)
Et ajoute les attributs scope sur les tableaux de données (qui contiennent des en-têtes)

C’est détaillé ici avec des exemples : https://access42.net/integrer-tableaux-html-accessibles-conformes-rgaa/

Parle des tableaux gutenberg non conformes au RGAA contrairement aux tableaux fait avec le Classic editor :
https://access42.net/wordpress-accessibilite-tableaux-donnees-accessibles/

Le but du rôle c'est plutôt de ne pas avoir de soucis d'accessibilité et de restitution, si le client n'a pas renseigné d'entête. Au moins le tableau sera simplement ignoré plutôt qu'annoncé n'importe comment.
Souvent les contributeurs gèrent les entêtes en colorant le fond des cellules ou en mettant en gras les textes...

Mais je vais modifier la PR pour garder que la partie des scope le reste c'est pas top, trop bourrin

MarieComet
MarieComet previously approved these changes Nov 5, 2025
@cedric07 cedric07 merged commit 8e45bde into master Nov 5, 2025
5 of 7 checks passed
@cedric07 cedric07 deleted the fix/table-block branch November 5, 2025 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants