Le RGAA3 disponible sur Tanaguru

Par Régis Lapèze, 8 juillet 2015

Temps de lecture : 2 minutes

Mot(s) clé(s) :

Océane Consulting participe et collabore activement au développement de l’outil d’audit automatique OpenSource Tanaguru.

Depuis le 8 juillet, nous mettons à disposition de tous, la possibilité de réaliser des audits sur la base du RGAA3. Cette première version implémente 173 règles de la nouvelle version de ce référentiel. Plusieurs tests liés au design pattern Aria et aux nouvelles balises HTML 5 sont déjà implémentés dans cette version.

Nous vous invitons tous à venir tester ce nouveau référentiel et à nous faire vos retours. Votre collaboration nous permettra de le faire évoluer.

Venez nous aider à faire évoluer le RGAA 3 sur le repository GitHub de Tanaguru :
https://github.com/Tanaguru/Tanaguru

Les fiches techniques sont consultables sur le repository GitHub suivants :
https://github.com/Tanaguru/Tanaguru-rules-RGAA-3-doc

La liste des tests du RGAA3 automatisés dans Tanaguru
Intitulé du testTestNiveauDécidableSemi-decidableMarqueur
Nombre de tests1733513812
Chaque image (balise img) a-t-elle un attribut alt ?1.1.1AX
Chaque zone (balise area) d’une image réactive a-t-elle un attribut alt ?1.1.2AX
Chaque bouton de formulaire (balise input avec l’attribut type= »image ») a-t-il un attribut alt ?1.1.3AX
Chaque zone (balise area) d’une image réactive coté serveur est-t-elle doublée d’un lien dans la page ?1.1.4AX
« Chaque image de décoration sans légende (balise img) 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 »
1.2.1AXx
« Chaque zone non cliquable (balise area sans attribut href), non porteuse d’information et ayant un attribut alt vérifie-t-elle ces conditions ?
• le contenu de l’attribut alt est-vide (alt= » »)
• la zone cliquable ne possède pas d’attribut title »
1.2.2AXx
Pour chaque image objet sans légende (balise object avec l’attribut type= »image/… ») non porteuse d’information, l’alternative textuelle entre <object> et <1.2.3AXx
« Chaque image vectorielle de décoration (balise svg) non porteuse d’information et possédant une alternative vérifie-t-elle ces conditions ?
• La balise svg possède un role= » »img » »
• La balise svg ou l’un de ses enfants est dépourvue de role, propriété ou état ARIA visant à labelliser l’image vectorielle (aria-label, aria-describedby, aria-labelledby par exemple).
• Les balises title et desc sont absentes ou vides
• La balise svg ou l’un de ses enfants est dépourvue d’attribut title »
1.2.4AXx
Pour chaque image bitmap de décoration (balise canvas), le contenu entre ‹canvas› et ‹/canvas› doit-être dépourvu de contenus textuels, cette règle est-elle respectée ?1.2.5AX
« Chaque image porteuse d’information (balise img) ayant un attribut alt vérifie-t-elle 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 »
1.3.1AXx
« Chaque zone (balise area) d’une image réactive, porteuse d’information et ayant un attribut alt, vérifie-t-elle 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 »
1.3.2AXx
Pour chaque bouton associé à une image (balise input avec l’attribut type= »image ») ayant un attribut alt, le contenu de cet attribut est-il pertinent (hors cas particuliers) ?1.3.3AXx
« Chaque image objet (balise object avec l’attribut type= » »image/… » ») porteuse d’information vérifie-t-elle une de ces conditions(hors cas particuliers) ?
• 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. »
1.3.4AX
« 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. »
1.3.5AX
« Chaque image vectorielle porteuse d’information (balise svg) et possédant une alternative vérifie-t-elle une de ces conditions (hors cas particuliers) ?
• La balise svg possède un role= » »img » »
• 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 identique à l’attribut title de la balise svg s’il est présent
• Un lien adjacent permet d’accéder à une alternative dont le contenu est pertinent et identique à l’attribut title de la balise svg s’il est présent «
1.3.6AXx
Pour chaque image vectorielle porteuse d’information (balise svg) et possédant une alternative, cette alternative est-elle correctement restituée par les technologies d’assistance ?1.3.7AX
Pour chaque image bitmap porteuse d’information (balise canvas) et possédant une alternative (contenu entre ‹canvas› et ‹/canvas›), cette alternative est-elle correctement restituée par les technologies d’assistance ?1.3.8AX
Pour chaque image bitmap porteuse d’information (balise canvas) et possédant une alternative (contenu entre ‹canvas› et ‹/canvas›), cette alternative est-elle pertinente ?1.3.9AX
« Pour 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 d’identifier 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 »
1.4.1Ax
« Chaque zone (balise area) d’une image réactive, utilisée comme CAPTCHA ou comme image-test, et ayant un attribut alt vérifie-t-elle ces conditions ?
• le contenu de l’attribut alt permet d’identifier 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 »
1.4.2Ax
« 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 d’identifier 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 »
1.4.3Ax
Pour chaque image objet (balise object avec l’attribut type= »image/… ») utilisée comme CAPTCHA ou comme image-test, et ayant une alternative textuelle, l’alternative textuelle permet-elle d’identifier la nature et la fonction de l’image ?1.4.4Ax
Pour chaque image embarquée (balise embed avec l’attribut type= »image/… ») utilisée comme CAPTCHA ou comme image-test, et ayant une alternative textuelle, l’alternative textuelle permet-elle d’identifier la nature et la fonction de l’image ?1.4.5Ax
« Chaque image vectorielle (balise svg) utilisée comme CAPTCHA ou comme image-test et ayant une alternative textuelle via la propriété aria-label ou la balise desc vérifie-t-elle ces conditions ?
• l’alternative textuelle implémentée via l’attribut aria-label permet d’identifier la nature et la fonction de l’image et est identique à l’attribut title s’il est présent
• l’alternative textuelle implémentée via la balise desc permet d’identifier la nature et la fonction de l’image et est identique à l’attribut title de la balise svg s’il est présent »
1.4.6Ax
Pour chaque image vectorielle (balise svg) utilisée comme CAPTCHA ou comme image-test et ayant une alternative textuelle , l’alternative textuelle est-elle correctement restituée par les technologies d’assistance ?1.4.7Ax
Pour chaque image bitmap (balise canvas) utilisée comme CAPTCHA ou comme image-test et ayant une alternative textuelle, l’alternative textuelle permet-elle d’identifier la nature et la fonction de l’image ?1.4.8Ax
Pour chaque image bitmap (balise canvas) utilisée comme CAPTCHA ou comme image-test et ayant une alternative textuelle , l’alternative textuelle est-elle correctement restituée par les technologies d’assistance ?1.4.9Ax
« 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 «
1.5.1Ax
« 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 »
1.5.2Ax
« Chaque image porteuse d’information (balise img) qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
• Il existe un attribut longdesc qui donne l’adresse (url) d’une page contenant la description détaillée
• 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 «
1.6.1Ax
« Chaque image objet porteuse d’information (balise object avec l’attribut type= » »image/… » »), qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
• 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 description détaillée clairement identifiable adjacente à l’image objet «
1.6.2Ax
« Chaque image embarquée porteuse d’information (balise embed), qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
• 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 description détaillée clairement identifiable adjacente à l’image embarquée »
1.6.3Ax
« Chaque bouton de formulaire de type image (balise input avec l’attribut type= » »image » »), qui nécessite une description détaillée, vérifie-t-il une de ces conditions ?
• 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 «
1.6.4Ax
« Chaque image vectorielle (balise svg) qui nécessite une description détaillée vérifie-t-elle une de ces conditions ?
• Il existe une propriété aria-label contenant une référence à une description détaillée adjacente à l’image vectorielle
• Il existe une balise desc contenant une référence à une description détaillée adjacente à l’image vectorielle
• Il existe une balise desc contenant la description détaillée
• Il existe un lien adjacent (via une balise url ou une ancre) permettant d’accéder au contenu de la description détaillée «
1.6.5Ax
Pour chaque image vectorielle (balise svg) 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 ?1.6.6Ax
« 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 »
1.6.7Ax
Pour chaque image bitmap (balise canvas) qui implémente une référence à une description détaillée adjacente, cette référence est-elle correctement restituée par les technologies d’assistance ?1.6.8Ax
« Chaque image porteuse d’information (balise img ou input avec l’attribut type= » »image » ») ayant une description détaillée vérifie-t-elle une de ces conditions ?
• La description détaillée via l’adresse référencée dans l’attribut longdesc est pertinente
• La description détaillée dans la page et signalée dans l’attribut alt est pertinente
• La description détaillée via un lien adjacent est pertinente «
1.7.1Ax
« Chaque image objet (balise object avec l’attribut type= » »image/… » ») ayant une description détaillée vérifie-t-elle une de ces conditions ?
• La description détaillée adjacente à l’image objet est pertinente
• La description détaillée via un lien adjacent est pertinente «
1.7.2Ax
« Chaque image embarquée (balise embed avec l’attribut type= » »image/… » ») ayant une description détaillée vérifie-t-elle une de ces conditions ?
• La description détaillée adjacente à l’image embarquée est pertinente
• La description détaillée via un lien adjacent est pertinente »
1.7.3Ax
« Chaque image vectorielle (balise svg) ayant une description détaillée vérifie-t-elle une de ces conditions ?
• La description détaillée adjacente à l’image vectorielle est pertinente
• La description détaillée contenue dans la balise desc est pertinente
• La description détaillée via un lien adjacent est pertinente «
1.7.4Ax
Pour chaque image vectorielle (balise svg) ayant une description détaillée implémentée via la balise desc, cette description détaillée est-elle correctement restituée par les technologies d’assistance ?1.7.5Ax
« Chaque image bitmap (balise canvas) ayant une description détaillée vérifie-t-elle une de ces conditions ?
• La description détaillée adjacente à l’image bitmap est pertinente
• La description détaillée contenue entre ‹canvas› et ‹/canvas› est pertinente
• La description détaillée via un lien adjacent est pertinente «
1.7.6Ax
Pour chaque image bitmap (balise canvas) ayant une description détaillée entre ‹canvas› et ‹/canvas›, cette description détaillée est-elle correctement restituée par les technologies d’assistance ?1.7.7Ax
Chaque image texte (balise img) 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) ?1.8.1AAx
Pour chaque image réactive (balise img ou object avec l’attribut usemap ou l’attribut ismap), chaque zone texte (balise area ou zone cliquable) 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) ?1.8.2AAx
Pour chaque balise form, chacun de ses boutons « image texte » (balise input avec l’attribut type= »image ») porteuse d’information, en l’absence d’un mécanisme de remplacement, doit si possible être remplacé par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.8.3AAx
Chaque image texte objet (balise object avec l’attribut type= »image/… ») 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) ?1.8.4AAx
Chaque image texte embarquée (balise embed avec l’attribut type= »image/… ») 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) ?1.8.5AAx
Chaque image texte bitmap (balise canvas) 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) ?1.8.6AAx
Chaque image texte (balise img) doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.1AAAx
Pour chaque image réactive (balise img ou object avec l’attribut usemap), chaque zone texte (balise area) doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.2AAAx
Pour chaque balise form, chacun de ses boutons « image texte » (balise input avec l’attribut type= »image ») doit si possible être remplacé par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.3AAAx
Chaque image texte objet (balise object avec l’attribut type= »image/… ») doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.4AAAx
Chaque image texte embarquée (balise embed avec l’attribut type= »image/… ») doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.5AAAx
Chaque image texte bitmap (balise canvas) doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ?1.9.6AAAx
Chaque cadre en ligne (balise iframe) a-t-il un attribut title ?2.1.1Ax
Pour chaque cadre en ligne (balise iframe) ayant un attribut title, le contenu de cet attribut est-il pertinent ?2.2.1Ax
« Dans chaque page Web, jusqu’à 150% de la taille de police par défaut (ou 1.5em), le texte et le texte en image sans effet de graisse vérifient-ils une de ces conditions (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 »
3.3.1AAx
« Dans chaque page Web, jusqu’à 120% de la taille de police par défaut (ou 1.2em), le texte et le texte en image en gras vérifient-ils une de ces conditions (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 »
3.3.2AAx
« Dans chaque page Web, à partir de 150% de la taille de police par défaut (ou 1.5em), le texte et le texte en image sans effet de graisse vérifient-ils une de ces conditions (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 «
3.3.3AAx
« Dans chaque page Web, à partir de 120% de la taille de police par défaut (ou 1.2em), le texte et le texte en image en gras vérifient-ils une de ces conditions (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 «
3.3.4AAx
« Dans chaque page Web, jusqu’à 150% de la taille de police par défaut (ou 1.5em), le texte et le texte en image sans effet de graisse vérifient-ils une de ces conditions (hors cas particuliers) ?
• le rapport de contraste entre le texte et son arrière-plan est de 7:1, au moins
• un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 7:1, au moins »
3.4.1AAAx
« Dans chaque page Web, jusqu’à 120% de la taille de police par défaut (ou 1.2em), le texte et le texte en image en gras vérifient-ils une de ces conditions (hors cas particuliers) ?
• le rapport de contraste entre le texte et son arrière-plan est de 7:1, au moins
• un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 7:1, au moins »
3.4.2AAAx
« Dans chaque page Web, à partir de 150% de la taille de police par défaut (ou 1.5em), le texte et le texte en image sans effet de graisse vérifient-ils une de ces conditions (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 «
3.4.3AAAx
« Dans chaque page Web, à partir de 120% de la taille de police par défaut (ou 1.2em), le texte et le texte en image en gras vérifient-ils une de ces conditions (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 «
3.4.4AAAx
« Chaque média temporel et non temporel inséré via une balise object ou embed vérifie-t-il une de ces conditions (hors cas particuliers) ?
• 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é
• Une alternative compatible avec une API d’accessibilité permet d’accéder aux mêmes fonctionnalités «
4.22.1Ax
« Chaque média temporel et non temporel inséré via une balise object ou embed, qui possède une alternative compatible avec une API d’accessibilité, vérifie-t-il une de ces conditions ?
• L’ alternative est adjacente au média temporel ou non temporel
• L’ alternative est accessible via un lien adjacent (une url ou une ancre)
• Un mécanisme permet de remplacer le média temporel ou non temporel par son alternative. «
4.22.2Ax
Pour chaque tableau de données complexe (balise table) un résumé est-il disponible dans la balise caption ?5.1.1Axx
Pour chaque tableau de donnée complexes (balise table) ayant un résumé, celui-ci est-il pertinent ?5.2.1Ax
« Chaque tableau de mise en forme vérifie-t-il ces conditions ?
• le contenu linéarisé reste compréhensible
• la balise table possède un attribut role= » »presentation » » »
5.3.1Axx
Chaque tableau de données (balise table) a-t-il une balise caption ?5.4.1Axx
Pour chaque tableau de données (balise table) ayant une balise caption, le contenu de cette balise donne-t-il le titre du tableau ?5.5.1Ax
Pour chaque tableau de données (balise table), chaque en-tête de colonnes a-t-il une balise th ?5.6.1Ax
Pour chaque tableau de données (balise table), chaque en-tête de lignes a-t-il une balise th ?5.6.2Ax
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 ?5.7.1Ax
« 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êtes de ligne
• L’en-tête possède un attribut scope avec la valeur «  »col » » pour les en-têtes de colonne «
5.7.2Ax
« 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 »
5.7.3Ax
« 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. »
5.7.4Ax
« Chaque tableau de mise en forme (balise table) vérifie-t-il ces conditions ?
• Le tableau de mise en forme (balise table) ne possède pas de balises caption, th, thead, tfoot
• Les cellules du tableau de mise en forme (balise td) ne possèdent pas d’attributs scope, headers, colgroup, axis. »
5.8.1Axx
« Chaque lien texte vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé de lien seul permet d’en comprendre la fonction et la destination
• Le contexte du lien permet d’en comprendre la fonction et la destination »
6.1.1Ax
« Chaque lien image (contenu de l’attribut alt, texte entre ‹canvas› et ‹/canvas› ou texte entre ‹object> et ‹/object>) vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé de lien seul permet d’en comprendre la fonction et la destination
• Le contexte du lien permet d’en comprendre la fonction et la destination «
6.1.2Ax
« Chaque lien doublant une zone cliquable d’une image réactive coté serveur vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé de lien seul permet d’en comprendre la fonction et la destination
• Le contexte du lien permet d’en comprendre la fonction et la destination «
6.1.3Ax
« Chaque lien composite vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé de lien seul permet d’en comprendre la fonction et la destination
• Le contexte du lien permet d’en comprendre la fonction et la destination »
6.1.4Ax
« Chaque lien vectoriel vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé de lien seul permet d’en comprendre la fonction et la destination
• Le contexte du lien permet d’en comprendre la fonction et la destination »
6.1.5Ax
Pour chaque lien texte ayant un titre de lien (attribut title), le contenu de cet attribut est-il pertinent ?6.2.1Ax
Pour chaque lien image ayant un titre de lien (attribut title), le contenu de cet attribut est-il pertinent ?6.2.2Ax
pour chaque zone cliquable (balise area) ayant un titre de lien (attribut title), le contenu de cet attribut est-il pertinent ?6.2.3Ax
Pour chaque lien composite ayant un titre de lien (attribut title), le contenu de cet attribut est-il pertinent ?6.2.4Ax
Pour chaque lien vectoriel ayant un titre de lien (attribut title), le contenu de cet attribut est-il pertinent ?6.2.5Ax
« Chaque lien texte vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L’intitulé du lien est explicite hors contexte
• Un mécanisme permet à l’utilisateur d’obtenir un intitulé de lien explicite hors contexte
• Le contenu du titre de lien (attribut title) est explicite hors contexte «
6.3.1AAAx
Chaque intitulé de lien image (contenu de l’attribut alt, texte entre ‹canvas› et ‹/canvas› ou texte entre ‹object› et ‹/object›) est-il explicite hors contexte (hors cas particuliers) ?6.3.2AAAx
Chaque intitulé de lien de type zone cliquable (contenu de l’attribut alt d’une balise area) est-il explicite hors contexte (hors cas particuliers) ?6.3.3AAAx
Chaque lien composite (contenu texte et de l’attribut alt) est-il explicite hors contexte (hors cas particuliers)6.3.4AAAx
Chaque intitulé de lien vectoriel (contenu de l’alternative de l’image vectorielle, balise svg) est-il explicite hors contexte (hors cas particuliers) ?6.3.5AAAx
Pour chaque page web, chaque lien identique de type texte a-t-il les mêmes fonction et destination ?6.4.1Ax
Pour chaque page web, chaque lien identique de type image a-t-il les mêmes fonction et destination ?6.4.2Ax
Pour chaque page web, chaque lien identique de type zone cliquable a-t-il les mêmes fonction et destination ?6.4.3Ax
Pour chaque page web, chaque lien identique de type composite a-t-il les mêmes fonction et destination ?6.4.4Ax
Pour chaque page web, chaque lien identique de type vectoriel a-t-il les mêmes fonction et destination ?6.4.5Ax
Dans chaque page Web, chaque lien (balise a avec un attribut href), à l’exception des ancres, a-t-il un intitulé entre <a> et </a> ?6.5.1Ax
« Chaque script qui initie un changement de contexte vérifie-t-il une de ces conditions ?
• L’utilisateur est averti par un texte de l’action du script et du type de changement avant son déclenchement
• Le changement de contexte est initié par un bouton (input de type submit, button ou image ou balise button) explicite
• Le changement de contexte est initié par un lien explicite »
7.4.1Ax
Pour chaque page Web, le type de document (balise doctype) est-il présent ?8.1.1Ax
Pour chaque page Web, le type de document (balise doctype) est-il valide ?8.1.2Ax
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 ?8.1.3Ax
« 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 «
8.3.1Ax
« Pour chaque page Web ayant une langue par défaut, le code de langue vérifie-t-il ces conditions ?
• Le code de langue est valide
• Le code de langue est pertinent »
8.4.1Ax
Chaque page Web a-t-elle un titre de page (balise title) ?8.5.1Ax
Pour chaque page Web ayant un titre de page (balise title), le contenu de cette balise est-il pertinent ?8.6.1Ax
« 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 »
8.7.1AAx
Dans chaque page Web, chaque changement de langue (attribut lang et/ou xml:lang) est-il valide ?8.8.1AAx
Dans chaque page Web, chaque changement de langue (attribut lang et/ou xml:lang) est-il pertinent ?8.8.2AAx
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 ?8.9.1Ax
Dans chaque page Web, y a-t-il un titre de niveau 1 (balise h1 ou balise possédant un role ARIA « heading » associé à une propriété aria-level= »1″) ?9.1.1Ax
Dans chaque page Web, la hiérarchie entre les titres (balises h ou balise possédant un role ARIA « heading » associé à une propriété aria-level) est-elle pertinente ?9.1.2Ax
Dans chaque page Web, chaque titre (balise h ou balise possédant un role ARIA « heading » associé à une propriété aria-level) est-il pertinent ?9.1.4Ax
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 ?10.1.1Ax
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 ?10.1.2Ax
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 ?10.4.1AAx
Dans les feuilles de styles du site Web, les tailles de polices utilisent-elles uniquement des unités relatives ?10.4.2AAx
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 ?10.7.1Ax
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 ?10.8.3AAAx
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 ?10.8.4AAAx
« 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 composant d’interface piloté par l’API ARIA, prenant en charge l’état affiché ou masqué du contenu. «
10.13.1Ax
« 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é »
11.1.1Ax
« Chaque champ de formulaire, associé à une étiquette (balise label), vérifie-t-il ces conditions ?
• Le champ de formulaire possède un attribut id
• La valeur de l’attribut id est unique
• La balise label possède un attribut for
• La valeur de l’attribut for est égale à la valeur de l’attribut id du champ de formulaire associé »
11.1.2Ax
« Chaque champ de formulaire associé à une étiquette via la propriété ARIA aria-labelledby, vérifie-t-il ces conditions ?
• l’étiquette possède un attribut id
• La valeur de l’attribut id est unique
• La valeur de la propriété ARIA aria-labelledby est égale à la valeur de l’attribut id de l’étiquette »
11.1.3Ax
Chaque étiquette (balise label) permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?11.2.1Ax
Chaque attribut title permet-il de connaître la fonction exacte du champ de formulaire auquel il est associé ?11.2.2Ax
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 ?11.3.1AAx
Chaque étiquette associée à un champ de formulaire ayant la même fonction et répétée dans un ensemble de pages est-elle cohérente ?11.3.2AAx
Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés ?11.4.1Ax
Dans chaque formulaire, les informations de même nature sont-elles regroupées via une balise fieldset, si nécessaire ?11.5.1Ax
Chaque regroupement de champs de formulaire (balise fieldset) est-il suivi dans le code source par une légende (balise legend) ?11.6.1Ax
Dans chaque formulaire, chaque légende (balise legend) associée à un groupement de champs de formulaire (balise fieldset) est-elle pertinente ?11.7.1Ax
Dans chaque formulaire, pour chaque liste de choix (balise select), les items sont-ils regroupés avec une balise optgroup, si nécessaire ?11.8.1Ax
Dans chaque liste de choix (balise select), chaque regroupement d’items de liste (balise optgroup) possède-t-il un attribut label ?11.8.2Ax
Pour chaque regroupement d’items de liste (balise optgroup) ayant un attribut label, le contenu de l’attribut label est-il pertinent ?11.8.3Ax
« Dans chaque formulaire, l’intitulé de chaque bouton vérifie-t-il une de 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 »
11.9.1Ax
Pour chaque formulaire, pour chaque erreur de saisie, les types et les formats de données sont-ils suggérés, si nécessaire ?11.11.1AAx
Pour chaque formulaire, pour chaque erreur de saisie, des exemples de valeurs attendues sont-ils suggérés, si nécessaire ?11.11.2AAx
« 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 »
11.12.1AAx
« 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 »
11.12.2AAx
« 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 »
11.13.1AAAx
« 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 »
11.13.2AAAx
« Chaque formulaire vérifie-t-il une de ces conditions ?
• Il existe un lien vers une page d’aide
• Il existe des indications avant le formulaire
• Il existe des indications avant les champs de formulaire
• Il existe des indications dans l’étiquette (balise label, attribut title, propriété aria-label, passage de texte lié via la propriété aria-labelledby) 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 »
11.14.1AAAx
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 ?11.14.2AAA
« 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 l’étiquette (balise label, attribut title, propriété aria-label, passage de texte lié via la propriété aria-labelledby) du champ de formulaire
• Des suggestions de saisie sont disponibles dans un passage de texte lié par la propriété ARIA aria-describedby »
11.14.4AAAx
Pour chaque formulaire, chaque aide à la saisie est-elle pertinente ?11.15.1AAAx
« Chaque ensemble de pages vérifie-t-il une de ces conditions (hors cas particuliers) ?
• Un menu de navigation et un plan du site sont présents
• Un menu de navigation et un moteur de recherche sont présents
• Un moteur de recherche et un plan du site sont présents »
12.1.1AAx
« Dans chaque ensemble de pages, chaque page ayant un menu de navigation vérifie-t-elle ces conditions (hors cas particuliers) ?
• Le menu de navigation est toujours à la même place dans la présentation
• Le menu de navigation se présente toujours dans le même ordre relatif dans le code source. »
12.2.1AAx
« Chaque barre de navigation répétée dans un ensemble de pages vérifie-t-elle ces conditions (hors cas particuliers) ?
• La barre de navigation est toujours à la même place dans la présentation
• La barre de navigation se présente toujours dans le même ordre relatif dans le code source. «
12.2.2AAx
Dans chaque ensemble de pages, le menu de navigation principal a-t-il une présentation cohérente (hors cas particuliers) ?12.3.1AAx
Dans chaque ensemble de pages, les barres de navigation répétées ont-elles une présentation cohérente (hors cas particuliers) ?12.3.2AAx
La page « plan du site » est-elle représentative de l’architecture générale du site ?12.4.1AA
Les liens du plan du site sont-ils fonctionnels ?12.4.2AA
Les liens du plan du site renvoient-ils bien vers les pages indiquées par l’intitulé ?12.4.3AA
Dans chaque ensemble de pages, la page « plan du site » est-elle accessible à partir d’une fonctionnalité identique ?12.5.1AAx
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 ?12.5.2AAx
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 ?12.5.3AAx
Dans chaque ensemble de pages, le moteur de recherche est-il accessible à partir d’une fonctionnalité identique ?12.6.1AAx
Dans chaque ensemble de pages, la fonctionnalité vers le moteur de recherche est-elle située à la même place dans la présentation ?12.6.2AAx
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 ?12.6.3AAx
« Chaque page d’une collection de pages, vérifie-t-elle ces conditions ?
• Un lien permet d’accéder à la page suivante
• Un lien permet d’accéder à la page précédente
• Des liens permettent d’accéder à chaque page de la collection de pages »
12.7.1AAx
« Dans chaque ensemble de pages, les liens d’évitement ou d’accès rapide vérifient-ils ces conditions ?
• Chaque lien est situé à la même place dans la présentation
• Chaque lien se présente toujours dans le même ordre relatif dans le code source
• Chaque lien est visible à la prise de focus de tabulation au moins «
12.11.4Ax
« 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 »
12.14.1A
Pour chaque page Web, chaque procédé de redirection effectué via une balise meta est-il immédiat (hors cas particuliers) ?13.1.2Ax
Dans chaque page Web, pour chaque ouverture d’une nouvelle fenêtre effectuée via un lien (attribut target= »_blank ») ou une commande JavaScript, l’utilisateur est-il averti ?13.2.1Ax
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 ?13.2.2Ax
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 ?13.2.3Ax
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) ?13.6.1Ax
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) ?13.6.2Ax
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) ?13.6.3Ax
« 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 »
13.7.1Ax