Critères du RGAA 3 2017 (Référentiel Général d'Amélioration de l'Accessibilité), version web par Tanaguru
Ce site web a pour vocation de présenter le RGAA sous une forme différente de la version officielle, qui nous convient mieux chez Tanaguru. Il présente les mêmes contenus que la version officielle. Cependant, des coquilles ont pu se glisser dans nos pages. N'hésitez pas à nous les signaler sur le projet Github !
Filtres
Sommaire
Mode d'emploi
Ce référentiel s’applique à tout contenu HTML (HTML4, XHTML1 et HTML5). Il utilise, pour certains tests une base de référence prenant en compte un ensemble de technologies d’assistance, de navigateurs et de systèmes d’exploitation sur lesquels l’accessibilité des composants d’interface développés par JavaScript doit être vérifiée notamment. Une description détaillée de la base de référence est disponible ici : base de référence.
Note importante pour tout contenu antérieur à la spécification HTML5 :
Lorsque le code HTML de la page n’est pas du HTML5, les éléments HTML5 (balises et attributs) exigés par un critère ou test sont non applicables. Tous les autres critères ou tests restent applicables, y compris les dispositifs ARIA. Les critères et tests suivants sont non applicables :
Critère 1.10 ;
Critère 9.2 ;
Test 11.10.1 (condition 2 relative à l’attribut HTML5 required).
Méthode de validation
Le niveau de conformité est établi au niveau des critères selon ces statuts :
Conforme (C) : l’ensemble des tests applicables sont réussis ;
Non Conforme (NC) : un test applicable est échoué, au moins ;
Non Applicable (NA) : il n’y a pas de contenu concerné par le critère.
RGAA propose, en plus de ces trois statuts de validation, deux statuts complémentaires :
Dérogé (D) : il existe des contenus dérogés applicables au critère ;
Non Testé (NT) : le critère n’a pas été testé.
Vous pouvez consulter, à ce sujet, le guide d’accompagnement : Comment vérifie-t-on la conformité au RGAA ?
Critère 1.1 [A] Chaque image a-t-elle une alternative textuelle ?
Test 1.1.1 : Chaque image (balise img) a-t-elle un attribut alt ?
Test 1.1.2 : Chaque zone (balise area) d’une image réactive a-t-elle un attribut alt ?
Test 1.1.3 : Chaque bouton de type image (balise input avec l’attribut type="image") a-t-il un attribut alt ?
Test 1.1.4 : Chaque zone cliquable d’une image réactive coté serveur est-t-elle doublée d’un lien dans la page ?
Critère 1.2 [A] Pour chaque image de décoration ayant une alternative textuelle, cette alternative est-elle vide ?
Test 1.2.1 : Chaque image (balise img) de décoration, sans légende, et ayant un attribut alt, vérifie-t-elle ces conditions ?
Le contenu de l’attribut alt est vide (alt="") ;
L’image de décoration ne possède pas d’attribut title ;
La balise img est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image (aria-label, aria-describedby, aria-labelledby par exemple).
Test 1.2.2 : Chaque zone non cliquable (balise area sans attribut href) de décoration, et ayant un attribut alt, vérifie-t-elle ces conditions ?
Le contenu de l’attribut alt est vide (alt="") ;
La zone non cliquable ne possède pas d’attribut title ;
La balise area est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image (aria-label, aria-describedby, aria-labelledby par exemple).
Test 1.2.3 : Chaque image objet (balise object avec l’attribut type="image/…") de décoration, sans légende, vérifie-t-elle ces conditions ?
La balise object possède un attribut aria-hidden="true" ;
L’alternative textuelle entre <object> et </object> est vide ;
La balise object ou l'un de ses enfants est dépourvue d'attribut title ;
\
La balise object ou l’un de ses enfants est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image (aria-label, aria-describedby, aria-labelledby par exemple).
Test 1.2.4 : Chaque image vectorielle (balise svg) de décoration, sans légende, vérifie-t-elle ces conditions ?
La balise svg possède un attribut aria-hidden="true" ;
Les balises title et desc sont absentes ou vides ;
La balise svg ou l’un de ses enfants est dépourvue d’attribut title ;
La balise svg ou l’un de ses enfants est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image vectorielle (aria-label, aria-describedby, aria-labelledby par exemple).
Test 1.2.5 : Chaque image bitmap (balise canvas) de décoration, sans légende, vérifie-t-elle ces conditions ?
La balise canvas possède un attribut aria-hidden="true" ;
Le contenu entre <canvas> et </canvas> est dépourvue de contenus textuels ;
La balise canvas ou l’un de ses enfants est dépourvue d’attribut title ;
La balise canvas ou l’un de ses enfants est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image (aria-label, aria-describedby, aria-labelledby par exemple).
Test 1.2.6 : Chaque image embarquée (balise embed avec l’attribut type="image/…") de décoration, sans légende, vérifie-t-elle ces conditions ?
La balise embed possède un attribut aria-hidden="true" ;
La balise La balise embed ou l’un de ses enfants est dépourvue d’attribut title ;
\
La balise embed ou l’un de ses enfants est dépourvue de rôle, propriété ou état ARIA visant à labelliser l’image (aria-label, aria-describedby, aria-labelledby par exemple).
Critère 1.3 [A] Pour chaque image porteuse d’information ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut alt ;
S’il est présent, le contenu de la propriété aria-label est identique au contenu de l’attribut alt ;
S’il est présent, le contenu du passage de texte lié via la propriété aria-labelledby est identique au contenu de l’attribut alt.
Test 1.3.3 : Chaque bouton de type image (balise input avec l’attribut type="image"), ayant un attribut alt, vérifie-t-il ces conditions (hors cas particuliers) ?
Le contenu de l’attribut alt est pertinent ;
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut alt ;
S’il est présent, le contenu de la propriété aria-label est identique au contenu de l’attribut alt ;
S’il est présent, le contenu du passage de texte lié via la propriété aria-labelledby est identique au contenu de l’attribut alt.
L’image objet est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative pertinente. ;
Un mécanisme permet à l’utilisateur de remplacer l’image objet par un texte alternatif pertinent ;
Un mécanisme permet à l’utilisateur de remplacer l’image objet par une image possédant une alternative pertinente.
Test 1.3.5 : Chaque image objet (balise object avec l’attribut type="image/…") porteuse d’information, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
Test 1.3.6 : Chaque image embarquée (balise embed avec l’attribut type="image/…") porteuse d’information vérifie-t-elle une de ces conditions (hors cas particuliers) ?
L’image embarquée est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative pertinente ;
Un mécanisme permet à l’utilisateur de remplacer l’image embarquée par un texte alternatif pertinent ;
Un mécanisme permet à l’utilisateur de remplacer l’image embarquée par une image possédant une alternative pertinente.
Test 1.3.7 : Chaque image embarquée (balise embed avec l’attribut type="image/…") porteuse d’information, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
La balise svg possède une propriété aria-label dont le contenu est pertinent et identique à l’attribut title s’il est présent ;
La balise svg possède une balise desc dont le contenu est pertinent et contient un passage de texte identique à la propriété aria-label.
Test 1.3.9 : Pour chaque image vectorielle (balise svg) porteuse d’information et possédant une alternative, cette alternative est-elle correctement restituée par les technologies d’assistance ?
Le contenu de l’alternative (contenu entre <canvas> et </canvas>) est pertinent ;
L’image bitmap est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative pertinente ;
Un mécanisme permet à l’utilisateur de remplacer l’image bitmap par un texte alternatif pertinent ;
Un mécanisme permet à l’utilisateur de remplacer l’image bitmap par une image possédant une alternative pertinente.
Test 1.3.11 : Chaque image bitmap (balise canvas) porteuse d’information, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
Test 1.3.12 : Pour chaque image bitmap (balise canvas) porteuse d’information et possédant une alternative (contenu entre <canvas> et </canvas>), cette alternative est-elle correctement restituée par les technologies d’assistance ?
Critère 1.4 [A] Pour chaque image utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative permet-elle d’identifier la nature et la fonction de l’image ?
Test 1.4.1 : Chaque image (balise img) utilisée comme CAPTCHA ou comme image-test, ayant un attribut alt, vérifie-t-elle ces conditions ?
Le contenu de l’attribut alt permet de comprendre la nature et la fonction de l’image ;
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut alt ;
S’il est présent, le contenu de la propriété aria-label est identique au contenu de l’attribut alt ;
S’il est présent, le contenu du passage de texte lié via la propriété aria-labelledby est identique au contenu de l’attribut alt.
Test 1.4.2 : Chaque zone (balise area) d’une image réactive utilisée comme CAPTCHA ou comme image-test, ayant un attribut alt, vérifie-t-elle ces conditions ?
Le contenu de l’attribut alt permet de comprendre la nature et la fonction de la zone ;
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut alt ;
S’il est présent, le contenu de la propriété aria-label est identique au contenu de l’attribut alt ;
S’il est présent, le contenu du passage de texte lié via la propriété aria-labelledby est identique au contenu de l’attribut alt.
Test 1.4.3 : Chaque bouton associé à une image (balise input avec l’attribut type="image") utilisée comme CAPTCHA ou comme image-test, ayant un attribut alt, vérifie-t-il ces conditions ?
Le contenu de l’attribut alt permet de comprendre la nature et la fonction du bouton ;
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut alt ;
S’il est présent, le contenu de la propriété aria-label est identique au contenu de l’attribut alt ;
S’il est présent, le contenu du passage de texte lié via la propriété aria-labelledby est identique au contenu de l’attribut alt.
Test 1.4.4 : Chaque image objet (balise object avec l’attribut type="image/…") utilisée comme CAPTCHA ou comme image-test vérifie-t-elle une de ces conditions ?
L’image objet est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image objet par un texte alternatif permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image objet par une image possédant une alternative permettant de comprendre la nature et la fonction de l’image.
Test 1.4.5 : Chaque image objet (balise object avec l’attribut type="image/…") utilisée comme CAPTCHA ou comme image-test, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
Test 1.4.6 : Chaque image embarquée (balise embed avec l’attribut type="image/…") utilisée comme CAPTCHA ou comme image-test vérifie-t-elle une de ces conditions ?
L’image embarquée est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image embarquée par un texte alternatif permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image embarquée par une image possédant une alternative permettant de comprendre la nature et la fonction de l’image.
Test 1.4.7 : Chaque image embarquée (balise embed avec l’attribut type="image/…") utilisée comme CAPTCHA ou comme image-test, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
Test 1.4.8 : Chaque image vectorielle (balise svg) utilisée comme CAPTCHA ou comme image-test, en l’absence d’alternative, vérifie-t-elle ces conditions ?
La balise svg possède un role="img" ;
La balise svg possède une propriété aria-label dont le contenu permet de comprendre la nature et la fonction de l’image et identique à l’attribut title s’il est présent ;
La balise svg possède une balise desc dont le contenu permet de comprendre la nature et la fonction de l’image et identique à la propriété aria-label ;
Un lien adjacent permet d’accéder à une alternative dont le contenu permet de comprendre la nature et la fonction de l’image et identique à la propriété aria-label.
Test 1.4.9 : Pour chaque image vectorielle (balise svg) utilisée comme CAPTCHA ou comme image-test, possédant une alternative, cette alternative est-elle correctement restituée par les technologies d’assistance ?
Test 1.4.10 Chaque image bitmap (balise canvas) utilisée comme CAPTCHA ou comme image-test vérifie-t-elle une de ces conditions ?
Le contenu de l’alternative (contenu entre <canvas> et </canvas>) permet de comprendre la nature et la fonction de l’image ;
L’image bitmap est immédiatement suivie d’un lien adjacent permettant d’afficher une page ou un passage de texte contenant une alternative permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image bitmap par un texte alternatif permettant de comprendre la nature et la fonction de l’image ;
Un mécanisme permet à l’utilisateur de remplacer l’image bitmap par une image possédant une alternative permettant de comprendre la nature et la fonction de l’image.
Test 1.4.11 : Chaque image bitmap (balise canvas) utilisée comme CAPTCHA ou comme image-test, qui utilise une propriété aria-label, aria-labelledby ou un attribut title, vérifie-t-elle ces conditions ?
S’il est présent, le contenu de l’attribut title est identique au contenu de l’attribut aria-label ;
S’il est présent, le contenu de l’attribut title est identique au passage de texte lié par la propriété aria-labelledby.
Test 1.4.12 : Pour chaque image bitmap (balise canvas) utilisée comme CAPTCHA ou comme image-test, ayant une alternative (contenu entre <canvas> et </canvas>), cette, l’alternative textuelle est-elle correctement restituée par les technologies d’assistance ?
Critère 1.5 [A] Pour chaque image utilisée comme CAPTCHA, une solution d’accès alternatif au contenu ou à la fonction du CAPTCHA est-elle présente ?
Test 1.5.1 : Chaque image (balises img, area, object, embed, svg, canvas) utilisée comme CAPTCHA vérifie-t-elle une de ces conditions ?
Il existe une autre forme de CAPTCHA non graphique, au moins ;
Il existe une autre solution d’accès à la fonctionnalité sécurisée par le CAPTCHA.
Test 1.5.2 : Chaque bouton associé à une image (balise input avec l’attribut type="image") utilisée comme CAPTCHA vérifie-t-il une de ces conditions ?
Il existe une autre forme de CAPTCHA non graphique, au moins ;
Il existe une autre solution d’accès à la fonctionnalité sécurisée par le CAPTCHA.
Il existe un attribut alt contenant la référence à une description détaillée adjacente à l’image ;
Il existe un lien adjacent (via une url ou une ancre) permettant d’accéder au contenu de la description détaillée ;
Il existe une propriété aria-describedby référençant un passage de texte faisant office de description détaillée.
Test 1.6.5 : Chaque bouton de type image (balise input avec l’attribut type="image") porteur d’information, qui implémente une référence à une description détailléevia une propriété aria-describedby, vérifie-t-il ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
La valeur de la propriété ARIA aria-describedby est égale à la valeur de l’attribut id.
Il existe une propriété aria-label contenant une référence à une description détaillée adjacente à l’image vectorielle ;
La balise title contient la description détaillée ;
Il existe une balise desc contenant la description détaillée ;
Il existe un lien adjacent (via une url ou une ancre) permettant d’accéder au contenu de la description détaillée.
Test 1.6.7 : Pour chaque image vectorielle (balise svg) porteuse d’information, qui implémente une référence à une description détaillée adjacente via une propriété aria-label ou une balise desc, cette référence est-elle correctement restituée par les technologies d’assistance ?
Test 1.6.8 : Chaque image bitmap (balise canvas), qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
Il existe un passage de texte entre <canvas> et </canvas> contenant une référence à une description détaillée adjacente à l’image bitmap ;
Il existe un contenu textuel entre <canvas> et </canvas> faisant office de description détaillée ;
Il existe un lien adjacent (via une url ou une ancre) permettant d’accéder au contenu de la description détaillée.
Test 1.6.10 : Pour chaque image (balise img, area, object, embed, svg, canvas) porteuse d’information, qui implémente une description détaillée et qui utilise une propriété aria-describedby, la propriété aria-describedby référence-t-elle la description détaillée ?
Critère 1.7 [A] Pour chaque image porteuse d’information ayant une description détaillée, cette description est-elle pertinente ?
Critère 1.8 [AA] Chaque image texte porteuse d’information, en l’absence d’un mécanisme de remplacement, doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?
Critère 1.9 [AAA] Chaque image texte porteuse d’information, doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?
Critère 1.10 [A] Chaque légende d’image est-elle, si nécessaire, correctement reliée à l’image correspondante ?
Test 1.10.1 : Chaque image légendée (balise img ou input avec l’attribut type="image" associée à une légende adjacente) vérifie-t-elle, si nécessaire, ces conditions ?
L’image (balise img) et sa légende sont contenues dans une balise figure ;
La balise figure possède un attribut role="group" ;
Le contenu de l’attribut alt de l’image contient une référence à la légende adjacente.
Test 1.10.2 : Chaque image objet légendée (balise object avec l’attribut type="image/…" associée à une légende adjacente) vérifie-t-elle, si nécessaire, ces conditions ?
L’image objet (balise object) et sa légende sont contenues dans une balise figure ;
La balise figure possède un attribut role="group".
Test 1.10.3 : Chaque image embarquée légendée (balise embed associée à une légende adjacente) vérifie-t-elle, si nécessaire, ces conditions ?
L’image embarquée (balise embed) et sa légende sont contenues dans une balise figure ;
La balise figure possède un attribut role="group" ;
L’alternative contient une référence à la légende adjacente.
Test 1.10.4 : Chaque image vectorielle légendée (balise svg associée à une légende adjacente) vérifie-t-elle, si nécessaire, ces conditions ?
L’image vectorielle (balise svg) et sa légende sont contenues dans une balise figure ;
La balise figure possède un role="group" ;
Le contenu de la propriété aria-label ou de la balise desc de l’image vectorielle contient une référence à la légende adjacente.
Test 1.10.5 : Chaque image bitmap légendée (balise canvas associée à une légende adjacente) vérifie-t-elle, si nécessaire, ces conditions ?
L’image bitmap (balise canvas) et sa légende sont contenues dans une balise figure ;
La balise figure possède un attribut role="group" ;
Le contenu entre <canvas> et </canvas> de l’image bitmap contient une référence à la légende adjacente.
Ne pas donner l’information uniquement par la couleur et utiliser des contrastes de couleurs suffisamment élevés.
Mots clés
Principe : Perceptible
Critère 3.1 [A] Dans chaque page Web, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Test 3.1.1 : Pour chaque mot ou ensemble de mots dont la mise en couleur est porteuse d’information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Test 3.1.2 : Pour chaque indication de couleur donnée par un texte, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Test 3.1.3 : Pour chaque image véhiculant une information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Test 3.1.5 : Pour chaque média temporel véhiculant une information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Test 3.1.6 : Pour chaque média non temporel véhiculant une information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
Critère 3.2 [A] Dans chaque page Web, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle implémentée de façon pertinente ?
Test 3.2.1 : Pour chaque mot ou ensemble de mots dont la mise en couleur est porteuse d’information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle implémentée de façon pertinente ?
Test 3.2.2 : Pour chaque indication de couleur donnée par un texte, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle implémentée de façon pertinente ?
Test 3.2.5 : Pour chaque média temporel véhiculant une information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle implémentée de façon pertinente ?
Critère 3.3 [AA] Dans chaque page Web, le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé (hors cas particuliers) ?
Le rapport de contraste entre le texte et son arrière-plan est de 3:1, au moins ;
Un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 3:1, au moins.
Test 3.3.5 : Chaque mécanisme qui permet d'afficher le texte avec un rapport de contraste conforme a-t-il un rapport de contraste supérieur ou égal à 4,5:1 ?
Critère 3.4 [AAA] Dans chaque page Web, le contraste entre la couleur du texte et la couleur de son arrière-plan est-il amélioré (hors cas particuliers) ?
Le rapport de contraste entre le texte et son arrière-plan est de 4.5:1, au moins ;
Un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 4.5:1, au moins.
Test 3.4.5 : Chaque mécanisme qui permet d'afficher le texte avec un rapport de contraste conforme a-t-il un rapport de contraste supérieur ou égal à 7:1 ?
Critère 4.1 [A] Chaque média temporel pré-enregistré a-t-il, si nécessaire, une transcription textuelle ou une audio-description (hors cas particuliers) ?
Test 4.1.1 : Chaque média temporel pré-enregistré seulement audio, vérifie-t-il, si nécessaire, l’une de ces conditions (hors cas particuliers) ?
Il existe une version alternative avec une audio-description synchronisée accessible via un lien adjacent (une url ou une ancre).
Critère 4.2 [A] Pour chaque média temporel pré-enregistré ayant une transcription textuelle ou une audio-description synchronisée, celles-ci sont-elles pertinentes (hors cas particuliers) ?
Il existe une version alternative possédant des sous-titres synchronisés accessible via un lien adjacent (une url ou une ancre).
Test 4.3.2 : Pour chaque média temporel synchronisé pré-enregistré possédant des sous-titres synchronisés diffusés via une balise track, la balise track possède-t-elle un attribut kind="captions"
Critère 4.4 [A] Pour chaque média temporel synchronisé pré-enregistré ayant des sous-titres synchronisés, ces sous-titres sont-ils pertinents ?
Critère 4.5 [AA] Chaque média temporel en direct a-t-il, si nécessaire, des sous-titres synchronisés ou une transcription textuelle (hors cas particuliers) ?
Test 4.5.1 : Chaque média temporel seulement audio en direct vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Il existe une version alternative avec une audio-description synchronisée.
Critère 4.8 [AA] Pour chaque média temporel pré-enregistré ayant une audio-description synchronisée, celle-ci est-elle pertinente ?
Test 4.8.1 : Pour chaque média temporel pré-enregistré seulement vidéo ayant une audio-description synchronisée, celle-ci est-elle pertinente ?
Test 4.8.2 : Pour chaque média temporel synchronisé ayant une audio-description synchronisée, celle-ci est-elle pertinente ?
Critère 4.9 [AAA] Chaque média temporel pré-enregistré a-t-il, si nécessaire, une interprétation en langue des signes (hors cas particuliers) ?
Test 4.9.1 : Chaque média temporel pré-enregistré seulement audio a-t-il, si nécessaire, une interprétation en langue des signes adaptée à la langue du média (hors cas particuliers) ?
Test 4.9.2 : Chaque média temporel synchronisé pré-enregistré a-t-il, si nécessaire, une interprétation en langue des signes adaptée à la langue du média (hors cas particuliers) ?
Critère 4.10 [AAA] Pour chaque média temporel pré-enregistré ayant une interprétation en langue des signes, celle-ci est-elle pertinente ?
Test 4.10.1 : Pour chaque média temporel pré-enregistré seulement audio ayant une interprétation en langue des signes, celle-ci est-elle pertinente ?
Test 4.10.2 : Pour chaque média temporel synchronisé pré-enregistré ayant une interprétation en langue des signes, celle-ci est-elle pertinente ?
Critère 4.11 [AAA] Chaque média temporel pré-enregistré a-t-il, si nécessaire, une audio-description étendue synchronisée (hors cas particuliers) ?
Test 4.11.1 : Chaque média temporel synchronisé pré-enregistré vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Critère 4.15 [A] Chaque média temporel est-il clairement identifiable (hors cas particuliers) ?
Test 4.15.1 : Pour chaque média temporel seulement son, seulement vidéo ou synchronisé, le contenu textuel adjacent permet-il d’identifier clairement le média temporel (hors cas particuliers) ?
Test 4.15.2 : Pour chaque média temporel seulement son en direct, seulement vidéo en direct ou synchronisé en direct, le contenu textuel adjacent permet-il d’identifier clairement le média temporel (hors cas particuliers) ?
Critère 4.16 [A] Chaque média non temporel a-t-il, si nécessaire, une alternative (hors cas particuliers) ?
Un lien adjacent, clairement identifiable, contient l’adresse (url) d’une page contenant une alternative ;
Un lien adjacent, clairement identifiable, permet d’accéder à une alternative dans la page.
Test 4.16.2 : Chaque média non temporel associé à une alternative vérifie-t-il une de ces conditions (hors cas particuliers) ?
La page référencée par le lien adjacent est accessible ;
L’alternative dans la page, référencée par le lien adjacent, est accessible.
Critère 4.17 [A] Pour chaque média non temporel ayant une alternative, cette alternative est-elle pertinente ?
Test 4.17.1 : Pour chaque média non temporel ayant une alternative, cette alternative permet-elle d’accéder au même contenu et à des fonctionnalités similaires ?
Critère 4.18 [A] Chaque son déclenché automatiquement est-il contrôlable par l’utilisateur ?
Test 4.18.1 : Chaque séquence sonore déclenchée automatiquement via une balise object, video, audio, embed, bgsound ou un code JavaScript vérifie-t-elle une de ces conditions ?
La séquence sonore a une durée inférieure ou égale à 3 secondes ;
La séquence sonore peut être stoppée sur action de l’utilisateur ;
Le volume de la séquence sonore peut être contrôlé par l’utilisateur indépendamment du contrôle de volume du système.
Critère 4.19 [AAA] Pour chaque média temporel seulement audio pré-enregistré, les dialogues sont-ils suffisamment audibles (hors cas particuliers) ?
Test 4.19.1 : Chaque média temporel audio pré-enregistré et diffusé via une balise object, video, audio, embed, bgsound, ou proposé en téléchargement, vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’arrière-plan sonore peut être désactivé ;
La ou les pistes de dialogue sont 20 décibels plus élevées que l’arrière-plan sonore ;
Il existe une version alternative pour laquelle l’arrière-plan sonore peut être désactivé ;
Il existe une version alternative pour laquelle la ou les pistes de dialogue sont 20 décibels plus élevées que l’arrière-plan sonore.
Critère 4.20 [A] La consultation de chaque média temporel est-elle, si nécessaire, contrôlable par le clavier et la souris ?
Le nom, le rôle, la valeur, le paramétrage et les changements d’états des composants d’interfaces sont accessibles aux technologies d’assistance via une API d’accessibilité ;
Critère 5.7 [A] Pour chaque tableau de données, la technique appropriée permettant d’associer chaque cellule avec ses en-têtes est-elle utilisée ?
Test 5.7.1 : Chaque en-tête (balise th) s’appliquant à la totalité de la ligne ou de la colonne possède-t-il un attribut id unique ou un attribut scope ?
Test 5.7.2 : Chaque en-tête (balise th) s’appliquant à la totalité de la ligne ou de la colonne et possédant un attribut scope vérifie-t-il une de ces conditions ?
L’en-tête possède un attribut scope avec la valeur "row" pour les en-tête de lignes ;
L’en-tête possède un attribut scope avec la valeur "col" pour les en-tête de colonnes.
Test 5.7.3 : Chaque en-tête (balise th) ne s’appliquant pas à la totalité de la ligne ou de la colonne vérifie-t-il ces conditions ?
L’en-tête ne possède pas d’attribut scope ;
L’en-tête possède un attribut id unique.
Test 5.7.4 : Chaque cellule (balise td ou th) associée à un ou plusieurs en-têtes possédant un attribut id vérifie-t-elle ces conditions ?
La cellule possède un attribut headers ;
L’attribut headers possède la liste des valeurs des en-têtes associés à la cellule.
Critère 5.8 [A] Chaque tableau de mise en forme ne doit pas utiliser d’éléments propres aux tableaux de données. Cette règle est-elle respectée ?
Test 7.1.3 : Chaque script qui génère, met à jour ou contrôle un composant d’interface qui comporte des rôles des états ou des propriétés correspondant à un motif de conception défini par l’API ARIA vérifie-t-il une de ces conditions ?
Le composant d’interface est conforme au motif de conception défini par l’API ARIA ;
Un composant d’interface présent sur la page, permettant d’accéder aux mêmes fonctionnalités, est conforme au motif de conception défini par l’API ARIA ;
Une alternative accessible permet d’accéder aux mêmes fonctionnalités.
Test 7.1.4 : Chaque modification du rôle natif d’un élément HTML respecte-t-elle les règles et préconisations indiquées dans la spécification HTML5 et les notes techniques associées ?
Test 7.1.5 : 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.
Test 7.1.6 : Chaque composant d’interface qui utilise un rôle ARIA application 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.
Critère 7.2 [A] Pour chaque script ayant une alternative, cette alternative est-elle pertinente ?
Test 7.2.1 : Chaque script débutant par la balise script et ayant une alternative vérifie-t-il une de ces conditions ?
L’alternative entre <noscript> et </noscript> permet d’accéder à des contenus et des fonctionnalités similaires ;
La page affichée, lorsque JavaScript est désactivé, permet d’accéder à des contenus et des fonctionnalités similaires ;
La page alternative permet d’accéder à des contenus et des fonctionnalités similaires ;
Le langage de script côté serveur permet d’accéder à des contenus et des fonctionnalités similaires ;
L’alternative présente dans la page permet d’accéder à des contenus et des fonctionnalités similaires.
Test 7.2.2 : Chaque élément non textuel mis à jour par un script (dans la page, ou un cadre en ligne) et ayant une alternative vérifie-t-il ces conditions ?
L’alternative de l’élément non textuel est mise à jour ;
L’alternative mise à jour est pertinente.
Critère 7.3 [A] Chaque script est-il contrôlable par le clavier et la souris (hors cas particuliers) ?
Test 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) ?
Un élément accessible par le clavier et la souris permettant de réaliser la même action est présent dans la page.
Test 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) ?
Test 7.3.3 : Chaque composant d’interface implémenté via un rôle défini par l’API ARIA et correspondant à un motif de conception respecte-t-il une de ces conditions ?
Les interactions au clavier sont conformes au comportement défini par le motif de conception pour les touches Echap, Barre d’espace, Tabulation et Flèches de direction au moins ;
Un composant d’interface présent sur la page, permettant de réaliser la même action, possède des interactions au clavier conformes au comportement défini par le motif de conception, pour les touches Échap, Barre d’espace, Tabulation et Flèches de direction au moins ;
Critère 8.1 [A] Chaque page Web est-elle définie par un type de document ?
Test 8.1.1 : Pour chaque page Web, le type de document (balise doctype) est-il présent ?
Test 8.1.2 : Pour chaque page Web, le type de document (balise doctype) est-il valide ?
Test 8.1.3 : Pour chaque page Web possédant une déclaration de type de document, celle-ci est-elle située avant la balise html dans le code source ?
Critère 8.2 [A] Pour chaque page Web, le code source est-il valide selon le type de document spécifié (hors cas particuliers) ?
Test 8.2.1 : Pour chaque déclaration de type de document, le code source de la page vérifie-t-il ces conditions (hors cas particuliers) ?
Les balises respectent les règles d’écriture ;
L’imbrication des balises est conforme ;
L’ouverture et la fermeture des balises sont conformes ;
Les attributs respectent les règles d’écriture ;
Les valeurs des attributs respectent les règles d’écriture.
Test 8.2.2 : Pour chaque déclaration de type de document, le code source de la page ne doit pas utiliser d’éléments obsolètes. Cette règle est-elle respectée (hors cas particuliers) ?
Critère 8.3 [A] Dans chaque page Web, la langue par défaut est-elle présente ?
Test 8.3.1 : Pour chaque page Web, l’indication de langue par défaut vérifie-t-elle une de ces conditions ?
L’indication de la langue de la page (attribut lang et/ou xml:lang) est donnée pour l’élément html ;
L’indication de la langue de la page (attribut lang et/ou xml:lang) est donnée sur chaque élément de texte ou sur l’un des éléments parents.
Critère 8.4 [A] Pour chaque page Web ayant une langue par défaut, le code de langue est-il pertinent ?
Critère 8.5 [A] Chaque page Web a-t-elle un titre de page ?
Test 8.5.1 : Chaque page Web a-t-elle un titre de page (balise title) ?
Critère 8.6 [A] Pour chaque page Web ayant un titre de page, ce titre est-il pertinent ?
Test 8.6.1 : Pour chaque page Web ayant un titre de page (balise title), le contenu de cette balise est-il pertinent ?
Critère 8.7 [AA] Dans chaque page Web, chaque changement de langue est-il indiqué dans le code source (hors cas particuliers) ?
Test 8.7.1 : Dans chaque page Web, chaque texte écrit dans une langue différente de la langue par défaut vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’indication de langue est donnée sur l’élément contenant le texte ;
L’indication de langue est donnée sur un des éléments parents.
Critère 8.8 [AA] Dans chaque page Web, chaque changement de langue est-il pertinent ?
Test 8.8.1 : Dans chaque page Web, chaque changement de langue (attribut lang et/ou xml:lang) est-il valide ?
Test 8.8.2 : Dans chaque page Web, chaque changement de langue (attribut lang et/ou xml:lang) est-il pertinent ?
Critère 8.9 [A] Dans chaque page Web, les balises ne doivent pas être utilisées uniquement à des fins de présentation. Cette règle est-elle respectée ?
Test 8.9.1 : Dans chaque page Web les balises (à l’exception de div, span et table) ne doivent pas être utilisées uniquement à des fins de présentation. Cette règle est-elle respectée ?
Critère 8.10 [A] Dans chaque page Web, les changements du sens de lecture sont-ils signalés ?
Test 8.10.1 : Dans chaque page Web, chaque texte dont le sens de lecture est différent du sens de lecture par défaut est contenu dans une balise possédant un attribut dir ?
Test 8.10.2 : Dans chaque page Web, chaque changement du sens de lecture (attribut dir) vérifie-t-il ces conditions ?
La valeur de l’attribut dir est conforme (rtl ou ltr) ;
Utiliser des titres, des listes, des abréviations et des citations pour structurer l’information. S’assurer que la structure du document est cohérente.
Mots clés
Principe : Perceptible
Critère 9.1 [A] Dans chaque page Web, l’information est-elle structurée par l’utilisation appropriée de titres ?
Test 9.1.1 : Dans chaque page Web, y a-t-il un titre de niveau 1 (balise h1 ou balise possédant un rôle ARIA "heading" associé à une propriété aria-level="1") ?
Test 9.1.2 : Dans chaque page Web, la hiérarchie entre les titres (balise h ou balise possédant un rôle ARIA "heading" associé à une propriété aria-level) est-elle pertinente ?
Test 9.1.3 : Dans chaque page Web, chaque titre (balise h ou balise possédant un rôle ARIA "heading" associé à une propriété aria-level) nécessaire à la structure de l’information est-il présent ?
Test 9.1.4 : Dans chaque page Web, chaque titre (balise h ou balise possédant un rôle ARIA "heading" associé à une propriété aria-level) est-il pertinent ?
Critère 9.2 [A] Dans chaque page Web, la structure du document est-elle cohérente ?
Test 9.2.1 : Dans chaque page Web, la structure du document vérifie-t-elle ces conditions ?
Utiliser des feuilles de styles pour contrôler la présentation de l’information. Vérifier l’effet de l’agrandissement des taille des caractères sur la lisibilité. S’assurer que les liens sont correctement identifiables, que la prise de focus est signalée, que l’interlignage est suffisant et donner la possibilité à l’utilisateur de contrôler la justification des textes. S’assurer que les textes cachés sont correctement restitués et que l’information n’est pas donnée uniquement par la forme ou la position d’un élément.
Mots clés
Principe : Perceptible
Critère 10.1 [A] Dans le site Web, des feuilles de styles sont-elles utilisées pour contrôler la présentation de l’information ?
Test 10.1.1 : Dans chaque page Web, les balises servant à la présentation de l’information ne doivent pas être présentes dans le code source des pages. Cette règle est-elle respectée ?
Test 10.1.2 : Dans chaque page Web, les attributs servant à la présentation de l’information ne doivent pas être présents dans le code source des pages. Cette règle est-elle respectée ?
Test 10.1.3 : Dans chaque page Web, l’utilisation des espaces vérifie-t-elle ces conditions ?
Les espaces ne sont pas utilisés pour séparer les lettres d’un mot ;
Les espaces ne sont pas utilisés pour simuler des tableaux ;
Les espaces ne sont pas utilisés pour simuler des colonnes de texte.
Critère 10.2 [A] Dans chaque page Web, le contenu visible reste-t-il présent lorsque les feuilles de styles sont désactivées ?
Test 10.2.1 : Dans chaque page Web, l’information reste-t-elle présente lorsque les feuilles de styles sont désactivées ?
Critère 10.3 [A] Dans chaque page Web, l’information reste-t-elle compréhensible lorsque les feuilles de styles sont désactivées ?
Critère 10.4 [AA] Dans chaque page Web, le texte reste-t-il lisible lorsque la taille des caractères est augmentée jusqu’à 200%, au moins (hors cas particuliers) ?
Test 10.4.1 : Dans les feuilles de styles du site Web, les unités non relatives (pt, pc, mm, cm, in) ne doivent pas être utilisées pour les types de média screen, tv, handheld, projection. Cette règle est-elle respectée (hors cas particuliers) ?
Test 10.4.3 : Dans chaque page Web, l’augmentation de la taille des caractères jusqu’à 200%, au moins, ne doit pas provoquer de perte d’information. Cette règle est-elle respectée ?
Critère 10.5 [AA] Dans chaque page Web, les déclarations CSS de couleurs de fond d’élément et de police sont-elles correctement utilisées?
Test 10.5.1 : Dans chaque page Web, chaque déclaration CSS de couleurs de police (color), d’un élément susceptible de contenir du texte, est-elle accompagnée d’une déclaration de couleur de fond (background, background-color), au moins, héritée d’un parent ?
Test 10.5.2 : Dans chaque page Web, chaque déclaration de couleur de fond (background, background-color), d’un élément susceptible de contenir du texte, est-elle accompagnée d’une déclaration de couleur de police (color) au moins, héritée d’un parent ?
Test 10.5.3 : Dans chaque page Web, chaque utilisation d’une image pour créer une couleur de fond d’un élément susceptible de contenir du texte, via CSS (background, background-image), est-elle accompagnée d’une déclaration de couleur de fond (background, background-color), au moins, héritée d’un parent ?
Critère 10.6 [A] Dans chaque page Web, chaque lien dont la nature n’est pas évidente est-il visible par rapport au texte environnant ?
Test 10.6.1 : Dans chaque page Web, chaque lien texte signalé uniquement par la couleur, et dont la nature n’est pas évidente, a-t-il un rapport de contraste supérieur ou égal à 3:1 par rapport au texte environnant ?
Critère 10.7 [A] Dans chaque page Web, pour chaque élément recevant le focus, la prise de focus est-elle visible ?
Test 10.7.1 : Pour chaque élément recevant le focus, l’indication visuelle du navigateur ne doit pas être supprimée (propriété CSS outline, outline-color, outline-width, outline-style). Cette règle est-elle respectée ?
Test 10.7.2 : Pour chaque élément recevant le focus, l’indication visuelle du navigateur ne doit pas être dégradée (propriété CSS outline-color). Cette règle est-elle respectée ?
Une indication visuelle autre que la couleur permet de signaler la prise de focus au clavier ;
Une indication visuelle autre que la couleur permet de signaler le survol du lien à la souris.
Critère 10.8 [AAA] Dans chaque page Web, le choix de la couleur de fond et de police du texte est-il contrôlable par l’utilisateur ?
Test 10.8.1 : Pour chaque bloc de texte contenu dans une balise HTML, la couleur de fond est-elle contrôlable par l’utilisateur ?
Test 10.8.2 : Pour chaque bloc de texte contenu dans une balise HTML, la couleur de police est-elle contrôlable par l’utilisateur ?
Test 10.8.3 : Pour chaque bloc de texte contenu dans une balise object, embed, svg ou canvas, la couleur de fond est-elle contrôlable par l’utilisateur ?
Test 10.8.4 : Pour chaque bloc de texte contenu dans une balise object, embed, svg ou canvas, la couleur de police est-elle contrôlable par l’utilisateur ?
Critère 10.9 [AAA] Pour chaque page Web, le texte ne doit pas être justifié. Cette règle est-elle respectée ?
Test 10.9.1 : Chaque page Web vérifie-t-elle une de ces conditions ?
Le texte n’est pas justifié ;
Un mécanisme permet à l’utilisateur de supprimer la justification du texte.
Critère 10.10 [AAA] Pour chaque page Web, en affichage plein écran et avec une taille de police à 200%, chaque bloc de texte reste-t-il lisible sans l’utilisation de la barre de défilement horizontal ?
Test 10.10.1 : Dans chaque page Web, l’augmentation de la taille des caractères à 200% vérifie-t-elle une de ces conditions ?
En affichage plein écran, pour lire un bloc de texte, l’utilisation de la barre de défilement horizontal n’est pas nécessaire ;
Un mécanisme permet de rendre inutile l’utilisation de la barre de défilement horizontal pour lire un bloc de texte en affichage plein écran.
Critère 10.11 [AAA] Pour chaque page Web, les blocs de texte ont-ils une largeur inférieure ou égale à 80 caractères (hors cas particuliers) ?
Test 10.11.1 : Pour chaque page Web, chaque bloc de texte vérifie-t-il une de ces conditions (hors cas particuliers) ?
Chaque bloc de texte a une largeur inférieure ou égale à 80 caractères ;
L’utilisateur peut réduire la largeur de chaque bloc de texte à 80 caractères en redimensionnant la fenêtre de son navigateur.
Critère 10.12 [AAA] Pour chaque page Web, l’espace entre les lignes et les paragraphes est-il suffisant ?
Test 10.12.1 : Pour chaque page Web, chaque bloc de texte vérifie-t-il une de ces conditions ?
La valeur de l’interligne est égale à 1,5 fois la taille du texte, au moins ;
Un mécanisme permet d’augmenter la valeur de l’interligne à 1,5 fois la taille du texte, au moins.
Test 10.12.2 : Pour chaque page Web, chaque bloc de texte vérifie-t-il une de ces conditions ?
La valeur de l’espacement entre deux paragraphes est égale à 1,5 fois la valeur de l’interligne, au moins ;
Un mécanisme permet d’augmenter la valeur de l’espacement entre deux paragraphes à 1,5 fois la valeur de l’interligne, au moins.
Critère 10.13 [A] Pour chaque page Web, les textes cachés sont-ils correctement affichés pour être restitués par les technologies d’assistance ?
Test 10.13.1 : Dans chaque page Web, chaque texte caché vérifie-t-il une de ces conditions ?
Le texte n’a pas vocation à être restitué par les technologies d’assistance ;
Le texte est rendu visible sur action de l’utilisateur sur l’élément lui-même ou un élément précédant le texte caché ;
Le texte caché fait partie d’un motif de conception défini par l’API ARIA, prenant en charge l’état affiché ou masqué du contenu.
Critère 10.14 [A] Dans chaque page Web, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ?
Test 10.14.1 : Dans chaque page Web, pour chaque texte ou ensemble de textes, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ?
Test 10.14.2 : Dans chaque page Web, pour chaque image ou ensemble d’images, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ?
Critère 10.15 [A] Dans chaque page Web, l’information ne doit pas être donnée par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ?
Test 10.15.1 : Dans chaque page Web, pour chaque texte ou ensemble de textes, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle implémentée de façon pertinente ?
Test 10.15.2 : Dans chaque page Web, pour chaque image ou ensemble d’images, l’information ne doit pas être donnée par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ?
Test 10.15.3 : Dans chaque page Web, pour chaque média temporel, l’information ne doit pas être donnée par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ?
Test 10.15.4 : Dans chaque page Web, pour chaque média non temporel, l’information ne doit pas être donnée par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ?
Associer pour chaque formulaire chacun de ses champs à son étiquette, grouper les champs dans des blocs d’informations de même nature, structurer les listes de choix de manière pertinente, donner à chaque bouton un intitulé explicite. Vérifier la présence d’aide à la saisie, s’assurer que le contrôle de saisie est accessible et que l’utilisateur peut contrôler les données à caractère financier, juridique ou personnel.
Mots clés
Principe : Perceptible
Critère 11.1 [A] Chaque champ de formulaire a-t-il une étiquette ?
Test 11.1.1 : Chaque champ de formulaire vérifie-t-il une de ces conditions ?
Le champ de formulaire possède un attribut title ;
Une étiquette (balise label) est associée au champ de formulaire ;
Le champ de formulaire possède une propriété aria-label ;
Le champ de formulaire possède une propriété aria-labelledby référençant un passage de texte identifié.
La valeur de l’attribut for est égale à la valeur de l’attribut id du champ de formulaire associé.
Test 11.1.3 : Chaque champ de formulaire associé à une étiquettevia la propriété ARIA aria-labelledby, vérifie-t-il ces conditions ?
L’étiquettepossède un attribut id ;
La valeur de l’attribut id est unique ;
Les valeurs de la propriété ARIA aria-labelledby sont égales à la valeur des attributs id des passages de textes utilisés pour créer l’étiquette ;
Test 11.1.4 : Chaque champ de formulaire qui utilise une propriété ARIA aria-label ou aria-labelledby est-il, si nécessaire, accompagné d'un passage de texte visible et accolé au champ permettant de comprendre la nature de la saisie attendue ?
Test 11.1.5 : Chaque champ de formulaire qui utilise un attribut title comme étiquette, vérifie-t-il une de ces conditions ?
L’attribut placeholder est absent ;
L’attribut placeholder est identique à l’attribut title.
Critère 11.2 [A] Chaque étiquette associée à un champ de formulaire est-elle pertinente ?
Test 11.2.1 : Chaque étiquette (balise label) permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?
Test 11.2.2 : Chaque attribut title permet-il de connaître la fonction exacte du champ de formulaire auquel il est associé ?
Test 11.2.3 : Chaque étiquette implémentée via la propriété ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?
Test 11.2.4 : Chaque étiquette implémentée via la propriété ARIA aria-labelledby permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?
Critère 11.3 [AA] Dans chaque formulaire, chaque étiquette associée à un champ de formulaire ayant la même fonction et répété plusieurs fois dans une même page ou dans un ensemble de pages est-elle cohérente ?
Test 11.3.1 : Chaque étiquette associée à un champ de formulaire ayant la même fonction et répétée plusieurs fois dans une même page est-elle cohérente ?
Critère 11.4 [A] Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés ?
Test 11.4.1 : Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés ?
Critère 11.5 [A] Dans chaque formulaire, les informations de même nature sont-elles regroupées, si nécessaire ?
Test 11.5.1 : Dans chaque formulaire, les informations de même nature sont-elles regroupées, si nécessaire ?
Critère 11.6 [A] Dans chaque formulaire, chaque regroupement de champs de formulaire a-t-il une légende ?
Test 11.6.1 : Chaque regroupement de champs de formulaire possède-t-il une légende ?
Critère 11.7 [A] Dans chaque formulaire, chaque légende associée à un groupement de champs de formulaire est-elle pertinente ?
Test 11.7.1 : Dans chaque formulaire, chaque légende associée à un groupement de champs de formulaire est-elle pertinente ?
Critère 11.8 [A] Dans chaque formulaire, chaque liste de choix est-elle structurée de manière pertinente ?
Test 11.8.1 : Dans chaque formulaire, pour chaque liste de choix (balise select), les items sont-ils regroupés avec une balise optgroup, si nécessaire ?
Test 11.8.2 : Dans chaque liste de choix (balise select), chaque regroupement d’items de liste (balise optgroup) possède-t-il un attribut label ?
Test 11.8.3 : Pour chaque regroupement d’items de liste (balise optgroup) ayant un attribut label, le contenu de l’attribut label est-il pertinent ?
Critère 11.9 [A] Dans chaque formulaire, l’intitulé de chaque bouton est-il pertinent ?
Test 11.9.1 : Dans chaque formulaire, l’intitulé de chaque bouton vérifie-t-il ces conditions ?
Le contenu de l’attribut value des boutons de formulaire de type submit, reset ou button est pertinent ;
Le contenu de la balise <button> est pertinent ;
Le contenu de l’attribut title est pertinent ;
Le contenu de la propriété ARIA aria-label est pertinent ;
Un passage de texte est lié au bouton via une propriété aria-labelledby.
Test 11.9.2 : Dans chaque formulaire, l’intitulé de chaque bouton implémenté via une propriété ARIA aria-labelledby vérifie-t-il ces conditions ?
Le passage de texte servant d’intitulé possède un attribut id ;
La valeur de l’attribut id est unique ;
Les valeurs de la propriété ARIA aria-labelledby sont égales aux valeurs des attributs id des passages de texte utilisés pour créer l’intitulé ;
Le passage de texte est pertinent.
Critère 11.10 [A] Dans chaque formulaire, le contrôle de saisie est-il utilisé de manière pertinente ?
Test 11.10.1 : Pour chaque formulaire, les indications de champs obligatoires vérifient-elles une de ces conditions ?
L’indication de champ obligatoire est donnée par un passage de texte situé avant le champ de formulaire ;
L’indication de champ obligatoire est donnée via un attribut required ;
L’indication de champ obligatoire est donnée via la propriété ARIA aria-required ;
L’indication de champ obligatoire est donnée dans l’étiquette du champ de formulaire ;
L’indication de champ obligatoire est donnée par un passage de texte lié par la propriété ARIA aria-describedby.
Test 11.10.2 : Chaque indication de champ obligatoire qui utilise les propriétés ARIA aria-label, aria-required ou l’attribut required doit être accompagnée d’une indication visuelle explicite dans l’étiquette ou dans un passage de texte lié au champ par la propriété ARIA aria-describedby ou aria-labelledby, cette règle est-elle respectée ?
Test 11.10.3 : Chaque indication de champ obligatoire qui utilise un passage de texte lié par la propriété ARIA aria-describedby ou aria-labelledby vérifie-t-elle ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
Les valeurs de la propriété ARIA aria-describedby ou aria-labelledby sont égales aux valeurs des attributs id.
Test 11.10.4 : Pour chaque formulaire, les erreurs de saisie vérifient-elles une de ces conditions ?
L’erreur de saisie est indiquée par un passage de texte avant le champ de formulaire ;
Le champ de formulaire possède un type qui produit de manière automatique un message d’erreur de saisie ;
L’erreur de saisie est indiquée par un passage de texte lié par la propriété ARIA aria-describedby ;
L’erreur de saisie est indiquée via la propriété ARIA aria-invalid.
Test 11.10.5 : Chaque indication d’erreur de saisie réalisée grâce à la propriété ARIA aria-label ou aria-invalid doit être accompagnée d’une indication visuelle explicite dans l’étiquette : balise label, texte visible à proximité ou passage de texte lié au champ par la propriété ARIA aria-describedby ou aria-labelledby. Cette règle est-elle respectée ?
Test 11.10.6 : Chaque erreur de saisie qui utilise un passage de texte lié par la propriété ARIA aria-describedby ou aria-labelledby vérifie-t-elle ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
Les valeurs de la propriété ARIA aria-describedby ou aria-labelledby sont égales aux valeurs des attributs id des passages de texte utilisés pour créer l’étiquette.
Test 11.10.7 : Pour chaque formulaire, chaque champ obligatoire vérifie-t-il une de ces conditions ?
Le type de données et/ou de format est indiqué, si nécessaire, par un passage de texte avant le champ de formulaire ;
Le type de données et/ou de format est indiqué, si nécessaire, par un passage de texte lié par la propriété ARIA aria-describedby.
Test 11.10.8 : Chaque indication du type de données et/ou de format réalisée grâce à la propriété ARIA aria-label doit être accompagnée d’une indication visuelle explicite dans l’étiquette ou dans un passage de texte lié au champ par la propriété ARIA aria-describedby ou aria-labelledby, cette règle est-elle respectée ?
Test 11.10.9 : Chaque indication de type de données et/ou de format qui utilise un passage de texte lié par la propriété ARIA aria-describedby ou aria-labelledby vérifie-t-elle ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
Les valeurs de la propriété ARIA aria-describedby ou aria-labelledby sont égales aux valeurs des attributs id.
Test 11.10.10 : Chaque champ de formulaire qui utilise un attribut title comme aide à la saisie, vérifie-t-il une de ces conditions ?
L’attribut placeholder est absent ;
L’attribut placeholder est identique à l’attribut title.
Critère 11.11 [AA] Dans chaque formulaire, le contrôle de saisie est-il accompagné, si nécessaire, de suggestions facilitant la correction des erreurs de saisie ?
Test 11.11.2 : Pour chaque formulaire, pour chaque erreur de saisie, des exemples de valeurs attendues sont-ils suggérés, si nécessaire ?
Critère 11.12 [AA] Pour chaque formulaire, les données à caractère financier, juridique ou personnel peuvent-elles être modifiées, mises à jour ou récupérées par l’utilisateur ?
Test 11.12.1 : Pour chaque formulaire, la saisie des données à caractère financier, juridique ou personnelle vérifie-t-elle une de ces conditions ?
L’utilisateur peut modifier ou annuler les données et les actions effectuées sur ces données après leur saisie ;
L’utilisateur peut vérifier et corriger les données avant la validation du formulaire ;
Un mécanisme de confirmation explicite, via un champ de formulaire ou une étape supplémentaire, est présent.
Test 11.12.2 : Pour chaque formulaire, la suppression des données à caractère financier, juridique ou personnelle vérifie-t-elle une de ces conditions ?
Un mécanisme permet de récupérer les données supprimées par l’utilisateur ;
Un mécanisme de confirmation explicite de la suppression, via un champ de formulaire ou une étape supplémentaire, est présent.
Critère 11.13 [AAA] Pour chaque formulaire, toutes les données peuvent-elles être modifiées, mises à jour ou récupérées par l’utilisateur ?
Test 11.13.1 : Pour chaque formulaire, la saisie des données vérifie-t-elle une de ces conditions ?
L’utilisateur peut modifier ou annuler les données et les actions effectuées sur ces données après leur saisie ;
L’utilisateur peut vérifier et corriger les données avant la validation du formulaire ;
Un mécanisme de confirmation explicite, via un champ de formulaire ou une étape supplémentaire, est présent.
Test 11.13.2 : Pour chaque formulaire, la suppression des données vérifie-t-elle une de ces conditions ?
Un mécanisme permet de récupérer les données supprimées par l’utilisateur ;
Un mécanisme de confirmation explicite de la suppression, via un champ de formulaire ou une étape supplémentaire, est présent.
Critère 11.14 [AAA] Pour chaque formulaire, des aides à la saisie sont-elles présentes ?
Test 11.14.1 : Chaque formulaire vérifie-t-il une de ces conditions ?
Il existe des indications dans l’étiquette du champ de formulaire ;
Il existe des indications dans un passage de texte lié par la propriété ARIA aria-describedby ;
Un assistant est disponible.
Test 11.14.2 : Chaque indication qui utilise la propriété ARIA aria-label doit être accompagnée d’une indication visuelle équivalente explicite, cette règle est-elle respectée ?
Test 11.14.3 : Chaque indication qui utilise un passage de texte lié par la propriété ARIA aria-describedby vérifie-t-elle ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
La valeur de la propriété ARIA aria-describedby est égale à la valeur de l’attribut id.
Test 11.14.4 : Chaque champ de type texte vérifie-t-il, si nécessaire, l’une de ces conditions ?
Un correcteur orthographique est disponible ;
Des suggestions de saisie sont disponibles avant le champ du formulaire ;
Des suggestions de saisie sont disponibles dans un passage de texte lié par la propriété ARIA aria-describedby.
Test 11.14.5 : Chaque suggestion qui utilise la propriété ARIA aria-label doit être accompagnée d’une suggestion visuelle équivalente explicite, cette règle est-elle respectée ?
Test 11.14.6 : Chaque suggestion qui utilise un passage de texte lié par la propriété ARIA aria-describedby vérifie-t-elle ces conditions ?
Le passage de texte est identifié via un attribut id ;
La valeur de l’attribut id est unique ;
La valeur de la propriété ARIA aria-describedby est égale à la valeur de l’attribut id.
Critère 11.15 [AAA] Pour chaque formulaire, chaque aide à la saisie est-elle pertinente ?
Test 11.15.1 : Pour chaque formulaire, chaque aide à la saisie est-elle pertinente ?
Test 12.5.2 : Dans chaque ensemble de pages, la fonctionnalité vers la page "plan du site" est-elle située à la même place dans la présentation ?
Test 12.5.3 : Dans chaque ensemble de pages, la fonctionnalité vers la page "plan du site" se présente-t-elle toujours dans le même ordre relatif dans le code source ?
Critère 12.6 [AA] Dans chaque ensemble de pages, le moteur de recherche est-il atteignable de manière identique ?
Test 12.6.2 : Dans chaque ensemble de pages, la fonctionnalité vers le moteur de recherche est-elle située à la même place dans la présentation ?
Test 12.6.3 : Dans chaque ensemble de pages, la fonctionnalité vers le moteur de recherche se présente-t-elle toujours dans le même ordre relatif dans le code source ?
Critère 12.7 [AA] Dans chaque page d’une collection de pages, des liens facilitant la navigation sont-ils présents ?
Test 12.7.1 : Chaque page d’une collection de pages, vérifie-t-elle ces conditions ?
Les rôles ARIA banner, main, contentinfo et search sont uniques dans la page ;
Le rôle ARIA navigation est réservé aux zones de navigations principales et secondaires.
Critère 12.11 [A] Dans chaque page Web, des liens d’évitement ou d’accès rapide aux groupes de liens importants et à la zone de contenu sont-ils présents (hors cas particuliers) ?
Test 12.11.1 : Dans chaque page Web, un lien permet-il d’éviter chaque groupe de liens importants identifié ou d’y accéder (hors cas particuliers) ?
Test 12.11.2 : Dans chaque page Web, un lien permet-il d’éviter la zone de contenu identifiée ou d’y accéder (hors cas particuliers) ?
Vérifier que l’utilisateur a le contrôle des procédés de rafraîchissement, des changements brusques de luminosité, des ouvertures de nouvelles fenêtres et des contenus en mouvement ou clignotants. Indiquer lorsqu’un contenu s’ouvre dans une nouvelle fenêtre et donner des informations relatives à la consultation des fichiers en téléchargement. Ne pas faire dépendre l’accomplissement d’une tâche d’une limite de temps sauf si elle est essentielle et s’assurer que les données saisies sont récupérées après une interruption de session authentifiée. S’assurer que les expressions inhabituelles et le jargon sont explicités. Proposer des versions accessibles ou rendre accessibles les documents en téléchargement.
Mots clés
Principe : Perceptible
Critère 13.1 [A] Pour chaque page Web, l’utilisateur a-t-il le contrôle de chaque limite de temps modifiant le contenu (hors cas particuliers) ?
Test 13.1.1 : Pour chaque page Web, chaque procédé de rafraîchissement (balise object, balise embed, balise svg, balise canvas, balise meta) vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’utilisateur peut arrêter ou relancer le rafraîchissement ;
L’utilisateur peut augmenter la limite de temps entre deux rafraîchissements de dix fois, au moins ;
L’utilisateur est averti de l’imminence du rafraîchissement et dispose de vingt secondes, au moins, pour augmenter la limite de temps avant le prochain rafraîchissement ;
La limite de temps entre deux rafraîchissements est de vingt heures, au moins.
Test 13.1.2 : Pour chaque page Web, chaque procédé de redirection effectué via une balise meta est-il immédiat (hors cas particuliers) ?
Test 13.1.3 : Pour chaque page Web, chaque procédé de redirection effectué via un script vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’utilisateur peut arrêter ou relancer la redirection ;
L’utilisateur peut augmenter la limite de temps avant la redirection de dix fois, au moins ;
L’utilisateur est averti de l’imminence de la redirection et dispose de vingt secondes, au moins, pour augmenter la limite de temps avant la prochaine redirection ;
La limite de temps avant la redirection est de vingt heures, au moins.
Test 13.1.4 : Pour chaque page Web, chaque procédé limitant le temps d’une session vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’utilisateur peut supprimer la limite de temps ;
L’utilisateur peut augmenter la limite de temps ;
La limite de temps avant la fin de la session est de vingt heures au moins.
Critère 13.2 [A] Dans chaque page Web, pour chaque ouverture de nouvelle fenêtre, l’utilisateur est-il averti ?
Test 13.2.1 : Dans chaque page Web, pour chaque ouverture d’une nouvelle fenêtre effectuée via un lien (attributtarget) ou une commande JavaScript, l’utilisateur est-il averti ?
Test 13.2.2 : Dans chaque page Web, pour chaque ouverture d’une nouvelle fenêtre effectuée via une balise object, ou embed, l’utilisateur est-il averti ?
Test 13.2.3 : Dans chaque page Web, pour chaque ouverture d’une nouvelle fenêtre effectuée via un contrôle de formulaire, l’utilisateur est-il averti ?
Critère 13.3 [A] Dans chaque page Web, l’ouverture d’une nouvelle fenêtre ne doit pas être déclenchée sans action de l’utilisateur. Cette règle est-elle respectée ?
Test 13.3.1 : Dans chaque page Web, l’ouverture d’une nouvelle fenêtre ne doit pas être déclenchée sans action de l’utilisateur. Cette règle est-elle respectée ?
Critère 13.4 [AAA] Dans chaque page Web, une tâche ne doit pas requérir de limite de temps pour être réalisée, sauf si elle se déroule en temps réel ou si cette limite de temps est essentielle. Cette règle est-elle respectée ?
Test 13.4.1 : Dans chaque page Web, chaque tâche limitée dans le temps vérifie-t-elle une de ces conditions ?
La tâche se déroule en temps réel ;
La tâche requiert une limite de temps essentielle à son bon déroulement.
Critère 13.5 [AAA] Dans chaque page Web, lors d’une interruption de session authentifiée, les données saisies par l’utilisateur sont-elles récupérées après ré-authentification ?
Test 13.5.1 : Dans chaque page Web, lors d’une interruption de session authentifiée, les données saisies par l’utilisateur sont-elles récupérées après ré-authentification ?
Critère 13.6 [A] Dans chaque page Web, pour chaque fichier en téléchargement, des informations relatives à sa consultation sont-elles présentes (hors cas particuliers) ?
Test 13.6.1 : Dans chaque page Web, chaque fichier en téléchargement via un lien ou un formulaire a-t-il des informations relatives à son format (hors cas particuliers) ?
Test 13.6.2 : Dans chaque page Web, chaque fichier en téléchargement via un lien ou un formulaire a-t-il des informations relatives à son poids (hors cas particuliers) ?
Test 13.6.3 : Dans chaque page Web, chaque fichier en téléchargement via un lien ou un formulaire a-t-il, si nécessaire, des informations relatives à sa langue (hors cas particuliers) ?
Critère 13.7 [A] Dans chaque page Web, chaque document bureautique en téléchargement possède-t-il, si nécessaire, une version accessible ?
Test 13.7.1 : Dans chaque page Web, chaque fonctionnalité de téléchargement d’un document bureautique vérifie-t-elle une de ces conditions ?
Le document en téléchargement est compatible avec l’accessibilité ;
Il existe une version alternative du document en téléchargement compatible avec l’accessibilité ;
Il existe une version alternative au format HTML du document en téléchargement.
Critère 13.8 [A] Pour chaque document bureautique ayant une version accessible, cette version offre-t-elle la même information ?
Test 13.8.1 : Chaque document bureautique ayant une version accessible vérifie-t-il une de ces conditions ?
La version compatible avec l’accessibilité offre la même information ;
La version alternative au format HTML est pertinente et offre la même information.
Critère 13.9 [AAA] Dans chaque page Web, les expressions inhabituelles, les expressions idiomatiques ou le jargon sont-ils explicités ?
Test 13.9.1 : Dans chaque page Web, chaque expression inhabituelle ou limitée, chaque expression idiomatique ou le jargon vérifie-t-il une des conditions suivantes ?
Il existe une définition dans le contexte adjacent de l’expression indiquée par la balise dfn ;
Il existe une définition via une liste de définition ;
Il existe une définition dans la page ;
L’expression est contenue dans un lien permettant d’accéder à la définition.
Critère 13.10 [AAA] Dans chaque page Web, pour chaque expression inhabituelle ou limitée, idiomatique ou de jargon ayant une définition, cette définition est-elle pertinente ?
Test 13.10.1 : Dans chaque page Web, pour chaque expression inhabituelle ou limitée, idiomatique ou de jargon ayant une définition, cette définition vérifie-t-elle l’une de ces conditions ?
Le contenu de la définition associée est pertinent ;
Le contenu de la balise dd de la liste de définition est pertinent ;
La définition donnée par le contexte adjacent est pertinente.
Critère 13.11 [A] Dans chaque page Web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) a-t-il une alternative ?
Test 13.11.1 : Dans chaque page Web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) vérifie-t-il une de ces conditions ?
Un attribut title est disponible ;
Une définition est donnée par le contexte adjacent.
Critère 13.12 [A] Dans chaque page Web, pour chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) ayant une alternative, cette alternative est-elle pertinente ?
Test 13.12.1 : Dans chaque page Web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) vérifie-t-il une de ces conditions ?
Le contenu de l’attribut title est pertinent ;
La définition donnée par le contexte adjacent est pertinente.
Critère 13.13 [AAA] Dans chaque page Web, pour chaque mot dont le sens ne peut être compris sans en connaître la prononciation, celle-ci est-elle indiquée ?
Test 13.13.1 : Dans chaque page Web, chaque mot dont le sens ne peut être compris sans en connaître la prononciation, vérifie-t-il une de ces conditions ?
L’indication de la prononciation phonétique est présente de manière adjacente ;
L’indication de la prononciation phonétique est accessible via un lien.
Critère 13.14 [AAA] Dans chaque page Web, chaque texte qui nécessite un niveau de lecture plus avancé que le premier cycle de l’enseignement secondaire a-t-il une version alternative ?
Test 13.14.1 : Dans chaque page Web, chaque texte qui nécessite un niveau de lecture plus avancé que le premier cycle de l’enseignement secondaire (hors noms propres et titre) vérifie-t-il une de ces conditions ?
Une illustration ou des symboles graphiques adaptés au niveau de lecture du premier cycle de l’enseignement secondaire sont présents ;
Une version en Langue des Signes Française est présente ;
Une version vocalisée du texte est présente ;
Un résumé adapté au niveau de lecture du premier cycle de l’enseignement secondaire est présent.
Critère 13.15 [A] Dans chaque page Web, les changements brusques de luminosité ou les effets de flash sont-ils correctement utilisés ?
Test 13.15.1 : Dans chaque page Web, chaque image (balise img, balise svg, balise canvas, balise embed ou balise object) qui provoque un changement brusque de luminosité ou un effet de flash vérifie-t-elle une de ces conditions ?
La fréquence de l’effet est inférieure à 3 par seconde ;
La surface totale cumulée des effets est inférieure ou égale à 21 824 pixels.
La fréquence de l’effet est inférieure à 3 par seconde ;
La surface totale cumulée des effets est inférieure ou égale à 21 824 pixels.
Critère 13.16 [AAA] Dans chaque page Web, les changements brusques de luminosité ou les effets de flash ont-ils une fréquence inférieure ou égale à 3 par seconde ?
Test 13.16.1 : Dans chaque page Web, chaque changement brusque de luminosité ou effet de flash provoqué par une image (balise img, balise svg, balise embed, balise canvas ou balise object) a-t-il une fréquence inférieure ou égale à 3 par seconde ?