RGAA Lab

RGAA 4.1.2 · Navigation · Critère 12.9

Dans chaque page web, la navigation ne doit pas contenir de piège au clavier. Cette règle est-elle respectée ?

Un piège au clavier immobilise complètement : plus moyen d'avancer, plus moyen de revenir, il ne reste qu'à recharger la page et à recommencer.

Ce que dit le référentiel

Transcription du RGAA 4.1.2, sans interprétation. C’est ce texte qui fait foi, et celui que vous citez dans un rapport.

  1. 12.9.1
    Dans chaque page web, chaque élément recevant le focus vérifie-t-il une de ces conditions ?
    • Il est possible d’atteindre l’élément suivant ou précédent pouvant recevoir le focus avec la touche de tabulation ;
    • L’utilisateur est informé d’un mécanisme fonctionnel permettant d’atteindre au clavier l’élément suivant ou précédent pouvant recevoir le focus.

Comment le vérifier

  1. Parcourir la page à la touche Tab jusqu'au bout, puis en sens inverse avec Maj+Tab.
  2. S'arrêter à chaque élément où le focus semble ne plus bouger, et essayer d'en sortir.
  3. Éprouver en particulier les composants riches : lecteurs vidéo, éditeurs de texte, cartes interactives, fenêtres modales, contenus embarqués en <iframe>.
  4. Si une sortie existe mais n'est pas la tabulation — Échap, Ctrl+M —, vérifier qu'elle est annoncée à l'utilisateur au moment où il en a besoin.

Ce que notre outil fait

Détecté automatiquement

Notre moteur tranche seul sur ce critère : un échec est une non-conformité, avec la preuve qui va avec.

La règle déplace réellement le focus dans la page et constate qu'il ne peut plus en sortir. Elle ne voit rien de ce qui se passe à l'intérieur d'une <iframe> d'un autre domaine ni dans un greffon : ces cas se vérifient à la main.

Règles ACT du W3C mises en œuvre : 80af7b

Comment nous mesurons ce que l'outil sait faire · ce critère s'audite dans l'extension RGAA Lab.

Les pièges

Les erreurs qu’on rencontre vraiment, relevées au fil des audits.

  • La fenêtre modale qui confine le focus sans offrir de fermeture au clavier est le piège le plus fréquent — et le plus facile à produire par accident.
  • Un gestionnaire de keydown qui appelle preventDefault() sans discernement neutralise la touche Tab.
  • Un piège documenté reste conforme, mais la documentation doit être atteignable depuis le piège : une aide en pied de page ne sert à rien.

À lire avec