1.3. Structurer la zone de contenu principal avec <main role="main">
La zone de contenu principal des pages doit être balisée avec <main role="main">
.
Attention
Une page ne doit contenir qu’une seule balise <main role="main">
visible.
<header role="banner">[…]</header> <nav role="navigation">[…]</nav> <main role="main">[…]</main> <footer role="contentinfo">[…]</footer>
4 commentaires
-
Je ne suis pas sûr d’être convaincu :
– Le critère 9.2.1 ne parle que des balises HTML et non de l’attribut role.
– Le critère 12.6.1 n’indique pas que l’attribut role est obligatoire. Cet attribut constitue une des possibilités qui peut permettre de naviguer entre les différentes zones du document. Mais on a la possibilité d’opter pour une des autres solutions. Par exemple, si on a mis en place un menu d’accessibilité qui permet d’aller vers chacune de ces zones, ce critère est respecté sans ajouter ces roles redondant.
N’êtes vous pas d’accord ?
-
Bonjour Mathias,
Vous avez raison. En suivant strictement les tests du RGAA, ces rôles ne sont pas obligatoires et d’autres solutions sont envisageables pour être conforme. La mise en place d’un menu d’accessibilité permettant d’aller vers chacune de ces zones est une solution conforme, s’il est développé de façon accessible et répond aux exigences du critère 12.2 Dans chaque ensemble de pages, le menu et les barres de navigation sont-ils toujours à la même place (hors cas particuliers) ?
Nous avons choisi de notre côté de présenter uniquement la solution avec ces rôles, plus facile à implémenter mais aussi plus accessible aux utilisateurs d’aides techniques. Avec un lecteur d’écran par exemple, il existe un raccourci permettant de se déplacer directement entre les régions de la page, ce qui évite de devoir revenir au menu d’accessibilité pour atteindre ces zones. De ce fait, l’absence des rôles ARIA sur ces balises de régions est susceptible d’empêcher d’utiliser ce raccourci.
Les notices AcceDe Web proposent des solutions permettant d’atteindre la conformité RGAA mais aussi et avant tout de faciliter la navigation et la compréhension de l’information aux utilisateurs qui en ont besoin. Ce sont aussi des notices qui se veulent rapides à lire et à comprendre. Les solutions données ne sont donc pas toujours uniques, et en parcourant le RGAA, vous pourrez effectivement trouver d’autres alternatives pour valider certains critères.
Bien à vous,
Romain
-
-
Bonjour,
Quand on écrit une balise , le validateur HTML du W3C https://validator.w3.org/ indique : « Warning: The main role is unnecessary for element main. »
Cet avertissement correspond à ce qu’on peut lire sur https://www.w3.org/TR/html-aria/#avoid-specifying-redundant-roles
« 3.2 Éviter de spécifier des rôles redondants
[…]
un role=Main sur un élément main n’est pas nécessaire, car l’élément principal est implicitement exposé en tant que role=main ».Dans le chapitre « 1. Structure générale » de ce site, de nombreux autres roles sont concernés et, si vous êtes d’accord avec moi, devrait être retirés.
-
Bonjour Mathias,
Effectivement vous avez raison, en règle générale il est important d’éviter de spécifier des rôles redondants, et d’utiliser les balises HTML lorsque c’est possible.
Cependant, les balises de région permettant de structurer les différentes zones de la page sont une exception et vont nécessiter une double spécification en HTML et en ARIA. Cette double mention est d’ailleurs explicitement demandée dans le RGAA 4.1 au niveau des tests 9.2.1 (présence de la balise) et 12.6.1 (présence du rôle). L’objectif étant de garantir une bonne restitution pour les aides techniques.
Le validateur HTML donne en effet un avertissement, puisqu’il doit étendre la règle générale à toutes les balises sans prendre en compte ces exceptions. Il ne s’agit que d’un avertissement, qui sera ignoré lors de la validation du code HTML pour la conformité liée à l’accessibilité.
J’espère avoir pu répondre à votre question.
Bonne journée à vous,
Romain
-