RGAA Lab

RGAA 4.1.2 · Scripts · Critère 7.3

Chaque script est-il contrôlable par le clavier et par tout dispositif de pointage (hors cas particuliers) ?

Ce qui ne s'atteint qu'à la souris n'existe pas pour qui navigue au clavier, à la commande vocale ou au contacteur — et ce qui ne s'atteint qu'au clavier exclut à son tour l'utilisateur d'écran tactile.

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. 7.3.1
    Chaque élément possédant un gestionnaire d’événement contrôlé par un script vérifie-t-il une de ces conditions (hors cas particuliers) ?
    • L’élément est accessible par le clavier et tout dispositif de pointage ;
    • Un élément accessible par le clavier et tout dispositif de pointage permettant de réaliser la même action est présent dans la page.
  2. 7.3.2
    Un script ne doit pas supprimer le focus d’un élément qui le reçoit. Cette règle est-elle respectée (hors cas particuliers) ?

Comment le vérifier

  1. Parcourir la page entière à la tabulation, sans toucher la souris, et vérifier qu'on atteint et qu'on active chaque élément interactif.
  2. Vérifier les composants riches à leurs touches attendues : flèches dans un menu ou des onglets, Échap pour fermer une modale, Entrée et Espace pour activer.
  3. Vérifier les zones défilantes : un bloc qui déborde doit pouvoir être fait défiler au clavier, donc être atteignable dans l'ordre de tabulation.
  4. Vérifier qu'aucun script ne retire le focus de l'élément qui vient de le recevoir — le symptôme est un focus qui « saute » ou revient au début de la page.
  5. Refaire le parcours au pointeur là où c'est pertinent : ce qui n'est déclenché que par keydown échoue à l'écran tactile.
  6. Si un élément reste inatteignable, chercher dans la page un autre élément accessible qui permet la même action : le référentiel l'accepte.

Ce que notre outil fait

Assisté

Le moteur repère les éléments concernés et vous pose la question. Il ne conclut pas à votre place.

Le moteur tranche deux cas mesurables : une zone défilante qu'aucun élément focusable ne permet d'atteindre, et un <iframe> contenant des éléments interactifs mais retiré de l'ordre de tabulation. Le reste — un gestionnaire posé sur un <div>, une modale qui ne se ferme pas à Échap, un focus repris par un script — se constate en parcourant la page. C'est la vérification manuelle la plus longue de l'audit, et la plus productive.

Règles ACT du W3C mises en œuvre : 0ssw9k, akn7bn

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.

  • onclick sur un <div> reste le cas le plus courant. Un <button> résout d'un coup le focus, l'activation au clavier et le rôle annoncé.
  • tabindex="0" rend focusable, pas activable : sans gestionnaire clavier, Entrée ne fait rien.
  • Un menu qui ne s'ouvre qu'au survol se ferme dès qu'on tabule dedans, si l'ouverture n'écoute pas aussi le focus.
  • tabindex positif réordonne la tabulation de toute la page et casse la cohérence : la valeur 0 suffit presque toujours.
  • Un piège au clavier — modale dont on ne sort plus — relève du 12.9, pas de ce critère.

À lire avec