landmark-main-is-top-level
Le landmark main doit être de premier niveau
Vérifie que le landmark main (role="main" ou <main>) n’est pas imbriqué dans une autre région landmark.
Applicabilité. S’applique dès que la page contient au moins un landmark main (role="main" explicite, ou élément <main> implicite). Un élément personnalisé auquel ses ElementInternals donnent un rôle de landmark (this.attachInternals().role), sans attribut role qui en nomme un autre, est un landmark au même titre qu’un élément natif doté de ce rôle.
Attendu. Aucun landmark main n’a d’ancêtre qui soit lui-même une région landmark. Une région main imbriquée dans un autre landmark n’est pas une zone de contenu principal de premier niveau couvrant toute la page, et elle perturbe la navigation par landmarks des utilisateurs de technologies d’assistance.
Exemples
<main>Content</main>
Le landmark main n’est imbriqué dans aucun autre landmark.
<div role="navigation"><main>Nested main</main></div>
Le landmark main est imbriqué dans un landmark navigation au lieu d’être de premier niveau.
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.
LANDMARK_MAIN_NOT_TOP_LEVEL
- Repérez le repère main indiqué par le rapport et le repère dans lequel il se trouve.
- Ouvrez la liste des repères d’un lecteur d’écran, ou le panneau Accessibilité, et regardez où apparaît main.
- Vérifiez si main est le conteneur le plus externe du contenu principal de la page.
Réussite. Le repère main se trouve au premier niveau de la page, en dehors de tout autre repère.
Échec. Le repère main se trouve dans un autre repère, ce qui perturbe la navigation par repères, un manquement aux bonnes pratiques selon le rôle WAI-ARIA main.