UUV a11y
@uuv/a11y
est la partie de la solution @uuv
utilisée pour effectuer des contrôles d'accessibilité automatisés afin de garantir la non-régression.
RGAA
Légende
✔️
: La règle est implémentée de manière automatisée
📆
: L'implémentation de la règle est programmée
⚠️
: La règle est partiellement implémentée
🖐️
: Les noeuds du DOM sont collectés pour une analyse manuelle
❌
: La règle ne sera pas implémentée
1. Images ✔️ 7%
⚠️ 1
📆 34
❌ 1
La différence entre une image décorative et une image porteuse d'informations étant subjective (comme précisé sur par le W3C), nous avons choisi de définir une image porteuse d'informations comme une image ayant une alternative textuelle pour favoriser l'automatisation des contrôles.
Pour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
-
1.1
✔️ 50%
⚠️ 1
📆 3
❌ 1
Chaque image porteuse d’information a-t-elle une alternative textuelle ?
-
1.1.1
✔️ 1
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image (balise `<img>` ou balise possédant l’attribut WAI-ARIA `role="img"`) porteuse d’information a-t-elle une alternative textuelle ?
-
1.1.2
✔️ 1
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque zone d’une image réactive (balise `<area>`) porteuse d’information a-t-elle une alternative textuelle ?
-
1.1.3
✔️ 1
Chaque bouton de type `image` (balise `<input>` avec l’attribut `type="image"`) a-t-il une alternative textuelle ?
-
1.1.4
📆
Chaque zone cliquable d’une image réactive côté serveur est-elle doublée d’un mécanisme utilisable quel que soit le dispositif de pointage utilisé et permettant d’accéder à la même destination ?
-
1.1.5
✔️ 1
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image vectorielle (balise `<svg>`) porteuse d’information, vérifie-t-elle ces conditions ?
La balise `<svg>` possède un attribut WAI-ARIA `role="img"` ;
La balise `<svg>` a une alternative textuelle. -
1.1.6
⚠️ 1
❌
attentionnous considérons comme adjacent, le bouton et le lien url accessible avec une tabulation ou une tabulation arrière
dangerVérifier de votre côté la règle : Soit un mécanisme permet à l'utilisateur de remplacer l'élément
<object>
par un contenu alternatif.Chaque image objet (balise `<object>` avec l’attribut `type="image/…"`) porteuse d’information, vérifie-t-elle une de ces conditions ?
La balise `<object>` possède une alternative textuelle et un attribut `role="img"` ;
L’élément `<object>` est immédiatement suivi d’un lien ou bouton adjacent permettant d’accéder à un contenu alternatif ;
Un mécanisme permet à l’utilisateur de remplacer l’élément `<object>` par un contenu alternatif. -
1.1.7
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image embarquée (balise `<embed>` avec l’attribut `type="image/…"`) porteuse d’information, vérifie-t-elle une de ces conditions ?
La balise `<embed>` possède une alternative textuelle et un attribut `role="img"` ;
L’élément `<embed>` est immédiatement suivi d’un lien ou bouton adjacent permettant d’accéder à un contenu alternatif ;
Un mécanisme permet à l’utilisateur de remplacer l’élément `<embed>` par un contenu alternatif. -
1.1.8
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image bitmap (balise `<canvas>`) porteuse d’information, vérifie-t-elle une de ces conditions ?
La balise `<canvas>` possède une alternative textuelle et un attribut `role="img"` ;
Un contenu alternatif est présent entre les balises `<canvas>` et `</canvas>` ;
L’élément `<canvas>` est immédiatement suivi d’un lien ou bouton adjacent permettant d’accéder à un contenu alternatif ;
Un mécanisme permet à l’utilisateur de remplacer l’élément `<canvas>` par un contenu alternatif.
-
-
1.2
✔️ 0%
📆 6
Chaque image de décoration est-elle correctement ignorée par les technologies d’assistance ?
-
1.2.1
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image (balise `<img>`) de décoration, sans légende, vérifie-t-elle une de ces conditions ?
La balise `<img>` possède un attribut `alt` vide (`alt=""`) et est dépourvue de tout autre attribut permettant de fournir une alternative textuelle ;
La balise `<img>` possède un attribut WAI-ARIA `aria-hidden="true"` ou `role="presentation"`. -
1.2.2
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque zone non cliquable (balise `<area>` sans attribut `href`) de décoration, vérifie-t-elle une de ces conditions ?
La balise `<area>` possède un attribut `alt` vide (`alt=""`) et est dépourvue de tout autre attribut permettant de fournir une alternative textuelle ;
La balise `<area>` possède un attribut WAI-ARIA `aria-hidden="true"` ou `role="presentation"`. -
1.2.3
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
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 WAI-ARIA `aria-hidden="true"` ;
La balise `<object>` est dépourvue d’alternative textuelle ;
Il n’y a aucun texte faisant office d’alternative textuelle entre `<object>` et `</object>`. -
1.2.4
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image vectorielle (balise `<svg>`) de d écoration, sans légende, vérifie-t-elle ces conditions ?
La balise `<svg>` possède un attribut WAI-ARIA `aria-hidden="true"` ;
La balise `<svg>` et ses enfants sont dépourvus d’alternative textuelle ;
Les balises `<title>` et `<desc>` sont absentes ou vides ;
La balise `<svg>` et ses enfants sont dépourvus d’attribut `title`. -
1.2.5
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
Chaque image bitmap (balise `<canvas>`) de décoration, sans légende, vérifie-t-elle ces conditions ?
La balise `<canvas>` possède un attribut WAI-ARIA `aria-hidden="true"` ;
La balise `<canvas>` et ses enfants sont dépourvus d’alternative textuelle ;
Il n’y a aucun texte faisant office d’alternative textuelle entre `<canvas>` et `</canvas>`. -
1.2.6
📆
attentionPour les contrôles concernant les alternatives textuelles, nous utilisons la librairie dom-accessibility-api qui implémente les règles du W3C
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 WAI-ARIA `aria-hidden="true"` ;
La balise `<embed>` et ses enfants sont dépourvus d’alternative textuelle.
-
-
1.3
✔️ 0%
📆 9
Pour chaque image porteuse d’information ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ?
-
1.3.1
📆
Chaque image (balise `<img>` ou balise possédant l’attribut WAI-ARIA `role="img"`) 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 `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.3.2
📆
Pour chaque zone (balise `<area>`) d’une image réactive 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 `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.3.3
📆
Pour chaque bouton de type `image` (balise `<input>` avec l’attribut `type="image"`), ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.3.4
📆
Pour chaque image objet (balise `<object>` avec l’attribut `type="image/…"`) porteuse d’information, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent. -
1.3.5
📆
Pour chaque image embarquée (balise `<embed>` avec l’attribut `type="image/…"`) porteuse d’information, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent. -
1.3.6
📆
Pour chaque image vectorielle (balise `<svg>`) porteuse d’information, ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l'élément `<title>` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.3.7
📆
Pour chaque image bitmap (balise `<canvas>`) porteuse d’information, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente (hors cas particuliers) ?
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent. -
1.3.8
📆
Pour chaque image bitmap (balise `<canvas>`) porteuse d’information et ayant un contenu alternatif entre `<canvas>` et `</canvas>`, ce contenu alternatif est-il correctement restitué par les technologies d’assistance ?
-
1.3.9
📆
Pour chaque image porteuse d’information et ayant une alternative textuelle, l’alternative textuelle est-elle courte et concise (hors cas particuliers) ?
-
-
1.4
✔️ 0%
📆 7
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 ?
-
1.4.1
📆
Pour chaque image (balise `<img>`) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.4.2
📆
Pour chaque zone (balise `<area>`) d’une image réactive utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.4.3
📆
Pour chaque bouton de type image (balise `<input>` avec l’attribut `type="image"`) utilisé comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.4.4
📆
Pour chaque image objet (balise `<object>` avec l’attribut `type="image/…"`) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent. -
1.4.5
📆
Pour chaque image embarquée (balise `<embed>` avec l’attribut `type="image/…"`) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent. -
1.4.6
📆
Pour chaque image vectorielle (balise `<svg>`) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent. -
1.4.7
📆
Pour chaque image bitmap (balise `<canvas>`) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle ou un contenu alternatif, cette alternative est-elle pertinente ?
S’il est présent, le contenu de l’attribut `alt` est pertinent ;
S’il est présent, le contenu de l’attribut `title` est pertinent ;
S’il est présent, le contenu de l’attribut WAI-ARIA `aria-label` est pertinent ;
S’il est présent, le passage de texte associé via l’attribut WAI-ARIA `aria-labelledby` est pertinent ;
S’il est présent le contenu alternatif est pertinent.
-
-
1.5
✔️ 0%
📆 2
Pour chaque image utilisée comme CAPTCHA, une solution d’accès alternatif au contenu ou à la fonction du CAPTCHA est-elle présente ?
-
1.5.1
📆
Chaque image (balises `<img>`, `<area>`, `<object>`, `<embed>`, `<svg>`, `<canvas>` ou possédant un attribut WAI-ARIA `role="img"`) 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é qui est sécurisée par le CAPTCHA. -
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.
-
-
1.6
✔️ 0%
📆 7
Chaque image porteuse d’information a-t-elle, si nécessaire, une description détaillée ?
-
1.6.1
📆
Chaque image (balise `<img>`) porteuse d’information, 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 ou d’un emplacement dans la page contenant la description détaillée ;
Il existe une alternative textuelle contenant la référence à une description détaillée adjacente à l’image ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée. -
1.6.2
📆
Chaque image objet (balise `<object>` avec l’attribut `type="image/…"`) porteuse d’information, 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 ou d’un emplacement dans la page contenant la description détaillée ;
Il existe une alternative textuelle contenant la référence à une description détaillée adjacente à l’image ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée. -
1.6.3
📆
Chaque image embarquée (balise `<embed>`) porteuse d’information, 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 ou d’un emplacement dans la page contenant la description détaillée ;
Il existe une alternative textuelle contenant la référence à une description détaillée adjacente à l’image ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée. -
1.6.4
📆
Chaque bouton de type image (balise `<input>` avec l’attribut `type="image"`) porteur d’information, qui nécessite une description détaillée, vérifie-t-il une de ces conditions ?
Il existe un attribut `longdesc` qui donne l’adresse (URL) d’une page ou d’un emplacement dans la page contenant la description détaillée ;
Il existe une alternative textuelle contenant la référence à une description détaillée adjacente à l’image ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée. -
1.6.5
📆
Chaque image vectorielle (balise `<svg>`) porteuse d’information, qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
Il existe un attribut WAI-ARIA `aria-label` contenant l’alternative textuelle et une référence à une description détaillée adjacente ;
Il existe un attribut WAI-ARIA `aria-labelledby` associant un passage de texte faisant office d’alternative textuelle et un autre faisant office de description détaillée ;
Il existe un attribut WAI-ARIA `aria-describedby` associant un passage de texte faisant office de description détaillée ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée. -
1.6.6
📆
Pour chaque image vectorielle (balise `<svg>`) porteuse d’information, ayant une description détaillée, la référence éventuelle à la description détaillée dans l’attribut WAI-ARIA `aria-label` et la description détaillée associée par l’attribut WAI-ARIA `aria-labelledby` ou `aria-describedby` sont-elles correctement restituées par les technologies d’assistance ?
-
1.6.7
📆
Chaque image bitmap (balise `<canvas>`), porteuse d’information, qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
Il existe un attribut WAI-ARIA `aria-label` contenant l’alternative textuelle et une référence à une description détaillée adjacente ;
Il existe un attribut WAI-ARIA `aria-labelledby` associant un passage de texte faisant office d’alternative textuelle et un autre faisant office de description détaillée ;
Il existe un contenu textuel entre `<canvas>` et `</canvas>` faisant 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 ou bouton adjacent permettant d’accéder à la description détaillée. -
1.6.8
Pour chaque image bitmap (balise `<canvas>`) porteuse d’information, 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.9
Pour chaque image (balise `<img>`, `<input>` avec l’attribut `type="image"`, `<area>`, `<object>`, `<embed>`, `<svg>`, `<canvas>`, ou possédant un attribut WAI-ARIA `role="img"`) porteuse d’information, qui est accompagnée d’une description détaillée et qui utilise un attribut WAI-ARIA `aria-describedby`, l’attribut WAI-ARIA `aria-describedby` associe-t-il la description détaillée ?
-
1.6.10
Chaque balise possédant un attribut WAI-ARIA `role="img"` porteuse d’information, qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?
Il existe un attribut WAI-ARIA `aria-label` contenant l’alternative textuelle et une référence à une description détaillée adjacente ;
Il existe un attribut WAI-ARIA `aria-labelledby` associant un passage de texte faisant office d’alternative textuelle et un autre faisant office de description détaillée ;
Il existe un attribut WAI-ARIA `aria-describedby` associant un passage de texte faisant office de description détaillée ;
Il existe un lien ou un bouton adjacent permettant d’accéder à la description détaillée.
-
-
1.7
✔️ 0%
Pour chaque image porteuse d’information ayant une description détaillée, cette description est-elle pertinente ?
-
1.7.1
Chaque image (balise `<img>`) porteuse d’information, ayant une description détaillée, vérifie-t-elle 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 par l’alternative textuelle est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent. -
1.7.2
Chaque bouton de type image (balise `<input>` avec l’attribut `type="image"`) porteur d’information, ayant une description détaillée, vérifie-t-il ces conditions ?
La description détaillée dans la page et signalée par l’alternative textuelle est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent. -
1.7.3
Chaque image objet (balise `<object>` avec l’attribut `type="image/…"`) porteuse d’information, ayant une description détaillée, vérifie-t-elle ces conditions ?
La description détaillée dans la page et signalée par l’alternative textuelle est pertinente ;
La description détaillée adjacente à l’image objet est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent. -
1.7.4
Chaque image embarquée (balise `<embed>` avec l’attribut `type="image/…"`) porteuse d’information, ayant une description détaillée, vérifie-t-elle ces conditions ?
La description détaillée dans la page et signalée par l’alternative textuelle est pertinente ;
La description détaillée adjacente à l’image embarquée est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent. -
1.7.5
Chaque image vectorielle (balise `<svg>`) porteuse d’information, ayant une description détaillée, vérifie-t-elle ces conditions ?
La description détaillée dans la page et signalée par l’alternative textuelle est pertinente ;
La description détaillée dans la page et signalée par le texte contenu dans la balise `<desc>` ou `<title>` est pertinente ;
La description détaillée adjacente contenue dans la balise `<desc>` est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent. -
1.7.6
Chaque image bitmap (balise `<canvas>`) porteuse d’information, ayant une description détaillée, vérifie-t-elle ces conditions ?
La description détaillée dans la page et signalée par l’alternative textuelle est pertinente ;
La description détaillée dans la page et signalée par le texte contenu entre `<canvas>` et `</canvas>` est pertinente ;
La description détaillée contenue entre `<canvas>` et `</canvas>` est pertinente ;
La description détaillée adjacente à l’image bitmap est pertinente ;
La description détaillée via un lien ou un bouton adjacent est pertinente ;
Le passage de texte associé via l’attribut WAI-ARIA `aria-describedby` est pertinent.
-
-
1.8
✔️ 0%
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) ?
-
1.8.1
Chaque image texte (balise `<img>` ou possédant un attribut WAI-ARIA `role="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.2
Chaque bouton « image texte » (balise `<input>` avec l’attribut `type="image"`) porteur 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.3
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.4
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.5
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.6
Chaque image texte SVG (balise `<svg>`) porteuse d’information et dont le texte n’est pas complètement structuré au moyen d’éléments `<text>`, 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.9
✔️ 0%
Chaque légende d’image est-elle, si nécessaire, correctement reliée à l’image correspondante ?
-
1.9.1
Chaque image pourvue d’une légende (balise `<img>`, `<input>` avec l’attribut `type="image"` ou possédant un attribut WAI-ARIA `role="img"` associée à une légende adjacente), vérifie-t-elle, si nécessaire, ces conditions ?
L’image (balise `<img>`, `<input>` avec l’attribut `type="image"` ou possédant un attribut WAI-ARIA `role="img"`) et sa légende adjacente sont contenues dans une balise `<figure>` ;
La balise `<figure>` possède un attribut WAI-ARIA `role="figure"` ou `role="group"` ;
La balise `<figure>` possède un attribut WAI-ARIA `aria-label` dont le contenu est identique au contenu de la légende ;
La légende est contenue dans une balise `<figcaption>`. -
1.9.2
Chaque image objet pourvue d’une légende (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 et sa légende adjacente sont contenues dans une balise `<figure>` ;
La balise `<figure>` possède un attribut WAI-ARIA `role="figure"` ou `role="group"` ;
La balise `<figure>` possède un attribut WAI-ARIA `aria-label` dont le contenu est identique au contenu de la légende ;
La légende est contenue dans une balise `<figcaption>`. -
1.9.3
Chaque image embarquée pourvue d’une légende (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 adjacente sont contenues dans une balise `<figure>` ;
La balise `<figure>` possède un attribut WAI-ARIA `role="figure"` ou `role="group"` ;
La balise `<figure>` possède un attribut WAI-ARIA `aria-label` dont le contenu est identique au contenu de la légende ;
La légende est contenue dans une balise `<figcaption>`. -
1.9.4
Chaque image vectorielle pourvue d’une légende (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 adjacente sont contenues dans une balise `<figure>` ;
La balise `<figure>` possède un attribut WAI-ARIA `role="figure"` ou `role="group"` ;
La balise `<figure>` possède un attribut WAI-ARIA `aria-label` dont le contenu est identique au contenu de la légende ;
La légende est contenue dans une balise `<figcaption>`. -
1.9.5
Chaque image bitmap pourvue d’une légende (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 adjacente sont contenues dans une balise `<figure>` ;
La balise `<figure>` possède un attribut WAI-ARIA `role="figure"` ou `role="group"` ;
La balise `<figure>` possède un attribut WAI-ARIA `aria-label` dont le contenu est identique au contenu de la légende ;
La légende est contenue dans une balise `<figcaption>`.
-
2. Cadres ✔️ 50%
🖐️ 1
-
2.1
✔️ 100%
Chaque cadre a-t-il un titre de cadre ?
-
2.2
✔️ 0%
🖐️ 1
Pour chaque cadre ayant un titre de cadre, ce titre de cadre est-il pertinent ?
3. Couleurs ✔️ 0%
-
3.1
✔️ 0%
Dans chaque page web, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
-
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 ?
-
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 ?
-
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 ?
-
3.1.4
Pour chaque propriété CSS déterminant une couleur et véhiculant une information, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?
-
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 ?
-
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 ?
-
-
3.2
✔️ 0%
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) ?
-
3.2.1
Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px 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.2.2
Dans chaque page web, le texte et le texte en image en gras d’une taille restituée inférieure à 18,5px 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.2.3
Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée supérieure ou égale à 24px 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.2.4
Dans chaque page web, le texte et le texte en image en gras d’une taille restituée supérieure ou égale à 18,5px 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.2.5
Dans le mécanisme qui permet d’afficher un rapport de contraste conforme, le rapport de contraste entre le texte et la couleur d’arrière-plan est-il suffisamment élevé ?
-
-
3.3
✔️ 0%
Dans chaque page web, les couleurs utilisées dans les composants d’interface ou les éléments graphiques porteurs d’informations sont-elles suffisamment contrastées (hors cas particuliers) ?
-
3.3.1
Dans chaque page web, le rapport de contraste entre les couleurs d’un composant d’interface dans ses différents états et la couleur d’arrière-plan contiguë vérifie-t-il une de ces conditions (hors cas particuliers) ?
Le rapport de contraste est de 3:1, au moins ;
Un mécanisme permet un rapport de contraste de 3:1, au moins. -
3.3.2
Dans chaque page web, le rapport de contraste des différentes couleurs composant un élément graphique, lorsqu’elles sont nécessaires à sa compréhension, et la couleur d’arrière-plan contiguë, vérifie-t-il une de ces conditions (hors cas particuliers) ?
Le rapport de contraste est de 3:1, au moins ;
Un mécanisme permet un rapport de contraste de 3:1, au moins. -
3.3.3
Dans chaque page web, le rapport de contraste des différentes couleurs contiguës entre elles d’un élément graphique, lorsqu’elles sont nécessaires à sa compréhension, vérifie-t-il une de ces conditions (hors cas particuliers) ?
Le rapport de contraste est de 3:1, au moins ;
Un mécanisme permet un rapport de contraste de 3:1, au moins. -
3.3.4
Dans le mécanisme qui permet d’afficher un rapport de contraste conforme, les couleurs du composant ou des éléments graphiques porteurs d’informations qui le composent, sont-elles suffisamment contrastées ?
-
4. Multimédia ✔️ 0%
-
4.1
✔️ 0%
Chaque média temporel pré-enregistré a-t-il, si nécessaire, une transcription textuelle ou une audiodescription (hors cas particuliers) ?
-
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 transcription textuelle accessible via un lien ou bouton adjacent ;
Il existe une transcription textuelle adjacente clairement identifiable. -
4.1.2
Chaque média temporel pré-enregistré seulement vidéo vérifie-t-il, si nécessaire, l’une de ces conditions (hors cas particuliers) ?
Il existe une version alternative « audio seulement » accessible via un lien ou bouton adjacent ;
Il existe une version alternative « audio seulement » adjacente clairement identifiable ;
Il existe une transcription textuelle accessible via un lien ou bouton adjacent ;
Il existe une transcription textuelle adjacente clairement identifiable ;
Il existe une audiodescription synchronisée ;
Il existe une version alternative avec une audiodescription synchronisée accessible via un lien ou bouton adjacent. -
4.1.3
Chaque média temporel synchronisé pré-enregistré vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Il existe une transcription textuelle accessible via un lien ou bouton adjacent ;
Il existe une transcription textuelle adjacente clairement identifiable ;
Il existe une audiodescription synchronisée ;
Il existe une version alternative avec une audiodescription synchronisée accessible via un lien ou bouton adjacent.
-
-
4.2
✔️ 0%
Pour chaque média temporel pré-enregistré ayant une transcription textuelle ou une audiodescription synchronisée, celles-ci sont-elles pertinentes (hors cas particuliers) ?
-
4.2.1
Pour chaque média temporel pré-enregistré seulement audio, ayant une transcription textuelle, celle-ci est-elle pertinente (hors cas particuliers) ?
-
4.2.2
Chaque média temporel pré-enregistré seulement vidéo vérifie-t-il une de ces conditions (hors cas particuliers) ?
La transcription textuelle est pertinente ;
L’audiodescription synchronisée est pertinente ;
L’audiodescription synchronisée de la version alternative est pertinente ;
La version alternative audio seulement est pertinente. -
4.2.3
Chaque média temporel synchronisé pré-enregistré vérifie-t-il une de ces conditions (hors cas particuliers) ?
La transcription textuelle est pertinente ;
L’audiodescription synchronisée est pertinente ;
L’audiodescription synchronisée de la version alternative est pertinente.
-
-
4.3
✔️ 0%
Chaque média temporel synchronisé pré-enregistré a-t-il, si nécessaire, des sous-titres synchronisés (hors cas particuliers) ?
-
4.3.1
Chaque média temporel synchronisé pré-enregistré vérifie-t-il, si nécessaire, l’une de ces conditions (hors cas particuliers) ?
Le média temporel synchronisé possède des sous-titres synchronisés ;
Il existe une version alternative possédant des sous-titres synchronisés accessible via un lien ou bouton adjacent. -
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"` ?
-
-
4.4
✔️ 0%
Pour chaque média temporel synchronisé pré-enregistré ayant des sous-titres synchronisés, ces sous-titres sont-ils pertinents ?
-
4.4.1
Pour chaque média temporel synchronisé pré-enregistré ayant des sous-titres synchronisés, ces sous-titres sont-ils pertinents ?
-
-
4.5
✔️ 0%
Chaque média temporel pré-enregistré a-t-il, si nécessaire, une audiodescription synchronisée (hors cas particuliers) ?
-
4.5.1
Chaque média temporel pré-enregistré seulement vidéo vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Il existe une audiodescription synchronisée ;
Il existe une version alternative avec une audiodescription synchronisée. -
4.5.2
Chaque média temporel synchronisé pré-enregistré vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Il existe une audiodescription synchronisée ;
Il existe une version alternative avec une audiodescription synchronisée.
-
-
4.6
✔️ 0%
Pour chaque média temporel pré-enregistré ayant une audiodescription synchronisée, celle-ci est-elle pertinente ?
-
4.6.1
Pour chaque média temporel pré-enregistré seulement vidéo ayant une audiodescription synchronisée, celle-ci est-elle pertinente ?
-
4.6.2
Pour chaque média temporel synchronisé ayant une audiodescription synchronisée, celle-ci est-elle pertinente ?
-
-
4.7
✔️ 0%
Chaque média temporel est-il clairement identifiable (hors cas particuliers) ?
-
4.7.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) ?
-
-
4.8
✔️ 0%
Chaque média non temporel a-t-il, si nécessaire, une alternative (hors cas particuliers) ?
-
4.8.1
Chaque média non temporel vérifie-t-il, si nécessaire, une de ces conditions (hors cas particuliers) ?
Un lien ou un bouton adjacent, clairement identifiable, permet d’accéder à une page contenant une alternative ;
Un lien ou un bouton adjacent, clairement identifiable, permet d’accéder à une alternative dans la page. -
4.8.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 ou bouton adjacent est accessible ;
L’alternative dans la page, référencée par le lien ou bouton adjacent, est accessible.
-
-
4.9
✔️ 0%
Pour chaque média non temporel ayant une alternative, cette alternative est-elle pertinente ?
-
4.9.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 ?
-
-
4.10
✔️ 0%
Chaque son déclenché automatiquement est-il contrôlable par l’utilisateur ?
-
4.10.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.
-
-
4.11
✔️ 0%
La consultation de chaque média temporel est-elle, si nécessaire, contrôlable par le clavier et tout dispositif de pointage ?
-
4.11.1
Chaque média temporel a-t-il, si nécessaire, les fonctionnalités de contrôle de sa consultation ?
-
4.11.2
Pour chaque média temporel, chaque fonctionnalité vérifie-t-elle une de ces conditions ?
La fonctionnalité est accessible par le clavier et tout dispositif de pointage ;
Une fonctionnalité accessible par le clavier et tout dispositif de pointage permettant de réaliser la même action est présente dans la page. -
4.11.3
Pour chaque média temporel, chaque fonctionnalité vérifie-t-elle une de ces conditions ?
La fonctionnalité est activable par le clavier et tout dispositif de pointage ;
Une fonctionnalité activable par le clavier et tout dispositif de pointage permettant de réaliser la même action est présente dans la page.
-
-
4.12
✔️ 0%
La consultation de chaque média non temporel est-elle contrôlable par le clavier et tout dispositif de pointage ?
-
4.12.1
Pour chaque média non temporel, chaque fonctionnalité vérifie-t-elle une de ces conditions ?
La fonctionnalité est accessible par le clavier et tout dispositif de pointage ;
Une fonctionnalité accessible par le clavier et tout dispositif de pointage permettant de réaliser la même action est présente dans la page. -
4.12.2
Pour chaque média non temporel, chaque fonctionnalité vérifie-t-elle une de ces conditions ?
La fonctionnalité est activable par le clavier et tout dispositif de pointage ;
Une fonctionnalité activable par le clavier et tout dispositif de pointage permettant de réaliser la même action est présente dans la page.
-
-
4.13
✔️ 0%
Chaque média temporel et non temporel est-il compatible avec les technologies d’assistance (hors cas particuliers) ?
-
4.13.1
Chaque média temporel et non temporel 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.13.2
Chaque média temporel et non temporel qui possède une alternative compatible avec les technologies d’assistance, 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 ou bouton adjacent ;
Un mécanisme permet de remplacer le média temporel ou non temporel par son alternative.
-
5. Tableaux ✔️ 47%
🖐️ 8
Nous considérons qu'un tableau de mise en forme est une balise table possédant le rôle presentation
Nous considérons qu'un tableau avec header est une balise table ou un rôle table possédant une balise th ou un élément avec un rôle rowheader ou un élément avec un rôle columnheader
-
5.1
✔️ 100%
Chaque tableau de données complexe a-t-il un résumé ?
-
5.1.1
✔️ 1
Pour chaque tableau de données complexe, un résumé est-il disponible ?
-
-
5.2
✔️ 0%
🖐️ 1
Pour chaque tableau de données complexe ayant un résumé, celui-ci est-il pertinent ?
-
5.2.1
🖐️ 1
Pour chaque tableau de données complexe ayant un résumé, celui-ci est-il pertinent ?
-
-
5.3
✔️ 0%
🖐️ 1
Pour chaque tableau de mise en forme, le contenu linéarisé reste-t-il compréhensible ?
-
5.3.1
🖐️ 1
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.4
✔️ 100%
Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données ?
-
5.4.1
✔️ 1
Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données ?
-
-
5.5
✔️ 0%
🖐️ 1
Pour chaque tableau de données ayant un titre, celui-ci est-il pertinent ?
-
5.5.1
🖐️ 1
Pour chaque tableau de données ayant un titre, ce titre permet-il d’identifier le contenu du tableau de données de manière claire et concise ?
-
-
5.6
✔️ 0%
🖐️ 4
Pour chaque tableau de données, chaque en-tête de colonne et chaque en-tête de ligne sont-ils correctement déclarés ?
-
5.6.1
🖐️ 1
Pour chaque tableau de données, chaque en-tête de colonne s’appliquant à la totalité de la colonne vérifie-t-il une de ces conditions ?
L’en-tête de colonnes est structuré au moyen d’une balise `<th>` ;
L’en-tête de colonnes est structuré au moyen d’une balise pourvue d’un attribut WAI-ARIA `role="columnheader"`. -
5.6.2
🖐️ 1
Pour chaque tableau de données, chaque en-tête de ligne s’appliquant à la totalité de la ligne vérifie-t-il une de ces conditions ?
L’en-tête de lignes est structuré au moyen d’une balise `<th>` ;
L’en-tête de lignes est structuré au moyen d’une balise pourvue d’un attribut WAI-ARIA `role="rowheader"`. -
5.6.3
🖐️ 1
Pour chaque tableau de données, chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne est-il structuré au moyen d’une balise `<th>` ?
-
5.6.4
🖐️ 1
Pour chaque tableau de données, chaque cellule associée à plusieurs en-têtes est-elle structurée au moyen d’une balise `<td>` ou `<th>` ?
-
-
5.7
✔️ 80%
🖐️ 1
Pour chaque tableau de données, la technique appropriée permettant d’associer chaque cellule avec ses en-têtes est-elle utilisée (hors cas particuliers) ?
-
5.7.1
✔️ 1
Pour chaque contenu de balise `<th>` s’appliquant à la totalité de la ligne ou de la colonne, la balise `<th>` respecte-t-elle une de ces conditions (hors cas particuliers) ?
La balise `<th>` possède un attribut `id` unique ;
La balise `<th>` possède un attribut `scope` ;
La balise `<th>` possède un attribut WAI-ARIA `role="rowheader"` ou `role="columnheader"`. -
5.7.2
✔️ 1
Pour chaque contenu de balise `<th>` s’appliquant à la totalité de la ligne ou de la colonne et possédant un attribut `scope`, la balise `<th>` vérifie-t-elle une de ces conditions ?
La balise `<th>` possède un attribut `scope` avec la valeur `"row"` pour les en-têtes de ligne ;
La balise `<th>` possède un attribut `scope` avec la valeur `"col"` pour les en-têtes de colonne. -
5.7.3
✔️ 1
Pour chaque contenu de balise `<th>` ne s’appliquant pas à la totalité de la ligne ou de la colonne, la balise `<th>` vérifie-t-elle ces conditions ?
La balise `<th>` ne possède pas d’attribut `scope` ;
La balise `<th>` ne possède pas d’attribut WAI-ARIA `role="rowheader"` ou `role="columnheader"` ;
La balise `<th>` possède un attribut `id` unique. -
5.7.4
🖐️ 1
Pour chaque contenu de balise `<td>` ou `<th>` associée à un ou plusieurs en-têtes possédant un attribut `id`, la balise vérifie-t-elle ces conditions ?
La balise possède un attribut `headers` ;
L’attribut `headers` possède la liste des valeurs d’attribut `id` des en-têtes associés. -
5.7.5
✔️ 1
Pour chaque balise pourvue d’un attribut WAI-ARIA `role="rowheader"` ou `role="columnheader"` dont le contenu s’applique à la totalité de la ligne ou de la colonne, la balise vérifie-t-elle une de ces conditions ?
La balise possède un attribut WAI-ARIA `role="rowheader"` pour les en-têtes de ligne ;
La balise possède un attribut WAI-ARIA `role="columnheader"` pour les en-têtes de colonne.
-
-
5.8
✔️ 100%
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 ?
-
5.8.1
✔️ 1
Chaque tableau de mise en forme (balise `<table>`) vérifie-t-il ces conditions ?
Le tableau de mise en forme (balise `<table>`) n’a pas d’attribut `summary` (sinon vide) et ne contient pas de balises `<caption>`, `<th>`, `<thead>`, `<tfoot>` ou de balises ayant un attribut WAI-ARIA `role="rowheader"`, `role="columnheader"` ;
Les cellules du tableau de mise en forme (balises `<td>`) ne possèdent pas d’attributs `scope`, `headers` et `axis`.
-
6. Liens ✔️ 17%
🖐️ 1
⚠️ 4
-
6.1
✔️ 0%
🖐️ 1
⚠️ 4
Chaque lien est-il explicite (hors cas particuliers) ?
-
6.1.1
⚠️ 1
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 ;
L’intitulé de lien additionné au contexte du lien permet d’en comprendre la fonction et la destination. -
6.1.2
⚠️ 1
Chaque lien image 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 ;
L’intitulé de lien additionné au contexte du lien permet d’en comprendre la fonction et la destination. -
6.1.3
🖐️ 1
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 ;
L’intitulé de lien additionné au contexte du lien permet d’en comprendre la fonction et la destination. -
6.1.4
⚠️ 1
Chaque lien SVG 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 ;
L’intitulé de lien additionné au contexte du lien permet d’en comprendre la fonction et la destination. -
6.1.5
⚠️ 1
Pour chaque lien ayant un intitulé visible, le nom accessible du lien contient-il au moins l’intitulé visible (hors cas particuliers) ?
-
-
6.2
✔️ 100%
7. Scripts ✔️ 0%
-
7.1
✔️ 0%
Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ?
-
7.1.1
Chaque script qui génère ou contrôle un composant d’interface vérifie-t-il, si nécessaire, une de ces conditions ?
Le nom, le rôle, la valeur, le paramétrage et les changements d’états sont accessibles aux technologies d’assistance via une API d’accessibilité ;
Un composant d’interface accessible permettant d’accéder aux mêmes fonctionnalités est présent dans la page ;
Une alternative accessible permet d’accéder aux mêmes fonctionnalités. -
7.1.2
Chaque script qui génère ou contrôle un composant d’interface respecte-t-il une de ces conditions ?
Le composant d’interface est correctement restitué par les technologies d’assistance ;
Une alternative accessible permet d’accéder aux mêmes fonctionnalités. -
7.1.3
Chaque script qui génère ou contrôle un composant d’interface vérifie-t-il ces conditions (hors cas particuliers) ?
Le composant possède un nom pertinent ;
Le nom accessible du composant contient au moins l’intitulé visible ;
Le composant possède un rôle pertinent.
-
-
7.2
✔️ 0%
Pour chaque script ayant une alternative, cette alternative est-elle pertinente ?
-
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. -
7.2.2
Chaque élément non textuel mis à jour par un script (dans la page, ou dans un cadre) 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.
-
-
7.3
✔️ 0%
Chaque script est-il contrôlable par le clavier et par tout dispositif de pointage (hors cas particuliers) ?
-
7.3.1
Chaque élément possédant un gestionnaire d’événement contrôlé par un script vérifie-t-il une de ces conditions (hors cas particuliers) ?
L’élément est accessible par le clavier et tout dispositif de pointage ;
Un élément accessible par le clavier et tout dispositif de pointage permettant de réaliser la même action est présent dans la page. -
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) ?
-
-
7.4
✔️ 0%
Pour chaque script qui initie un changement de contexte, l’utilisateur est-il averti ou en a-t-il le contrôle ?
-
7.4.1
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.5
✔️ 0%
Dans chaque page web, les messages de statut sont-ils correctement restitués par les technologies d’assistance ?
-
7.5.1
Chaque message de statut qui informe de la réussite, du résultat d’une action ou bien de l’état d’une application utilise-t-il l’attribut WAI-ARIA `role="status"` ?
-
7.5.2
Chaque message de statut qui présente une suggestion, ou avertit de l’existence d’une erreur utilise-t-il l’attribut WAI-ARIA `role="alert"` ?
-
7.5.3
Chaque message de statut qui indique la progression d’un processus utilise-t-il l’un des attributs WAI-ARIA `role="log"`, `role="progressbar"` ou `role="status"` ?
-
8. Éléments obligatoires ✔️ 46%
🖐️ 5
📆 2
-
8.1
✔️ 100%
Chaque page web est-elle définie par un type de document ?
-
8.1.1
✔️ 1
Pour chaque page web, le type de document (balise `doctype`) est-il présent ?
-
8.1.2
✔️ 1
Pour chaque page web, le type de document (balise `doctype`) est-il valide ?
-
8.1.3
✔️ 1
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.2
✔️ 0%
📆 1
Pour chaque page web, le code source généré est-il valide selon le type de document spécifié ?
-
8.2.1
📆
Pour chaque déclaration de type de document, le code source généré de la page vérifie-t-il ces conditions ?
Les balises, attributs et valeurs d’attributs respectent les règles d’écriture ;
L’imbrication des balises est conforme ;
L’ouverture et la fermeture des balises sont conformes ;
Les valeurs d’attribut id sont uniques dans la page ;
Les attributs ne sont pas doublés sur un même élément.
-
-
8.3
✔️ 100%
Dans chaque page web, la langue par défaut est-elle présente ?
-
8.3.1
✔️ 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.
-
-
8.4
✔️ 0%
🖐️ 1
Pour chaque page web ayant une langue par défaut, le code de langue est-il pertinent ?
-
8.5
✔️ 100%
Chaque page web a-t-elle un titre de page ?
-
8.5.1
✔️ 1
Chaque page web a-t-elle un titre de page (balise `<title>`) ?
-
-
8.6
✔️ 0%
🖐️ 1
Pour chaque page web ayant un titre de page, ce titre est-il pertinent ?
-
8.6.1
🖐️ 1
Pour chaque page web ayant un titre de page (balise `<title>`), le contenu de cette balise est-il pertinent ?
-
-
8.7
✔️ 0%
🖐️ 1
Dans chaque page web, chaque changement de langue est-il indiqué dans le code source (hors cas particuliers) ?
-
8.7.1
🖐️ 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 (attribut `lang` et/ou `xml:lang`) ;
L’indication de langue est donnée sur un des éléments parents (attribut `lang` et/ou `xml:lang`)
-
-
8.8
✔️ 0%
🖐️ 1
Dans chaque page web, le code de langue de chaque changement de langue est-il valide et pertinent ?
-
8.8.1
🖐️ 1
Pour chaque page web, le code de langue de chaque changement de langue vérifie-t-il ces conditions ?
Le code de langue est valide ;
Le code de langue est pertinent.
-
-
8.9
✔️ 0%
📆 1
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 ?
-
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 ?
-
-
8.10
✔️ 50%
🖐️ 1
Dans chaque page web, les changements du sens de lecture sont-ils signalés ?
-
8.10.1
✔️ 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` ?
-
8.10.2
🖐️ 1
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`) ;
La valeur de l’attribut `dir` est pertinente.
-
9. Structuration de l’information ✔️ 0%
-
9.1
✔️ 0%
Dans chaque page web, l’information est-elle structurée par l’utilisation appropriée de titres ?
-
9.1.1
Dans chaque page web, la hiérarchie entre les titres (balise `<hx>` ou balise possédant un attribut WAI-ARIA `role="heading"` associé à un attribut WAI-ARIA `aria-level`) est-elle pertinente ?
-
9.1.2
Dans chaque page web, le contenu de chaque titre (balise `<hx>` ou balise possédant un attribut WAI-ARIA `role="heading"` associé à un attribut WAI-ARIA `aria-level`) est-il pertinent ?
-
9.1.3
Dans chaque page web, chaque passage de texte constituant un titre est-il structuré à l’aide d’une balise `<hx>` ou d’une balise possédant un attribut WAI-ARIA `role="heading"` associé à un attribut WAI-ARIA `aria-level` ?
-
-
9.2
✔️ 0%
Dans chaque page web, la structure du document est-elle cohérente (hors cas particuliers) ?
-
9.2.1
Dans chaque page web, la structure du document vérifie-t-elle ces conditions (hors cas particuliers) ?
La zone d’en-tête de la page est structurée via une balise `<header>` ;
Les zones de navigation principales et secondaires sont structurées via une balise `<nav>` ;
La balise `<nav>` est réservée à la structuration des zones de navigation principales et secondaires ;
La zone de contenu principal est structurée via une balise `<main>` ;
La structure du document utilise une balise `<main>` visible unique ;
La zone de pied de page est structurée via une balise `<footer>`.
-
-
9.3
✔️ 0%
Dans chaque page web, chaque liste est-elle correctement structurée ?
-
9.3.1
Dans chaque page web, les informations regroupées visuellement sous forme de liste non ordonnée vérifient-elles une de ces conditions ?
La liste utilise les balises HTML `<ul>` et `<li>` ;
La liste utilise les attributs WAI-ARIA `role="list"` et `role="listitem"`. -
9.3.2
Dans chaque page web, les informations regroupées visuellement sous forme de liste ordonnée vérifient-elles une de ces conditions ?
La liste utilise les balises HTML `<ol>` et `<li>` ;
La liste utilise les attributs WAI-ARIA `role="list"` et `role="listitem"`. -
9.3.3
Dans chaque page web, les informations regroupées sous forme de liste de description utilisent-elles les balises `<dl>` et `<dt>/<dd>` ?
-
-
9.4
✔️ 0%
Dans chaque page web, chaque citation est-elle correctement indiquée ?
10. Présentation de l’information ✔️ 0%
-
10.1
✔️ 0%
Dans le site web, des feuilles de styles sont-elles utilisées pour contrôler la présentation de l’information ?
-
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 généré des pages. Cette règle est-elle respectée ?
-
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 généré des pages. Cette règle est-elle respectée ?
-
10.1.3
Dans chaque page web, l’utilisation des espaces vérifie-t-elle ces conditions ?
Les espaces ne sont pas utilisées pour séparer les lettres d’un mot ;
Les espaces ne sont pas utilisées pour simuler des tableaux ;
Les espaces ne sont pas utilisées pour simuler des colonnes de texte.
-
-
10.2
✔️ 0%
Dans chaque page web, le contenu visible porteur d’information reste-t-il présent lorsque les feuilles de styles sont désactivées ?
-
10.2.1
Dans chaque page web, l’information reste-t-elle présente lorsque les feuilles de styles sont désactivées ?
-
-
10.3
✔️ 0%
Dans chaque page web, l’information reste-t-elle compréhensible lorsque les feuilles de styles sont désactivées ?
-
10.3.1
Dans chaque page web, l’information reste-t-elle compréhensible lorsque les feuilles de styles sont désactivées ?
-
-
10.4
✔️ 0%
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) ?
-
10.4.1
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 selon une de ces conditions (hors cas particuliers) ?
Lors de l’utilisation de la fonction d’agrandissement du texte du navigateur ;
Lors de l’utilisation des fonctions de zoom graphique du navigateur ;
Lors de l’utilisation d’un composant d’interface propre au site permettant d’agrandir le texte ou de zoomer. -
10.4.2
Dans chaque page web, l’augmentation de la taille des caractères jusqu’à 200 %, au moins, doit être possible pour l’ensemble du texte dans la page. Cette règle est-elle respectée selon une de ces conditions (hors cas particuliers) ?
Lors de l’utilisation de la fonction d’agrandissement du texte du navigateur ;
Lors de l’utilisation des fonctions de zoom graphique du navigateur ;
Lors de l’utilisation d’un composant d’interface propre au site permettant d’agrandir le texte ou de zoomer.
-
-
10.5
✔️ 0%
Dans chaque page web, les déclarations CSS de couleurs de fond d’élément et de police sont-elles correctement utilisées ?
-
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 ?
-
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 ?
-
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 ?
-
-
10.6
✔️ 0%
Dans chaque page web, chaque lien dont la nature n’est pas évidente est-il visible par rapport au texte environnant ?
-
10.6.1
Dans chaque page web, chaque lien texte signalé uniquement par la couleur, et dont la nature n’est pas évidente, vérifie-t-il ces conditions ?
La couleur du lien a un rapport de contraste supérieur ou égal à 3:1 par rapport au texte environnant ;
Le lien dispose d’une indication visuelle au survol autre qu’un changement de couleur ;
Le lien dispose d’une indication visuelle au focus autre qu’un changement de couleur.
-
-
10.7
✔️ 0%
Dans chaque page web, pour chaque élément recevant le focus, la prise de focus est-elle visible ?
-
10.7.1
Pour chaque élément recevant le focus, la prise de focus vérifie-t-elle une de ces conditions ?
Le style du focus natif du navigateur n’est pas supprimé ou dégradé ;
Un style du focus défini par l’auteur est visible.
-
-
10.8
✔️ 0%
Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance ?
-
10.8.1
Dans chaque page web, chaque contenu caché vérifie-t-il une de ces conditions ?
Le contenu caché a vocation à être ignoré par les technologies d’assistance ;
Le contenu caché n’a pas vocation à être ignoré par les technologies d’assistance et est rendu restituable par les technologies d’assistance suite à une action de l’utilisateur réalisable au clavier ou par tout dispositif de pointage sur un élément précédent le contenu caché ou suite à un repositionnement du focus dessus.
-
-
10.9
✔️ 0%
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 ?
-
10.9.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 ?
-
10.9.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 ?
-
10.9.3
Dans chaque page web, pour chaque média temporel, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ?
-
10.9.4
Dans chaque page web, pour chaque média non temporel, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ?
-
-
10.10
✔️ 0%
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 ?
-
10.10.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 ?
-
10.10.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 implémentée de façon pertinente ?
-
10.10.3
Dans chaque page web, pour chaque média temporel, 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 ?
-
10.10.4
Dans chaque page web, pour chaque média non temporel, 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 ?
-
-
10.11
✔️ 0%
Pour chaque page web, les contenus peuvent-ils être présentés sans perte d’information ou de fonctionnalité et sans avoir recours soit à un défilement vertical pour une fenêtre ayant une hauteur de 256 px, soit à un défilement horizontal pour une fenêtre ayant une largeur de 320 px (hors cas particuliers) ?
-
10.11.1
Pour chaque page web, lorsque le contenu dont le sens de lecture est horizontal est affiché dans une fenêtre réduite à une largeur de 320 px, l’ensemble des informations et des fonctionnalités sont-elles disponibles sans aucun défilement horizontal (hors cas particuliers) ?
-
10.11.2
Pour chaque page web, lorsque le contenu dont le sens de lecture est vertical est affiché dans une fenêtre réduite à une hauteur de 256 px, l’ensemble des informations et des fonctionnalités sont-elles disponibles sans aucun défilement vertical (hors cas particuliers) ?
-
-
10.12
✔️ 0%
Dans chaque page web, les propriétés d’espacement du texte peuvent-elles être redéfinies par l’utilisateur sans perte de contenu ou de fonctionnalité (hors cas particuliers) ?
-
10.12.1
Dans chaque page web, le texte reste-t-il lisible lorsque l’affichage est modifié selon ces conditions (hors cas particuliers) ?
L’espacement entre les lignes (`line-height`) est augmenté jusqu’à 1,5 fois la taille de la police ;
L’espacement suivant les paragraphes (balise `<p>`) est augmenté jusqu’à 2 fois la taille de la police ;
L’espacement des lettres (`letter-spacing`) est augmenté jusqu’à 0,12 fois la taille de la police ;
L’espacement des mots (`word-spacing`) est augmenté jusqu’à 0,16 fois la taille de la police.
-
-
10.13
✔️ 0%
Dans chaque page web, les contenus additionnels apparaissant à la prise de focus ou au survol d’un composant d’interface sont-ils contrôlables par l’utilisateur (hors cas particuliers) ?
-
10.13.1
Chaque contenu additionnel devenant visible à la prise de focus ou au survol d’un composant d’interface peut-il être masqué par une action de l’utilisateur sans déplacer le focus ou le pointeur de la souris (hors cas particuliers) ?
-
10.13.2
Chaque contenu additionnel qui apparait au survol d’un composant d’interface peut-il être survolé par le pointeur de la souris sans disparaître (hors cas particuliers) ?
-
10.13.3
Chaque contenu additionnel qui apparaît à la prise de focus ou au survol d’un composant d’interface vérifie-t-il une de ces conditions (hors cas particuliers) ?
Le contenu additionnel reste visible jusqu’à ce que l’utilisateur retire le pointeur souris ou le focus du contenu additionnel et du composant d’interface ayant déclenché son apparition ;
Le contenu additionnel reste visible jusqu’à ce que l’utilisateur déclenche une action masquant ce contenu sans déplacer le focus ou le pointeur de la souris du composant d’interface ayant déclenché son apparition ;
Le contenu additionnel reste visible jusqu’à ce qu’il ne soit plus valide.
-
-
10.14
✔️ 0%
Dans chaque page web, les contenus additionnels apparaissant via les styles CSS uniquement peuvent-ils être rendus visibles au clavier et par tout dispositif de pointage ?
-
10.14.1
Dans chaque page web, les contenus additionnels apparaissant au survol d’un composant d’interface via les styles CSS respectent-ils si nécessaire une de ces conditions ?
Les contenus additionnels apparaissent également à l’activation du composant via le clavier et tout dispositif de pointage ;
Les contenus additionnels apparaissent également à la prise de focus du composant ;
Les contenus additionnels apparaissent également par le biais de l’activation ou de la prise de focus d’un autre composant. -
10.14.2
Dans chaque page web, les contenus additionnels apparaissant au focus d’un composant d’interface via les styles CSS respectent-ils si nécessaire une de ces conditions ?
Les contenus additionnels apparaissent également à l’activation du composant via le clavier et tout dispositif de pointage ;
Les contenus additionnels apparaissent également au survol du composant ;
Les contenus additionnels apparaissent également par le biais de l’activation ou du survol d’un autre composant.
-