Critère 7.1 Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ?
Texte officiel du RGAA 4.1.2. Voir aussi le critère 7.1 sur accessibilite.numerique.gouv.fr.
Tests
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 du test 7.1.1
- Retrouver dans le document tous les composants d’interface générés ou contrôlés au moyen de JavaScript ;
- 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).
- Sinon, vérifier la présence d’un composant d’interface accessible permettant d’accéder aux mêmes fonctionnalités ;
- Sinon, vérifier la présence d’une alternative accessible permettant d’accéder aux mêmes fonctionnalités.
- Si c’est le cas, le test est validé.
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 du test 7.1.2
- 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 ;
- Sinon, vérifier qu’une alternative accessible au composant d’interface permet d’accéder aux mêmes fonctionnalités ;
- Si c’est le cas, le test est validé.
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 du test 7.1.3
- 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.
- Si le composant d’interface possède un nom accessible, vérifier que ce nom est pertinent et contient au moins l’intitulé visible.
- Si c’est le cas, le test est validé.
Cas particuliers
Il existe une gestion de cas particuliers pour le test 7.1.3 lorsque :
- La ponctuation et les lettres majuscules sont présentes dans le texte de l’intitulé visible : elles peuvent être ignorées dans le nom accessible sans porter à conséquence ;
- Le texte de l’intitulé visible sert de symbole : le texte ne doit pas être interprété littéralement au niveau du nom accessible. Le nom doit exprimer la fonction véhiculée par le symbole (par exemple, “B” au niveau d’un éditeur de texte aura pour nom accessible “Mettre en gras”, le signe “>” en fonction du contexte signifiera “Suivant” ou “Lancer la vidéo”). Le cas des symboles mathématiques fait cependant exception (voir la note ci-dessous).
Note : si l’étiquette visible représente une expression mathématique, les symboles mathématiques peuvent être repris littéralement pour servir d’étiquette au nom accessible (ex. : “A>B”). Il est laissé à l’utilisateur le soin d’opérer la correspondance entre l’expression et ce qu’il doit épeler compte tenu de la connaissance qu’il a du fonctionnement de son logiciel de saisie vocale (“A plus grand que B” ou “A supérieur à B”).
Notes techniques
Le critère 7.1 implémente la notion de « compatible avec les technologies d’assistance » telle que définie par les WCAG, ainsi que le recours à WAI-ARIA pour rendre un composant ou une fonctionnalité accessible. Le bon usage de WAI-ARIA est vérifié via les tests 7.1.1, 7.1.2, 7.1.3.
Note importante : dans un environnement HTML5, beaucoup de composants peuvent nécessiter JavaScript pour fonctionner ; en conséquence la fourniture d’une alternative à un composant JavaScript qui ne pourrait pas être rendu accessible devra bénéficier d’une méthode spécifique au composant en cause, permettant de le remplacer par une alternative accessible (et de le réactiver). Cela signifie que la désactivation de JavaScript pour l’ensemble de la page ne sera pas acceptée comme une méthode valable, à moins qu’elle ne remette pas en cause l’utilisation des autres composants.
Références WCAG 2.1
- 2.5.3 Label in Name (niveau A)
- 4.1.2 Name, Role, Value (niveau A)
Techniques WCAG : G10, G135, G136, F15, F19, F20, F42, F59, F79, ARIA4, ARIA5, ARIA18, ARIA19, SCR21
Ce que l’audit automatique peut détecter
Règles qui vérifient directement ce critère
Ces règles d’axe-core 4.14.0 citent un test de ce critère. Elles repèrent une partie des erreurs ; le reste du critère demande une vérification humaine.
aria-allowed-attr: Ensure an element's role supports its ARIA attributesTest 7.1.1.aria-conditional-attr: Ensure ARIA attributes are used as described in the specification of the element's roleTest 7.1.1.aria-deprecated-role: Ensure elements do not use deprecated rolesTest 7.1.1.aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's roleTest 7.1.1.aria-required-attr: Ensure elements with ARIA roles have all required ARIA attributesTest 7.1.1.aria-roles: Ensure all elements with a role attribute use a valid valueTest 7.1.1.aria-tab-name: Ensure every ARIA tab node has an accessible nameTest 7.1.1.aria-toggle-field-name: Ensure every ARIA toggle field has an accessible nameTest 7.1.1.aria-valid-attr: Ensure attributes that begin with aria- are valid ARIA attributesTest 7.1.1.aria-valid-attr-value: Ensure all ARIA attributes have valid valuesTest 7.1.1.nested-interactive: Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologiesTest 7.1.1.
Règles liées indirectement (via WCAG 4.1.2) — signal faible
Ces règles ne citent aucun test de ce critère : elles vérifient un critère WCAG qu’il partage avec d’autres critères RGAA. Une erreur qu’elles signalent peut relever d’un autre critère, et leur silence ne prouve rien ici.
aria-braille-equivalent: Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalentVia WCAG 4.1.2.aria-tooltip-name: Ensure every ARIA tooltip node has an accessible nameVia WCAG 4.1.2.summary-name: Ensure summary elements have discernible textVia WCAG 4.1.2.
Source : RGAA 4.1.2 (WCAG 2.1), © DINUM, publié dans le dépôt DISIC/accessibilite.numerique.gouv.fr (commit ca4019f), sous Licence Ouverte 2.0. Texte officiel reproduit sans modification de contenu ; certains attributs de mise en forme (liens ouverts dans une nouvelle fenêtre, lien mort) sont retirés. Seuls les encadrés « Explication Rampe — non normative » sont rédigés par Rampe.