Critère 7.1

Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ?

Pré-vérifiéRGAA 4.1.23 tests officiels

Comprendre

Les composants créés par script (menus, onglets, dialogues) doivent exposer noms, rôles et états aux technologies d’assistance.

Ce critère s’applique lorsque la page contient : scripts.

Ce que vérifie Agence RGAA

Notre moteur détecte automatiquement des anomalies, mais une personne doit confirmer la pertinence avant de conclure.

Nous détectons automatiquement :

  • attributs ARIA non autorisés
  • attributs ARIA obligatoires manquants
  • attributs ARIA inconnus
  • valeurs d’attributs ARIA invalides
  • rôles ARIA invalides
  • rôles ARIA sans enfants requis
  • rôles ARIA sans parent requis
  • contenus focalisables dans un bloc aria-hidden
  • contrôles interactifs imbriqués
  • commandes ARIA sans nom
  • champs ARIA sans nom
  • interrupteurs ARIA sans nom
  • dialogues ARIA sans nom

Un résultat automatique n’est jamais un audit : seul un contrôle humain (en interne ou par un auditeur RGAA) permet de conclure.

Exemple de correction

Un bouton natif expose son état avec aria-expanded
<button aria-expanded="false" aria-controls="menu-services">Services</button>
<ul id="menu-services" hidden>…</ul>
Des onglets avec tous leurs rôles
<div role="tablist" aria-label="Informations">
  <button role="tab" id="t1" aria-selected="true" aria-controls="p1">Horaires</button>
  <button role="tab" id="t2" aria-selected="false" aria-controls="p2" tabindex="-1">Accès</button>
</div>
<div role="tabpanel" id="p1" aria-labelledby="t1">…</div>
Voir un exemple à éviter
Attribut non autorisé, valeur invalide, rôle sans son parent
<div role="button" aria-checked="true">…</div>
<button aria-expanded="oui">…</button>
<div role="tab">…</div>
  • Préférez d’abord l’élément HTML natif : ARIA seulement quand il n’existe pas.
  • Un composant personnalisé doit exposer son nom, son rôle et son état.
  • Testez avec un lecteur d’écran (NVDA, VoiceOver).

Patron de référence à adapter à votre contexte : il ne vaut pas validation du critère.

Tests officiels

  1. Test 7.1.1

    Chaque script qui génère ou contrôle un composant d’interface vérifie-t-il, si nécessaire, une de ces conditions ? Le nom, le rôle, la valeur, le paramétrage et les changements d’états sont accessibles aux technologies d’assistance via une API d’accessibilité ; Un composant d’interface accessible permettant d’accéder aux mêmes fonctionnalités est présent dans la page ; Une alternative accessible permet d’accéder aux mêmes fonctionnalités.

    Méthodologie de test
    1. Retrouver dans le document tous les composants d’interface générés ou contrôlés au moyen de JavaScript ;
    2. Vérifier que :
      • Le composant possède un rôle cohérent avec son usage (généralement un bouton ou un lien) ;
      • Le composant possède un nom explicite ;
      • Le nom du composant est cohérent avec l’état de la fonctionnalité ou des contenus contrôlés (par exemple pour une fonctionnalité permettant d’afficher ou de masquer une zone de contenu).
    3. Sinon, vérifier la présence d’un composant d’interface accessible permettant d’accéder aux mêmes fonctionnalités ;
    4. Sinon, vérifier la présence d’une alternative accessible permettant d’accéder aux mêmes fonctionnalités.
    5. Si c’est le cas, le test est validé.
  2. Test 7.1.2

    Chaque script qui génère ou contrôle un composant d’interface respecte-t-il une de ces conditions ? Le composant d’interface est correctement restitué par les technologies d’assistance ; Une alternative accessible permet d’accéder aux mêmes fonctionnalités.

    Méthodologie de test
    1. Pour chacun des composants d’interface ayant validé le test 7.1.1, vérifier que le composant d’interface est correctement restitué par les technologies d’assistance ;
    2. Sinon, vérifier qu’une alternative accessible au composant d’interface permet d’accéder aux mêmes fonctionnalités ;
    3. Si c’est le cas, le test est validé.
  3. Test 7.1.3

    Chaque script qui génère ou contrôle un composant d’interface vérifie-t-il ces conditions (hors cas particuliers) ? Le composant possède un nom pertinent ; Le nom accessible du composant contient au moins l’intitulé visible ; Le composant possède un rôle pertinent.

    Méthodologie de test
    1. Pour chacun des composants d’interface ayant validé le test 7.1.1, vérifier que le composant d’interface possède :
      • Un nom pertinent (intitulé visible) ;
      • Un rôle pertinent.
    2. Si le composant d’interface possède un nom accessible, vérifier que ce nom est pertinent et contient au moins l’intitulé visible.
    3. Si c’est le cas, le test est validé.

Texte officiel du référentiel RGAA 4.1.2 publié par la DINUM — voir la source.

Critère RGAA 7.1 : Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ? | Agence RGAA