Critères et tests RGAA 4
Critères, tests et glossaire RGAA 4. Référentiel basé sur les données officielles de la direction interministérielle du numérique (DINUM) qui édite le référentiel général d’amélioration de l’accessibilité (RGAA, anciennement référentiel général d’accessibilité des administrations).
- RGAA Version 4
- Sources techniques : https://github.com/DISIC/RGAA
1 • Images
-
Critère 1.1
Chaque image porteuse d'information a-t-elle une alternative textuelle ?
1.1.1 : Chaque image (balise
<img>
ou balise possédant l'attribut WAI-ARIArole="img"
) porteuse d'information a-t-elle une alternative textuelle ?1.1.2 : Chaque zone d'une image réactive (balise
<area>
) porteuse d'information a-t-elle une alternative textuelle ?1.1.3 : Chaque bouton de type image (balise
<input>
avec l'attributtype="image"
) a-t-il une alternative textuelle ?1.1.4 : Chaque zone cliquable d'une image réactive côté serveur est-t-elle doublée d'un lien dans la page ?
1.1.5 : Chaque image vectorielle (balise
<svg>
) porteuse d'information, vérifie-t-elle ces conditions ?• La balise
<svg>
possède un attribut WAI-ARIArole="img"
.• La balise
<svg>
a une alternative textuelle.1.1.6 : Chaque image objet (balise
<object>
avec l'attributtype="image/…"
) porteuse d'information, vérifie-t-elle une de ces conditions ?• La balise
<object>
possède une alternative textuelle• 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 : Chaque image embarquée (balise
<embed>
avec l'attributtype="image/…"
) porteuse d'information, vérifie-t-elle une de ces conditions ?• La balise
<embed>
possède une alternative textuelle• 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 : Chaque image bitmap (balise
<canvas>
) porteuse d'information, vérifie-t-elle une de ces conditions ?• La balise
<canvas>
possède une alternative textuelle• 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.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 1.2
Chaque image de décoration est-elle correctement ignorée par les technologies d'assistance ?
1.2.1 : 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-ARIAaria-hidden="true"
ourole="presentation"
.1.2.2 : Chaque zone non cliquable (balise
<area>
sans attributhref
) de décoration, vérifie-t-elle une de ces conditions ?• La balise
<area>
possède un attributalt
vide (alt=""
) et est dépourvue de tout autre attribut permettant de fournir une alternative textuelle.• La balise
<area>
possède un attribut WAI-ARIAaria-hidden="true"
ourole="presentation"
.1.2.3 : Chaque image objet (balise
<object>
avec l'attributtype="image/…"
) de décoration, sans légende, vérifie-t-elle ces conditions ?• La balise
<object>
possède un attribut WAI-ARIAaria-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 : 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-ARIAaria-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'attributtitle
.1.2.5 : Chaque image bitmap (balise
<canvas>
) de décoration, sans légende, vérifie-t-elle ces conditions ?• La balise
<canvas>
possède un attribut WAI-ARIAaria-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 : Chaque image embarquée (balise
<embed>
avec l'attributtype="image/…"
) de décoration, sans légende, vérifie-t-elle ces conditions ?• La balise
<embed>
possède un attribut WAI-ARIAaria-hidden="true"
.• La balise
<embed>
et ses enfants sont dépourvus d'alternative textuelle.
9.1.1.1 / 1.1.1 Non-text Content (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 1.3
Pour chaque image porteuse d'information ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ?
1.3.1 : Pour chaque image (balise
<img>
ou balise possédant l'attribut WAI-ARIArole="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'attributtype="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'attributtype="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'attributtype="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'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.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) ?
9.1.1.1 / 1.1.1 Non-text Content (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 1.4
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'attributtype="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'attributtype="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
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'attributtype="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
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é 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
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
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.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 1.5
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-ARIArole="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'attributtype="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.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 1.6
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'attributtype="image/…"
) porteuse d'information, qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?• 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 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'attributtype="image"
) porteur d'information, qui nécessite une description détaillée, vérifie-t-elle une de ces conditions ?• 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.
• Il existe un attribut WAI-ARIA
aria-describedby
associant un passage de texte faisant office de 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-ARIAaria-label
et la description détaillée associée par l'attribut WAI-ARIAaria-labelledby
ouaria-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'attributtype="image"
,<area>
,<object>
,<embed>
,<svg>
,<canvas>
, ou possédant un attribut WAI-ARIArole="img"
) porteuse d'information, qui est accompagnée d'une description détaillée et qui utilise un attribut WAI-ARIAaria-describedby
, l'attribut WAI-ARIAaria-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.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 1.7
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 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'attributtype="image"
) porteur 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 via un lien ou 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 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 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 balise
<desc>
ou<title>
est pertinente.• La description détaillée contenue dans la balise
<desc>
est pertinente.• La description détaillée via un lien ou 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 bouton adjacent est pertinente.
• Le passage de texte associé via l'attribut WAI-ARIA
aria-describedby
est pertinent.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 1.8
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-ARIArole="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'attributtype="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'attributtype="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'attributtype="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) ?
9.1.4.5 / 1.4.5 Images of Text (AA)
-
Critère 1.9
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'attributtype="image"
ou possédant un attribut WAI-ARIArole="img"
associée à une légende adjacente), vérifie-t-elle, si nécessaire, ces conditions ?• L'image (balise
<img>
,<input>
avec l'attributtype="image"
ou possédant un attribut WAI-ARIArole="img"
) et sa légende adjacente sont contenues dans une balise<figure>
.• La balise
<figure>
possède un attribut WAI-ARIArole="figure"
ourole="group"
.• La balise
<figure>
possède un attribut WAI-ARIAaria-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 (balise
<object>
) et sa légende adjacente sont contenues dans une balise<figure>
.• La balise
<figure>
possède un attribut WAI-ARIArole="figure"
ourole="group"
.• La balise
<figure>
possède un attribut WAI-ARIAaria-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-ARIArole="figure"
ourole="group"
.• La balise
<figure>
possède un attribut WAI-ARIAaria-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-ARIArole="figure"
ourole="group"
.• La balise
<figure>
possède un attribut WAI-ARIAaria-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-ARIArole="figure"
ourole="group"
.• La balise
<figure>
possède un attribut WAI-ARIAaria-label
dont le contenu est identique au contenu de la légende.• La légende est contenue dans une balise
<figcaption>
.
9.1.1.1 / 1.1.1 Non-text Content (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
2 • Cadres
-
Critère 2.1
Chaque cadre a-t-il un titre de cadre ?
2.1.1 : Chaque cadre (balise
<iframe>
ou<frame>
) a-t-il un attributtitle
?
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 2.2
Pour chaque cadre ayant un titre de cadre, ce titre de cadre est-il pertinent ?
2.2.1 : Pour chaque cadre (balise
<iframe>
ou<frame>
) ayant un attributtitle
, le contenu de cet attribut est-il pertinent ?
9.4.1.2 / 4.1.2 Name, Role, Value (A)
3 • Couleurs
-
Critère 3.1
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 ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.1.4.1 / 1.4.1 Use of color (A)
-
Critère 3.2
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'un 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'un 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é ?
9.1.4.3 / 1.4.3 Contrast (Minimum) (AA)
-
Critère 3.3
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 ?
9.1.4.11 / 1.4.11 Non-text Contrast (AA)
4 • Multimedia
-
Critère 4.1
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.
9.1.2.1 / 1.2.1 Audio-only and Video-only (Prerecorded) (A)
9.1.2.3 / 1.2.3 Audio Description and Media Alternative (Prerecorded) (A)
-
Critère 4.2
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.
9.1.2.1 / 1.2.1 Audio-only and Video-only (Prerecorded) (A)
9.1.2.3 / 1.2.3 Audio Description and Media Alternative (Prerecorded) (A)
-
Critère 4.3
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 attributkind="captions"
?
9.1.2.2 / 1.2.2 Captions (Prerecorded) (A)
-
Critère 4.4
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 ?
9.1.2.2 / 1.2.2 Captions (Prerecorded) (A)
-
Critère 4.5
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.
9.1.2.5 / 1.2.5 Audio Description (Prerecorded) (AA)
-
Critère 4.6
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 ?
9.1.2.5 / 1.2.5 Audio Description (Prerecorded) (AA)
-
Critère 4.7
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) ?
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 4.8
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 bouton adjacent, clairement identifiable, contient l'adresse (url) d'une page contenant une alternative.
• Un lien ou 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.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 4.9
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 ?
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 4.10
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.
9.1.4.2 / 1.4.2 Audio Control (A)
-
Critère 4.11
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.
9.2.1.1 / 2.1.1 Keyboard (A)
9.2.1.2 / 2.1.2 No Keyboard Trap (A)
-
Critère 4.12
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 la souris.
• 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.
9.2.1.1 / 2.1.1 Keyboard (A)
9.2.1.2 / 2.1.2 No Keyboard Trap (A)
-
Critère 4.13
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.
9.4.1.2 / 4.1.2 Name, Role, Value (A)
5 • Tableaux
-
Critère 5.1
Chaque tableau de données complexe a-t-il un résumé ?
5.1.1 : Pour chaque tableau de données complexe un résumé est-il disponible ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.2
Pour chaque tableau de données complexe ayant un résumé, celui-ci est-il pertinent ?
5.2.1 : Pour chaque tableau de données complexe ayant un résumé, celui-ci est-il pertinent ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.3
Pour chaque tableau de mise en forme, le contenu linéarisé reste-t-il compréhensible (hors cas particuliers) ?
5.3.1 : Chaque tableau de mise en forme vérifie-t-il ces conditions (hors cas particuliers) ?
• Le contenu linéarisé reste compréhensible.
• La balise
<table>
possède un attributrole="presentation"
.
9.1.3.2 / 1.3.2 Meaningful Sequence (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 5.4
Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données ?
5.4.1 : Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.5
Pour chaque tableau de données ayant un titre, celui-ci est-il pertinent ?
5.5.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 ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.6
Pour chaque tableau de données, chaque en-tête de colonnes et chaque en-tête de lignes sont-ils correctement déclarés ?
5.6.1 : Pour chaque tableau de données, chaque en-tête de colonnes 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 : Pour chaque tableau de données, chaque en-tête de lignes 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 : 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>
?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.7
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 : 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 attributid
unique.• La balise
<th>
possède un attributscope
.• La balise
<th>
possède un attribut WAI-ARIArole="rowheader"
ou"columnheader"
.5.7.2 : Pour chaque contenu de balise
<th>
s'appliquant à la totalité de la ligne ou de la colonne et possédant un attributscope
, 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ête de lignes.• La balise
<th>
possède un attribut scope avec la valeur"col"
pour les en-tête de colonnes.5.7.3 : 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'attributscope
.• La balise
<th>
ne possède pas d'attribut WAI-ARIArole="rowheader"
ou"columnheader"
.• La balise
<th>
possède un attributid
unique.5.7.4 : Pour chaque contenu de balise
<td>
ou<th>
associée à un ou plusieurs en-têtes possédant un attributid
, 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'attributid
des en-têtes associés.5.7.5 : Pour chaque balise pourvue d'un attribut WAI-ARIA
role="rowheader"
ou"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 lignes.• La balise possède un attribut WAI-ARIA
role="columnheader"
pour les en-têtes de colonnes.
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 5.8
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 : Chaque tableau de mise en forme (balise
<table>
) vérifie-t-il ces conditions ?• Le tableau de mise en forme (balise
<table>
) ne contient pas de balises<caption>
,<th>
,<thead>
,<tfoot>
,<colgroup>
ou de balises ayant un attribut WAI-ARIArole="rowheader"
,role="columnheader"
.• Les cellules du tableau de mise en forme (balises
<td>
) ne possèdent pas d'attributsscope
,headers
,axis
.
9.1.3.1 / 1.3.1 Info and Relationships (A)
6 • Liens
-
Critère 6.1
Chaque lien est-il explicite (hors cas particuliers) ?
6.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 : 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 : 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 : 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 : Pour chaque lien ayant un intitulé visible, le nom accessible du lien contient-il au moins l'intitulé visible (hors cas particuliers) ?
9.1.1.1 / 1.1.1 Non-text Content (A)
9.2.4.4 / 2.4.4 Link Purpose (In Context) (A)
9.2.5.3 / 2.5.3 Label in Name (A)
-
Critère 6.2
Dans chaque page web, chaque lien, à l'exception des ancres, a-t-il un intitulé ?
6.2.1 : Dans chaque page web, chaque lien, à l'exception des ancres, a-t-il un intitulé entre
<a>
et</a>
?
9.1.1.1 / 1.1.1 Non-text Content (A)
9.2.4.4 / 2.4.4 Link Purpose (In Context) (A)
7 • Scripts
-
Critère 7.1
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.
9.2.5.3 / 2.5.3 Label in Name (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 7.2
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.
9.1.1.1 / 1.1.1 Non-text Content (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 7.3
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) ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.2.1.1 / 2.1.1 Keyboard (A)
9.2.4.7 / 2.4.7 Focus Visible (AA)
-
Critère 7.4
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
ouimage
ou balise<button>
) explicite.• Le changement de contexte est initié par un lien explicite.
9.3.2.1 / 3.2.1 On Focus (A)
9.3.2.2 / 3.2.2 On Input (A)
-
Critère 7.5
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"
ourole="status"
?
9.4.1.3 / 4.1.3 Status Messages (AA)
8 • Éléments obligatoires
-
Critère 8.1
Chaque page web est-elle définie par un type de document ?
8.1.1 : Pour chaque page web, le type de document (balise
doctype
) est-il présent ?8.1.2 : Pour chaque page web, le type de document (balise
doctype
) est-il valide ?8.1.3 : Pour chaque page web possédant une déclaration de type de document, celle-ci est-elle située avant la balise
<html>
dans le code source ?
9.4.1.1 / 4.1.1 Parsing (A)
-
Critère 8.2
Pour chaque page web, le code source généré est-il valide selon le type de document spécifié (hors cas particuliers) ?
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 (hors cas particuliers) ?
• 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.
9.4.1.1 / 4.1.1 Parsing (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 8.3
Dans chaque page web, la langue par défaut est-elle présente ?
8.3.1 : Pour chaque page web, l'indication de langue par défaut vérifie-t-elle une de ces conditions ?
• L'indication de la langue de la page (attribut
lang
et/ouxml:lang
) est donnée pour l'élémenthtml
.• L'indication de la langue de la page (attribut
lang
et/ouxml:lang
) est donnée sur chaque élément de texte ou sur l'un des éléments parents.
9.3.1.1 / 3.1.1 Language of Page (A)
-
Critère 8.4
Pour chaque page web ayant une langue par défaut, le code de langue est-il pertinent ?
8.4.1 : 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.
9.3.1.1 / 3.1.1 Language of Page (A)
-
Critère 8.5
Chaque page web a-t-elle un titre de page ?
8.5.1 : Chaque page web a-t-elle un titre de page (balise
<title>
) ?
9.2.4.2 / 2.4.2 Page Titled (A)
-
Critère 8.6
Pour chaque page web ayant un titre de page, ce titre est-il pertinent ?
8.6.1 : Pour chaque page web ayant un titre de page (balise
<title>
), le contenu de cette balise est-il pertinent ?
9.2.4.2 / 2.4.2 Page Titled (A)
-
Critère 8.7
Dans chaque page web, chaque changement de langue est-il indiqué dans le code source (hors cas particuliers) ?
8.7.1 : Dans chaque page web, chaque texte écrit dans une langue différente de la langue par défaut vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L'indication de langue est donnée sur l'élément contenant le texte (attribut
lang
et/ouxml:lang
).• L'indication de langue est donnée sur un des éléments parents (attribut
lang
et/ouxml:lang
).
9.3.1.2 / 3.1.2 Language of Parts (AA)
-
Critère 8.8
Dans chaque page web, le code de langue de chaque changement de langue est-il valide et pertinent ?
8.8.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.
9.3.1.2 / 3.1.2 Language of Parts (AA)
-
Critère 8.9
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 ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 8.10
Dans chaque page web, les changements du sens de lecture sont-ils signalés ?
8.10.1 : Dans chaque page web, chaque texte dont le sens de lecture est différent du sens de lecture par défaut est contenu dans une balise possédant un attribut
dir
?8.10.2 : Dans chaque page web, chaque changement du sens de lecture (attribut
dir
) vérifie-t-il ces conditions ?• La valeur de l'attribut
dir
est conforme (rtl
oultr
).• La valeur de l'attribut
dir
est pertinente.
9.1.3.2 / 1.3.2 Meaningful Sequence (A)
9 • Structuration de l'information
-
Critère 9.1
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-ARIArole="heading"
associé à un attribut WAI-ARIAaria-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-ARIArole="heading"
associé à un attribut WAI-ARIAaria-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-ARIArole="heading"
associé à un attribut WAI-ARIAaria-level
?
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.2.4.1 / 2.4.1 Bypass Block (A)
9.2.4.6 / 2.4.6 Headings and Labels (AA)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 9.2
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.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 9.3
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"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"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.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 9.4
Dans chaque page web, chaque citation est-elle correctement indiquée ?
9.4.1 : Dans chaque page web, chaque citation courte utilise-t-elle une balise
<q>
?9.4.2 : Dans chaque page web, chaque bloc de citation utilise-t-il une balise
<blockquote>
?
9.1.3.1 / 1.3.1 Info and Relationships (A)
10 • Présentation de l'information
-
Critère 10.1
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és pour séparer les lettres d'un mot.
• Les espaces ne sont pas utilisés pour simuler des tableaux.
• Les espaces ne sont pas utilisés pour simuler des colonnes de texte.
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.1.3.2 / 1.3.2 Meaningful Sequence (A)
-
Critère 10.2
Dans chaque page web, le contenu visible 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 ?
9.1.1.1 / 1.1.1 Non-text Content (A)
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 10.3
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 ?
9.1.3.2 / 1.3.2 Meaningful Sequence (A)
9.2.4.3 / 2.4.3 Focus Order (A)
-
Critère 10.4
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 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édiascreen
,tv
,handheld
,projection
. Cette règle est-elle respectée (hors cas particuliers) ?10.4.2 : 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-t-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.3 : 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-t-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.
9.1.4.4 / 1.4.4 Resize Text (AA)
-
Critère 10.5
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 ?
9.1.4.3 / 1.4.3 Contrast (Minimum) (AA)
-
Critère 10.6
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 à 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.
9.1.4.1 / 1.4.1 Use of Color (A)
-
Critère 10.7
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.
9.1.4.1 / 1.4.1 Use of Color (A)
9.2.4.7 / 2.4.7 Focus Visible (AA)
-
Critère 10.8
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’assistances 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.
9.1.3.2 / 1.3.2 Meaningful Sequence (A)
9.4.1.2 / 4.1.2 Name, Role, Value
-
Critère 10.9
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 ?
9.1.3.3 / 1.3.3 Sensory Characteristics (A)
9.1.4.1 / 1.4.1 Use of Color (A)
-
Critère 10.10
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 par la forme, taille ou position uniquement. 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 par la forme, taille ou position uniquement. 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 par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ?
9.1.3.3 / 1.3.3 Sensory Characteristics (A)
9.1.4.1 / 1.4.1 Use of Color (A)
-
Critère 10.11
Pour chaque page web, les contenus peuvent-ils être présentés sans avoir recours à la fois à un défilement vertical pour une fenêtre ayant une hauteur de 256px ou une largeur de 320px (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 320px, 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 256px, l'ensemble des informations et des fonctionnalités sont-elles disponibles sans aucun défilement vertical (hors cas particuliers) ?
9.1.4.10 / 1.4.10 Reflow (AA)
-
Critère 10.12
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 ;
9.1.4.12 / 1.4.12 Text Spacing (AA)
-
Critère 10.13
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 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 l'utilisateur déclenche une action masquant ce contenu sans déplacer le focus ou le pointeur souris du composant d'interface ayant déclenché son apparition.
• Le contenu additionnel reste visible jusqu'à ce qu'il ne soit plus valide.
9.1.4.13 / 1.4.13 Content on Hover or Focus (AA)
-
Critère 10.14
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.
9.2.1.1 / 2.1.1 Keyboard (A)
11 • Formulaires
-
Critère 11.1
Chaque champ de formulaire a-t-il une étiquette ?
11.1.1 : Chaque champ de formulaire vérifie-t-il une de ces conditions ?
• Le champ de formulaire possède un attribut WAI-ARIA
aria-labelledby
référençant un passage de texte identifié.• Le champ de formulaire possède un attribut WAI ARIA
aria-label
.• Une balise
<label>
ayant un attributfor
est associée au champ de formulaire.• Le champ de formulaire possède un attribut
title
.• Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un attribut WAI-ARIA
aria-label
,aria-labelledby
outitle
lui fournit un nom accessible.11.1.2 : Chaque champ de formulaire associé à une balise
<label>
ayant un attributfor
, vérifie-t-il ces conditions ?• Le champ de formulaire possède un attribut
id
.• La valeur de l'attribut
for
est égale à la valeur de l'attributid
du champ de formulaire associé.11.1.3 : Chaque champ de formulaire ayant une étiquette dont le contenu n'est pas visible ou à proximité (masqué,
aria-label
) ou qui n’est pas accolé au champ (aria-labelledby
), vérifie-t-il une de ses conditions ?• Le champ de formulaire possède un attribut
title
dont le contenu permet de comprendre la nature de la saisie attendue.• Le champ de formulaire est accompagné d'un passage de texte accolé au champ qui devient visible à la prise de focus permettant de comprendre la nature de la saisie attendue.
• Le champ de formulaire est accompagné d'un passage de texte visible accolé au champ permettant de comprendre la nature de la saisie attendue.
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.2.4.6 / 2.4.6 Headings and Labels (AA)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 11.2
Chaque étiquette associée à un champ de formulaire est-elle pertinente (hors cas particuliers) ?
11.2.1 : Chaque balise
<label>
permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?11.2.2 : Chaque attribut
title
permet-il de connaître la fonction exacte du champ de formulaire auquel il est associé ?11.2.3 : Chaque étiquette implémentée via l'attribut WAI-ARIA
aria-label
permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée ?11.2.4 : Chaque passage de texte associé via l'attribut WAI-ARIA
aria-labelledby
permet-il de connaître la fonction exacte du champ de formulaire auquel il est associée ?11.2.5 : Chaque champ de formulaire ayant un intitulé visible vérifie-t-il ces conditions (hors cas particuliers) ?
• S'il est présent, le contenu de l'attribut WAI-ARIA
aria-label
du champ de formulaire contient au moins l'intitulé visible.• S'il est présent, le passage de texte lié au champ de formulaire via un attribut WAI-ARIA
aria-labelledby
contient au moins l'intitulé visible.• S'il est présent, le contenu de l'attribut
title
du champ de formulaire contient au moins l'intitulé visible.• S'il est présent le contenu de la balise
<label>
associé au champ de formulaire contient au moins l'intitulé visible.11.2.6 : Chaque bouton adjacent au champ de formulaire qui fournit une étiquette visible permet-il de connaître la fonction exacte du champ de formulaire auquel il est associé ?
9.2.4.6 / 2.4.6 Headings and Labels (AA)
9.2.5.3 / 2.5.3 Label in Name (A)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.3
Dans chaque formulaire, chaque étiquette associée à un champ de formulaire ayant la même fonction et répété plusieurs fois dans une même page ou dans un ensemble de pages est-elle cohérente ?
11.3.1 : Chaque étiquette associée à un champ de formulaire ayant la même fonction et répétée plusieurs fois dans une même page est-elle cohérente ?
11.3.2 : 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 ?
9.3.2.4 / 3.2.4 Consistent Identification (AA)
-
Critère 11.4
Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés (hors cas particuliers) ?
11.4.1 : Chaque étiquette de champ et son champ associé sont-ils accolés ?
11.4.2 : Chaque étiquette accolée à un champ (à l'exception des case à cocher, bouton radio ou balises ayant un attribut WAI-ARIA
role="checkbox"
,role="radio"
ourole="switch"
), vérifie-t-elle ces conditions (hors cas particuliers) ?• L'étiquette est visuellement accolée immédiatement au-dessus ou à gauche du champ de formulaire lorsque le sens de lecture de la langue de l'étiquette est de gauche à droite.
• L'étiquette est visuellement accolée immédiatement au-dessus ou à droite du champ de formulaire lorsque le sens de lecture de la langue de l'étiquette est de droite à gauche.
11.4.3 : Chaque étiquette accolée à un champ de type
checkbox
ouradio
ou à une balise ayant un attribut WAI-ARIArole="checkbox"
,role="radio"
ourole="switch"
, vérifie-t-elle ces conditions (hors cas particuliers) ?• L'étiquette est visuellement accolée immédiatement au-dessus ou à droite du champ de formulaire lorsque le sens de lecture de la langue de l'étiquette est de gauche à droite.
• L'étiquette est visuellement accolée immédiatement au-dessus ou à gauche du champ de formulaire lorsque le sens de lecture de la langue de l'étiquette est de droite à gauche.
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.5
Dans chaque formulaire, les champs de même nature sont-ils regroupés, si nécessaire ?
11.5.1 : Les champs de même nature vérifient-ils l'une de ces conditions, si nécessaire ?
• Les champs de même nature sont regroupés dans une balise
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.6
Dans chaque formulaire, chaque regroupement de champs de formulaire a-t-il une légende ?
11.6.1 : Chaque regroupement de champs de même nature possède-t-il une légende ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.7
Dans chaque formulaire, chaque légende associée à un regroupement de champs de même nature est-elle pertinente ?
11.7.1 : Chaque légende associée à un regroupement de champs de même nature est-elle pertinente ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.8
Dans chaque formulaire, les items de même nature d'une liste de choix sont-ils regroupées de manière pertinente ?
11.8.1 : Pour chaque balise
<select>
, les items de même nature d'une liste de choix sont-ils regroupés avec une balise11.8.2 : Dans chaque balise
<select>
, chaque balise11.8.3 : Pour chaque balise
<optgroup>
ayant un attribut label, le contenu de l'attribut label est-il pertinent ?
9.1.3.1 / 1.3.1 Info and Relationships (A)
-
Critère 11.9
Dans chaque formulaire, l'intitulé de chaque bouton est-il pertinent (hors cas particuliers) ?
11.9.1 : L'intitulé de chaque bouton est-il 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 lié au bouton via un attribut WAI-ARIA
aria-labelledby
est pertinent.• S'il est présent, le contenu de l'attribut value d'une balise
<input>
de type submit, reset ou button est pertinent.• S'il est présent, le contenu de la balise
<button>
est pertinent.• S'il est présent, le contenu de l'attribut alt d'une balise
<input>
de type image est pertinent.• S'il est présent, le contenu de l'attribut title est pertinent.
11.9.2 : Chaque bouton affichant un intitulé visible vérifie-t-il ces conditions (hors cas particuliers) ?
• S'il est présent, le contenu de l'attribut WAI-ARIA
aria-label
contient au moins l'intitulé visible.• S'il est présent, le passage de texte lié au bouton via un attribut WAI-ARIA
aria-labelledby
contient au moins l'intitulé visible.• S'il est présent, le contenu de l'attribut value d'une balise
<input>
de type submit, reset ou button contient au moins l'intitulé visible.• S'il est présent, le contenu de la balise
<button>
contient au moins l'intitulé visible.• S'il est présent, le contenu de l'attribut alt d'une balise
<input>
de type image contient au moins l'intitulé visible.• S'il est présent, le contenu de l'attribut title contient au moins l'intitulé visible.
9.2.5.3 / 2.5.3 Label in Name (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 11.10
Dans chaque formulaire, le contrôle de saisie est-il utilisé de manière pertinente (hors cas particuliers) ?
11.10.1 : Les indications du caractère obligatoire de la saisie des champs vérifient-elles une de ces conditions (hors cas particuliers) ?
• Une indication de champ obligatoire est visible et permet d'identifier nommément le champ concerné préalablement à la validation du formulaire.
• Le champ obligatoire dispose de l'attribut aria-required="true" ou required préalablement à la validation du formulaire.
11.10.2 : Les champs obligatoires ayant l'attribut aria-required="true" ou required vérifient-ils une de ces conditions ?
• Une indication de champ obligatoire est visible et située dans l'étiquette associé au champ préalablement à la validation du formulaire.
• Une indication de champ obligatoire est visible et située dans le passage de texte associé au champ préalablement à la validation du formulaire.
11.10.3 : Les messages d'erreur indiquant l'absence de saisie d'un champ obligatoire vérifient-ils une de ces conditions ?
• le message d'erreur indiquant l'absence de saisie d'un champ obligatoire est visible et permet d'identifier nommément le champ concerné.
• Le champ obligatoire dispose de l'attribut aria-invalid="true".
11.10.4 : Les champs obligatoires ayant l'attribut aria-invalid="true" vérifient-ils une de ces conditions ?
• Une indication de champ obligatoire est visible et située dans l'étiquette associée au champ.
• Une indication de champ obligatoire est visible et située dans le passage de texte associé au champ.
11.10.5 : Les instructions et indications du type de données et/ou de format obligatoires vérifient-elles une de ces conditions ?
• Une instruction ou une indication du type de données et/ou de format obligatoire est visible et permet d'identifier nommément le champ concerné préalablement à la validation du formulaire.
• Une instruction ou une indication du type de données et/ou de format obligatoire est visible dans l'étiquette ou le passage de texte associé au champ préalablement à la validation du formulaire.
11.10.6 : Les messages d'erreurs fournissant une instruction ou une indication du type de données et/ou de format obligatoire des champs vérifient-ils une de ces conditions ?
• Le message d'erreur fournissant une instruction ou une indication du type de données et/ou de format obligatoires est visible et identifie le champ concerné.
• Le champ dispose de l'attribut aria-invalid="true".
11.10.7 : Les champs ayant l'attribut aria-invalid="true" dont la saisie requiert un type de données et/ou de format obligatoires vérifient-ils une de ces conditions ?
• Une instructions ou une indication du type de données et/ou de format obligatoire est visible et située dans la balise
<label>
associée au champ.• Une instructions ou une indication du type de données et/ou de format obligatoire est visible et située dans le passage de texte associé au champ.
9.3.3.1 / 3.3.1 Error Identification (A)
9.3.3.2 / 3.3.2 Labels or Instructions (AA)
-
Critère 11.11
Dans chaque formulaire, le contrôle de saisie est-il accompagné, si nécessaire, de suggestions facilitant la correction des erreurs de saisie ?
11.11.1 : Pour chaque erreur de saisie, les types et les formats de données sont-ils suggérés, si nécessaire ?
11.11.2 : Pour chaque erreur de saisie, des exemples de valeurs attendues sont-ils suggérés, si nécessaire ?
9.3.3.3 / 3.3.3 Error Suggestion (AA)
-
Critère 11.12
Pour chaque formulaire qui modifie ou supprime des données, ou qui transmet des réponses à un test ou à un examen, ou dont la validation a des conséquences financières ou juridiques, la saisie des données vérifie-t-elle une de ces conditions ?
11.12.1 : Pour chaque formulaire qui modifie ou supprime des données, ou qui transmet des réponses à un test ou un examen, ou dont la validation a des conséquences financières ou juridiques, 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 la validation du formulaire.
• L'utilisateur peut vérifier et corriger les données avant la validation d'un formulaire en plusieurs étapes.
• Un mécanisme de confirmation explicite, via une case à cocher (balise
<input>
de type checkbox ou balise ayant un attribut WAI-ARIA role="checkbox") ou une étape supplémentaire, est présent.11.12.2 : Chaque formulaire dont la validation modifie ou supprime des données à caractère financier, juridique ou personnel vérifie-t-il une de ces conditions ?
• Un mécanisme permet de récupérer les données supprimées ou modifiées par l'utilisateur.
• Un mécanisme de demande de confirmation explicite de la suppression ou de la modification, via un champ de formulaire ou une étape supplémentaire, est proposé.
9.3.3.4 / 3.3.4 Error Prevention (Legal, Financial, Data) (AA)
-
Critère 11.13
La finalité d'un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l'utilisateur ?
11.13.1 : Chaque champ de formulaire dont l'objet se rapporte à une information concernant l'utilisateur vérifie-t-il ces conditions ?
• Le champ de formulaire possède un attribut autocomplete.
• L'attribut autocomplete est pourvu d'une valeur présente dans la liste des valeurs possibles pour l'attribut autocomplete associés à un champ de formulaire.
• La valeur indiquée pour l'attribut autocomplete est pertinente au regard du type d'information attendu.
9.1.3.5/ 1.3.5 Identify Input Purpose (AA)
12 • Navigation
-
Critère 12.1
Chaque ensemble de pages dispose-t-il de deux systèmes de navigation différents, au moins (hors cas particuliers) ?
12.1.1 : 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.
9.2.4.5 / 2.4.5 Multiple Ways (AA)
-
Critère 12.2
Dans chaque ensemble de pages, le menu et les barres de navigation sont-ils toujours à la même place (hors cas particuliers) ?
12.2.1 : Dans chaque ensemble de pages, chaque page disposant d'un menu ou de barres de navigation vérifie-t-elle ces conditions (hors cas particuliers) ?
• Le menu ou de barres de navigation est toujours à la même place dans la présentation.
• Le menu ou de barres de navigation se présente toujours dans le même ordre relatif dans le code source.
9.3.2.3 / 3.2.3 Consistent Navigation (AA)
-
Critère 12.3
La page « plan du site » est-elle pertinente ?
12.3.1 : La page « plan du site » est-elle représentative de l'architecture générale du site ?
12.3.2 : Les liens du plan du site sont-ils fonctionnels ?
12.3.3 : Les liens du plan du site renvoient-ils bien vers les pages indiquées par l'intitulé ?
9.2.4.5 / 2.4.5 Multiple Ways (AA)
-
Critère 12.4
Dans chaque ensemble de pages, la page « plan du site » est-elle atteignable de manière identique ?
12.4.1 : Dans chaque ensemble de pages, la page « plan du site » est-elle accessible à partir d'une fonctionnalité identique ?
12.4.2 : Dans chaque ensemble de pages, la fonctionnalité vers la page « plan du site » est-elle située à la même place dans la présentation ?
12.4.3 : Dans chaque ensemble de pages, la fonctionnalité vers la page « plan du site » se présente-t-elle toujours dans le même ordre relatif dans le code source ?
9.2.4.5 / 2.4.5 Multiple Ways (AA)
9.3.2.3 / 3.2.3 Consistent Navigation (AA)
-
Critère 12.5
Dans chaque ensemble de pages, le moteur de recherche est-il atteignable de manière identique ?
12.5.1 : Dans chaque ensemble de pages, le moteur de recherche est-il accessible à partir d'une fonctionnalité identique ?
12.5.2 : Dans chaque ensemble de pages, la fonctionnalité vers le moteur de recherche est-elle située à la même place dans la présentation ?
12.5.3 : Dans chaque ensemble de pages, la fonctionnalité vers le moteur de recherche se présente-t-elle toujours dans le même ordre relatif dans le code source ?
9.3.2.3 / 3.2.3 Consistent Navigation (AA)
-
Critère 12.6
Les zones de regroupement de contenus présentes dans plusieurs pages web (zones d'en-tête, de navigation principale, de contenu principal, de pied de page et de moteur de recherche) peuvent-elles être atteintes ou évitées ?
12.6.1 : Dans chaque page web où elles sont présentes, la zone d'en-tête, de navigation principale, de contenu principal, de pied de page et de moteur de recherche respectent-elles au moins une de ces conditions :
• La zone possède un rôle WAI-ARIA de type landmark correspondant à sa nature.
• La zone possède un titre de hiérarchie dont le contenu permet de comprendre la nature du contenu de la zone.
• La zone peut être masquée par le biais d'un bouton précédent directement la zone dans l'ordre du code source.
• La zone peut être évitée par le biais d'un lien d'évitement précédent directement la zone dans l'ordre du code source.
• La zone peut être atteinte par le biais d'un lien d'accès rapide visible à la prise de focus lors d’une tabulation.
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.2.4.1 / 2.4.1 Bypass Blocks (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 12.7
Dans chaque page web, un lien d'évitement ou d'accès rapide à la zone de contenu principal est-il présent (hors cas particuliers) ?
12.7.1 : Dans chaque page web, un lien permet-il d'éviter la zone de contenu principal ou d'y accéder (hors cas particuliers) ?
12.7.2 : Dans chaque ensemble de pages, le lien d'évitement ou d'accès rapide à la zone de contenu principal vérifient-il ces conditions (hors cas particuliers) ?
• Le lien est situé à la même place dans la présentation.
• Le lien se présente toujours dans le même ordre relatif dans le code source.
• Le lien est visible à la prise de focus au moins.
9.2.4.1 / 2.4.1 Bypass Blocks (A)
9.2.4.3 / 2.4.3 Focus Order (A)
9.3.2.3 / 3.2.3 Consistent Navigation (AA)
-
Critère 12.8
Dans chaque page web, l'ordre de tabulation est-il cohérent ?
12.8.1 : Dans chaque page web, l'ordre de tabulation dans le contenu est-il cohérent ?
12.8.2 : Pour chaque script qui met à jour ou insère un contenu, l'ordre de tabulation reste-t-il cohérent ?
9.2.4.3 / 2.4.3 Focus Order (A)
-
Critère 12.9
Dans chaque page web, la navigation ne doit pas contenir de piège au clavier. Cette règle est-elle respectée ?
12.9.1 : 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.
9.2.1.1 / 2.1.1 Keyboard (A)
9.2.1.2 / 2.1.2 No Keyboard Trap (A)
-
Critère 12.10
Dans chaque page web, les raccourcis clavier n'utilisant qu'une seule touche (lettre minuscule ou majuscule, ponctuation, chiffre ou symbole) sont-ils contrôlables par l’utilisateur ?
12.10.1 : Dans chaque page web, chaque raccourci clavier n'utilisant qu'une seule touche (lettres minuscule ou majuscule, ponctuation, chiffre ou symbole) vérifie-t-il l'une de ces conditions ?
• Un mécanisme est disponible pour désactiver le raccourci clavier.
• Un mécanisme est disponible pour configurer la touche de raccourci clavier au moyen des touches de modification (Ctrl, Alt, Maj, etc).
• Dans le cas d'un composant d'interface utilisateur, le raccourci clavier qui lui est associé ne peut être activé que si le focus clavier est sur ce composant.
9.2.1.4 / 2.1.4 Character Key Shortcuts (A)
-
Critère 12.11
Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l'activation d'un composant d'interface sont-ils si nécessaire atteignables au clavier ?
12.11.1 : Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l'activation d'un composant d'interface sont-ils si nécessaire atteignables au clavier ?
9.2.1.1 / 2.1.1 Keyboard (A)
13 • Consultation
-
Critère 13.1
Pour chaque page web, l'utilisateur a-t-il le contrôle de chaque limite de temps modifiant le contenu (hors cas particuliers) ?
13.1.1 : Pour chaque page web, chaque procédé de rafraîchissement (balise
<object>
, balise<embed>
, balise<svg>
, balise<canvas>
, balise<meta>
) vérifie-t-il une de ces conditions (hors cas particuliers) ?• L'utilisateur peut arrêter ou relancer le rafraîchissement.
• L'utilisateur peut augmenter la limite de temps entre deux rafraîchissements de dix fois, au moins.
• L'utilisateur est averti de l'imminence du rafraîchissement et dispose de vingt secondes, au moins, pour augmenter la limite de temps avant le prochain rafraîchissement.
• La limite de temps entre deux rafraîchissements est de vingt heures, au moins
13.1.2 : Pour chaque page web, chaque procédé de redirection effectué via une balise
<meta>
est-il immédiat (hors cas particuliers) ?13.1.3 : Pour chaque page web, chaque procédé de redirection effectué via un script vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L'utilisateur peut arrêter ou relancer la redirection.
• L'utilisateur peut augmenter la limite de temps avant la redirection de dix fois, au moins.
• L'utilisateur est averti de l'imminence de la redirection et dispose de vingt secondes, au moins, pour augmenter la limite de temps avant la prochaine redirection.
• La limite de temps avant la redirection est de vingt heures, au moins.
13.1.4 : Pour chaque page web, chaque procédé limitant le temps d'une session vérifie-t-il une de ces conditions (hors cas particuliers) ?
• L'utilisateur peut supprimer la limite de temps.
• L'utilisateur peut augmenter la limite de temps.
• La limite de temps avant la fin de la session est de vingt heures au moins.
9.2.2.1 / 2.2.1 Timing adjustable (A)
9.2.2.2 / 2.2.2 Pause, Stop, Hide (A)
-
Critère 13.2
Dans chaque page web, l'ouverture d'une nouvelle fenêtre ne doit pas être déclenchée sans action de l'utilisateur. Cette règle est-elle respectée ?
13.2.1 : Dans chaque page web, l'ouverture d'une nouvelle fenêtre ne doit pas être déclenchée sans action de l'utilisateur. Cette règle est-elle respectée ?
9.3.2.1 / 3.2.1 On focus (A)
-
Critère 13.3
Dans chaque page web, chaque document bureautique en téléchargement possède-t-il, si nécessaire, une version accessible (hors cas particuliers) ?
13.3.1 : Dans chaque page web, chaque fonctionnalité de téléchargement d'un document bureautique vérifie-t-elle une de ces conditions ?
• Le document en téléchargement est compatible avec l'accessibilité.
• Il existe une version alternative du document en téléchargement compatible avec l'accessibilité.
• Il existe une version alternative du document en téléchargement au format HTML.
9.1.1.1 / 1.1.1 Non-text Content (A)
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.1.3.2 / 1.3.2 Meaningful Sequence (AA)
9.2.4.1 / 2.4.1 Bypass Blocks (AA)
9.2.4.3 / 2.4.3 Focus Order (A)
9.3.1.1 / 3.1.1 Language of Page (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 13.4
Pour chaque document bureautique ayant une version accessible, cette version offre-t-elle la même information ?
13.4.1 : Chaque document bureautique ayant une version accessible vérifie-t-il une de ces conditions ?
• La version compatible avec l'accessibilité offre la même information.
• La version alternative au format HTML est pertinente et offre la même information.
9.1.1.1 / 1.1.1 Non-text Content (A)
9.1.3.1 / 1.3.1 Info and Relationships (A)
9.1.3.2 / 1.3.2 Meaningful Sequence (AA)
9.2.4.1 / 2.4.1 Bypass Blocks (AA)
9.2.4.3 / 2.4.3 Focus Order (A)
9.3.1.1 / 3.1.1 Language of Page (A)
9.4.1.2 / 4.1.2 Name, Role, Value (A)
-
Critère 13.5
Dans chaque page web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) a-t-il une alternative ?
13.5.1 : Dans chaque page web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) vérifie-t-il une de ces conditions ?
• Un attribut
title
est disponible.• Une définition est donnée par le contexte adjacent.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 13.6
Dans chaque page web, pour chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) ayant une alternative, cette alternative est-elle pertinente ?
13.6.1 : Dans chaque page web, chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) vérifie-t-il une de ces conditions ?
• Le contenu de l'attribut
title
est pertinent.• La définition donnée par le contexte adjacent est pertinente.
9.1.1.1 / 1.1.1 Non-text Content (A)
-
Critère 13.7
Dans chaque page web, les changements brusques de luminosité ou les effets de flash sont-ils correctement utilisés ?
13.7.1 : Dans chaque page web, chaque image (balise
<img>
, balise<svg>
, balise<canvas>
, balise<embed>
ou balise<object>
) qui provoque un changement brusque de luminosité ou un effet de flash vérifie-t-elle une de ces conditions ?• La fréquence de l'effet est inférieure à 3 par seconde.
• La surface totale cumulée des effets est inférieure ou égale à 21824 pixels.
13.7.2 : Dans chaque page web, chaque script qui provoque un changements brusques de luminosité ou les effets de flash vérifie-t-il une de ces conditions ?
• La fréquence de l'effet est inférieure à 3 par seconde.
• La surface totale cumulée des effets est inférieure ou égale à 21824 pixels.
13.7.3 : Dans chaque page web, chaque mise en forme CSS qui provoque un changements brusques de luminosité ou les effets de flash vérifie-t-elle une de ces conditions ?
• La fréquence de l'effet est inférieure à 3 par seconde.
• La surface totale cumulée des effets est inférieure ou égale à 21824 pixels.
9.2.3.1 / 2.3.1 Three Flashes or Below Threshold (A)
-
Critère 13.8
Dans chaque page web, chaque contenu en mouvement ou clignotant est-il contrôlable par l'utilisateur ?
13.8.1 : Dans chaque page web, chaque contenu en mouvement, déclenché automatiquement, vérifie-t-il une de ces conditions ?
• La durée du mouvement est inférieure ou égale à 5 secondes.
• L'utilisateur peut arrêter et relancer le mouvement.
• L'utilisateur peut afficher et masquer le contenu en mouvement.
• L'utilisateur peut afficher la totalité de l'information sans le mouvement.
13.8.2 : Dans chaque page web, chaque contenu clignotant, déclenché automatiquement, vérifie-t-il une de ces conditions ?
• La durée du clignotement est inférieure ou égale à 5 secondes.
• L'utilisateur peut arrêter et relancer le clignotement.
• L'utilisateur peut afficher et masquer le contenu clignotant.
• L'utilisateur peut afficher la totalité de l'information sans le clignotement.
9.2.2.1 / 2.2.1 Timing Adjustable (A)
9.2.2.1 / 2.2.2 Pause, Stop, Hide (A)
-
Critère 13.9
Dans chaque page web, le contenu proposé est-il consultable quelle que soit l'orientation de l'écran (portait ou paysage) (hors cas particuliers) ?
13.9.1 : Dans chaque page web, chaque contenu vérifie-t-il ces conditions (hors cas particuliers) ?
• La consultation est possible quel que soit le mode d'orientation de l'écran.
• Le contenu proposé reste le même quel que soit le mode d'orientation de l'écran utilisé même si sa présentation et le moyen d'y accéder peut différer.
9.1.3.4 / 1.3.4 Orientation (AA)
-
Critère 13.10
Dans chaque page web, les fonctionnalités utilisables ou disponibles au moyen d'un geste complexe peuvent-elles être également disponibles au moyen d'un geste simple (hors cas particuliers) ?
13.10.1 : Dans chaque page web, chaque fonctionnalité utilisable ou disponible suite à un contact multipoint est-elle également utilisable ou disponible suite à un contact en un point unique de l'écran (hors cas particuliers).
13.10.2 : Dans chaque page web, chaque fonctionnalité utilisable ou disponible suite à un geste basé sur le suivi d'une trajectoire sur l'écran est-elle également utilisable ou disponible suite à un contact en un point unique de l'écran (hors cas particuliers).
9.2.5.1 / 2.5.1 Pointer Gestures (A)
-
Critère 13.11
Dans chaque page web, les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran peuvent-elles faire l'objet d'une annulation (hors cas particuliers) ?
13.11.1 : Dans chaque page web, les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran vérifient-elles l'une de ces conditions (hors cas particuliers) ?
• L'action est déclenchée au moment où le dispositif de pointage est relâché ou relevé;
• L'action est déclenchée au moment où le dispositif de pointage est pressé ou posé puis annulée lorsque le dispositif de pointage est relâché ou relevé;
• Un mécanisme est disponible pour abandonner (avant achèvement de l'action) ou annuler (après achèvement) l'exécution de l'action.
9.2.5.2 / 2.5.2 Pointer Cancellation (A)
-
Critère 13.12
Dans chaque page web, les fonctionnalités qui impliquent un mouvement de l'appareil ou vers l'appareil peuvent-elles être satisfaites de manière alternative (hors cas particuliers) ?
13.12.1 : Dans chaque page web, les fonctionnalités disponibles en bougeant l'appareil peuvent-elles être accomplies avec des composants d'interface utilisateur (hors cas particuliers) ?
13.12.2 : Dans chaque page web, les fonctionnalités disponibles en faisant un geste en direction de l'appareil peuvent-elles être accomplies avec des composants d'interface utilisateur (hors cas particuliers) ?
13.12.3 : L'utilisateur a-t-il la possibilité de désactiver la détection du mouvement pour éviter un déclenchement accidentel de la fonctionnalité (hors cas particuliers) ?
9.2.5.4 / 2.5.4 Motion Actuation (A)
Glossaire
Dans le cas où la collection de pages comporte un grand nombre de pages, il est habituel de présenter ces liens d'accès aux pages par groupes de liens, par séquences de 10 liens, par exemple. Cette pratique valide le test.
- Un composant d'interface (lien, bouton, …) est accessible au clavier et par tout dispositif de pointage lorsque l'utilisateur peut prendre, indifféremment, le focus par un pointeur ou la touche tabulation.
- Un composant d'interface (lien, bouton, …) est activable au clavier et par tout dispositif de pointage lorsque l'utilisateur peut enclencher, indifféremment, l'action prévue par le composant d'interface par une pression du pointeur ou la touche entrée du clavier.
- Attention : pour certains composants d'interface comme les sliders (bouton coulissant ou rotatif…), il n'est pas possible de contrôler le composant par la seule touche d'entrée. Dans ces situations, d'autres touches (comme les touches de direction) peuvent être utilisées. En particulier pour les éléments ayant un rôle WAI-ARIA correspondant à un motif de conception il est recommandé de considérer le document WAI-ARIA 1.1 Authoring Practices lors de leur implémentation.
Dans le référentiel, l'expression « contrôlable par le clavier et tout dispositif de pointage » se rapporte également à la présente définition.
Note importante : le recours à certaines technologies peut rendre la gestion du focus trop complexe ou trop instable pour ne reposer que sur la tabulation, les touches de direction et la touche entrée. Dans ce cas, la mise à disposition de raccourcis clavier peut être la seule solution pour rendre le composant utilisable.
Le critère ne peut être considéré comme conforme qu’à la condition que les raccourcis clavier utilisés soient correctement documentés, qu'ils soient fonctionnels et qu'ils respectent le critère 12.10.
Il faut que l'étiquette et son champ soient visuellement proches de manière à ce que la relation entre les deux ne puisse pas prêter à confusion.
Message d'alerte interrompant la navigation ou l'utilisation de la page, notamment en demandant de cliquer sur un bouton ou un lien pour continuer la navigation ou l'utilisation du contenu. Par exemple, une boîte de dialogue générée par JavaScript via la fonction alert
. Par extension, une fenêtre modale (contenu présenté sous forme de « fenêtre » insérée ou affichée dans le DOM) qui nécessite d'être fermée pour continuer la navigation ou l'utilisation du contenu est considérée comme une alerte.
Note : la désactivation des alertes concernées peut être proposée avant le déclenchement de l'alerte, par exemple, via un paramètre utilisateur ou lors de l'affichage de la première alerte, par exemple via une case à cocher « ne plus afficher cette alerte ».
Texte ou procédé associé au script via une technique appropriée et permettant de mettre à disposition une fonction ou un contenu similaire à celui proposé par script.
Note : lorsqu'une alternative à un procédé ou une fonctionnalité JavaScript est proposée, le moyen d'y accéder doit être fourni par le site lui-même. Il peut s'agir d'un lien ou d'un bouton permettant d'accéder à une page alternative fonctionnant sans JavaScript ou permettant de remplacer le(s) composant(s) par un composant alternatif fonctionnant sans JavaScript par exemple.
Sont considérés comme des alternatives possibles à une image SVG :
- Un mécanisme de remplacement.
- Un lien ou bouton adjacent qui permet d'accéder à une alternative dont le contenu est pertinent, et identique à l'attribut WAI-ARIA
aria-label
et à l'attributtitle
de la balise<svg>
, s'il est présent.
Les conditions de restitution d'une alternative textuelle via des technologies d'assistance (par exemple une loupe d'écran) nécessitent qu'elle soit la plus courte possible. Une longueur maximale de 80 caractères est fortement recommandée ; elle limitera le nombre de manipulations nécessaires pour lire l'alternative par les utilisateurs de plages braille ou de loupes d'écran notamment.
« Nom accessible » restitué par les technologies d’assistance pour les éléments graphiques de type :
- Image (balise
<img>
ou balise possédant un attribut WAI-ARIArole="img"
);- Zone d'image réactive (balise
<area>
);- Bouton de type image (balise
<input>
avec l'attributtype="image"
);- Image objet (balise
<object type="image/…">
);- Image vectorielle (balise
<svg>
);- Image bitmap (balise
<canvas>
);- Image embarquée (balise
<embed>
).
Dans le cas d’un élément graphique, le « nom accessible » est obtenu selon l’ordre suivant :
- Passage de texte associé via l’attribut WAI-ARIA
aria-labelledby
pour les balises :•
<img>
;•
<input type="image">
;•
<svg>
;•
<object type="image/…">
;•
<embed type="image/…">
;•
<canvas>
;• balises possédant un attribut WAI-ARIA
role="img"
.- Sinon, contenu de l’attribut WAI-ARIA
aria-label
pour les balises :•
<img>
;•
<area>
;•
<input type="image">
;•
<svg>
;•
<object type="image/…">
;•
<embed type="image/…">
;•
<canvas>
;• balises possédant un attribut WAI-ARIA
role="img"
.- Sinon, contenu de l’attribut
alt
pour les balises :•
<img>
;•
<area>
;•
<input type="image">
.- Sinon, contenu de l’attribut
title
pour les balises :•
<img>
;•
<input type="image">
;•
<object type="image/…">
;•
<embed type="image/…">
.Cet ordre doit être utilisé pour déterminer ce qui constitue l'alternative textuelle.
Néanmoins, en cas de support partiel de l’algorithme de calcul du « nom accessible », c’est la valeur réellement restituée par les technologies d’assistance utilisées dans l’environnement de test (ou « base de référence ») qu’il faudra considérer comme alternative textuelle.
Par exemple :
- En cas de présence conjointe d'un attribut WAI-ARIA
aria-label
et d'un attribut WAI-ARIAaria-labelledby
sur une balise<img>
, c'est le passage de texte référencé par l'attribut WAI-ARIAaria-labelledby
qui doit être considérée comme alternative textuelle si le contenu du passage de texte est réellement restitué par les technologies d’assistance utilisées dans l’environnement de test.- En cas de présence conjointe d'un attribut WAI-ARIA
aria-label
et d'un attributalt
sur une balise<img>
, c'est le contenu de l'attribut WAI-ARIAaria-label
qui doit être considéré comme alternative textuelle si le contenu de l’attribut WAI-ARIAaria-label
est réellement restitué par les technologies d’assistance utilisées dans l’environnement de test.
Référence : Accessible name and description calculation.
RGAA considère trois types d'alternatives textuelles liées à la nature de l'image :
- Pour une image porteuse d'information, l'alternative textuelle apporte l'information nécessaire à la compréhension du contenu qu'elle véhicule;
- Pour une image de décoration, aucune alternative textuelle ne doit être restituée ;
- Pour une image CAPTCHA ou une image-test, l'alternative textuelle décrit seulement la nature et la fonction de l'image. En effet, l'alternative textuelle ne peut apporter l'information véhiculée par l'image sans rendre la fonction associée inopérante.
Note 1 : pour une image CAPTCHA l'alternative peut être, par exemple : « Code de sécurité anti-spam » ou « code pour vérifier que vous êtes un humain » ou toute autre alternative permettant à l'utilisateur de comprendre la nature et la fonction de l'image.
Note 2 : pour un groupe d'images, par exemple un système de vote constitué de plusieurs images d'étoile, il est fortement conseillé d'utiliser soit la première image du groupe pour donner une alternative cohérente au groupe d'image (voir la technique WCAG2.1 G196), soit une balise conteneur pourvue d'un rôle WAI-ARIA
img
et d'une alternative textuelle. Dans le premier cas, les autres images du groupe sont considérées comme des images de décoration. Dans le second cas, toutes les images du groupe sont considérées comme des images de décoration.Note 3 : pour les image-lien, l'alternative doit permettre de comprendre la fonction et la destination du lien ; ce cas est traité dans la thématique liens.
Note 4 : pour les images vectorielles (balise
<svg>
) l'alternative textuelle pourrait se trouver aussi présente dans une balise<text>
que cette balise soit ou non visible, même si ce n'est pas le rôle dévolu à cet élément en SVG.Note 5 : l'utilisation de l'attribut
alt
étant la seule technique totalement supportée par les aides techniques il est recommandé de privilégier cette solution lors de la mise en œuvre d'une alternative à une balise<img>
,<area>
et<input type="image">
.Ambigu pour tout le mondeL'intention ne peut être déterminée à partir du lien et de toute l'information de la page web présentée à l'utilisateur en même temps que ce lien. (c'est-à-dire qu'un lecteur sans limitation fonctionnelle ne connaîtrait pas la fonction d'un lien avant de l'activer). Exemple : le mot « goyave » dans la phrase suivante utilisé comme lien : « L'une des exportations importantes est la goyave ». Ce lien pourrait conduire à une définition de la goyave, à un graphe présentant une liste des quantités de goyaves exportées ou à une photo de personnes récoltant la goyave. Jusqu'à ce que le lien soit activé, tout utilisateur est dans l'incertitude et une personne handicapée n'est donc pas désavantagée.
AncreEn HTML, une ancre (appelée aussi signet) est constituée d'une balise
<a>
avec l'attributid
et dépourvue dehref
,<a id="contenu"></a>
par exemple. Une ancre sert de cible à un lien de la forme<a href="#id">Intitulé</a>
:<a href="#contenu">Contenu</a>
par exemple.Audiodescription synchronisée (média temporel)Narration ajoutée (via un fichier son) à une piste sonore pour décrire les détails visuels importants qui ne peuvent être compris à partir de la piste sonore principale seulement. L'audiodescription doit être synchronisée avec le média temporel par un dispositif applicatif lié au lecteur lui-même ou fourni par le développement par exemple avec JavaScript.
Note 1 : l'audiodescription d'une vidéo fournit de l'information à propos des actions, des personnages, des changements de scènes, du texte apparaissant à l'écran et d'autres contenus visuels.
Note 2 : dans une audiodescription standard, la narration est ajoutée durant les pauses qui existent dans le dialogue. (Voir aussi audiodescription étendue.)
Note 3 : lorsque toute l'information de la vidéo est déjà donnée dans la piste audio, aucune audiodescription supplémentaire n'est requise.
BListe de liens permettant une navigation spécifique dans le site, dans une rubrique ou dans une collection de pages.
Les principales barres de navigation (critère 12.2) sont :
- Un menu de navigation;
- Un fil d'Ariane;
- Une liste de navigation d'une liste de résultats;
- Des liens d'évitement.
Il existe différents types de menu de navigation (critère 12.1 et critère 12.2) :
- Menu de navigation principal;
- Menu de sous-rubrique;
- Menu contextuel;
- Table des matières concernant un ensemble de pages.
Note : Les liens de pied de page renvoyant vers les mentions légales, plan du site et autres informations concernant le site ne sont pas considérés comme un menu de navigation principal.
Bouton (formulaire)Élément d'un formulaire qui permet d'effectuer une action prédéfinie. Par exemple, le bouton de soumission d'un formulaire permet l'envoi au serveur des informations collectées pour leur traitement. L'intitulé d'un bouton doit décrire l'action qui résulte de son activation (par exemple : « Lancer votre recherche », « Envoyer votre message »).
En HTML, il y a trois types de boutons de formulaire :
- Balise
<input>
de typesubmit
,reset
oubutton
;- Balise
<input>
de typeimage
;- Balise
<button>
.
Il est également possible de restituer un bouton à l'aide du rôle WAI-ARIA
button
.L'intitulé du bouton peut être de six types :
- Le contenu du passage de texte associé au bouton via l'attribut WAI-ARIA
aria-labelledby
lorsqu'il est présent;- Le contenu de l'attribut
aria-label
lorsqu'il est présent;- Le contenu de l'attribut
alt
d'un bouton de typeimage
;- Le contenu de l'attribut
value
des boutons de typesubmit
,reset
oubutton
;- Le contenu de la balise
<button>
;- Le contenu de l'attribut
title
lorsqu'il est présent.
Note importante : lorsque plusieurs de ces techniques sont présentes sur un même bouton, le calcul du « nom accessible », c'est-à-dire ce qui sera restitué, obéit à un ordre strict :
Cet ordre doit être utilisé pour l'évaluation de la pertinence du « nom accessible » du bouton. Par exemple, même dans le cas de la présence d'un
title
et d'un passage de texte référencé pararia-labelledby
sur le même bouton, c'est le passage de texte référencé pararia-labelledby
qui doit être évalué.Référence : Accessible name and description calculation.
Par ailleurs, un « nom accessible » sera considéré comme non-pertinent s'il ne reprend pas le texte visible du bouton. Par exemple :
<button aria-label="confirmer la saisie">valider la saisie</button>
sera considéré comme non conforme au critère 11.2.
CCadreCadre : élément HTML (balise
<frame>
) permettant d'afficher un contenu dans la page web dans laquelle il est implémenté.Cadre en ligne : élément HTML (balise
<iframe>
) permettant d'afficher un contenu dans la page web dans laquelle il est implémenté.CAPTCHAUn CAPTCHA est un test utilisé pour distinguer un utilisateur humain d'un ordinateur. Le test utilise souvent des images contenant du texte déformé, mélangé avec d'autres formes ou utilisant des jeux de couleur altérées, que l'utilisateur est invité à retaper. D'autres formes de CAPTCHA peuvent être basées sur des questions logiques ou des extraits sonores.
Champs de même natureDans un formulaire, ensemble des champs pouvant être regroupés par la nature des informations attendues. Le regroupement vise à identifier les champs devant être traités comme un ensemble.
Quelques exemples :
- Trois champs successifs pour saisir une date (jour/mois/année);
- Champs successifs pour un numéro de téléphone.
- Un bloc destiné à saisir l'identité et l'adresse de l'utilisateur, lorsque le formulaire contient plusieurs blocs de contact;
- Un ensemble de boutons radio ou de cases à cocher qui se rapportent à une question.
Ces champs doivent être regroupés lorsque les intitulés de label ne sont pas suffisants pour informer l'utilisateur que les champs font partie d'un regroupement.
Champ de saisie de formulaireObjet d'un formulaire permettant à l'utilisateur :
- De saisir des données textuelles ou préformatées :
•
input type="text"
;•
input type="password"
;•
input type="search"
;•
input type="email"
;•
input type="number"
;•
input type="tel"
;•
input type="url"
;•
textarea
.- De sélectionner des valeurs prédéfinies :
•
input type="checkbox"
;•
input type="radio"
;•
input type="date"
;•
input type="range"
;•
input type="color"
;•
input type="time"
;•
input type="month"
;•
input type="week"
;•
input type="datetime-local"
;•
select
;•
datalist
;•
optgroup
;•
option
.- De télécharger des fichiers :
•
input type="file"
.- Ou d'afficher des résultats :
•
output
;•
progress
;•
meter
.- Les balises possédant un rôle WAI-ARIA permettant de restituer un champ de formulaire sont également couvertes par cette définition :
•
progressbar
;•
slider
;•
spinbutton
;•
textbox
;•
listbox
;•
searchbox
;•
combobox
;•
option
;•
checkbox
;•
radio
;•
switch
.- Les objets de formulaires et rôle WAI-ARIA suivants ne sont pas considérés comme des champs de formulaires :
•
input type="submit"
;•
input type="reset"
;•
input type="hidden"
;•
input type="image"
;•
input type="button"
;•
button
;• attribut WAI-ARIA
role="button"
.Changement brusque de luminosité ou effet de flashAlternance de luminosité relative qui peut causer des crises chez certaines personnes si leur taille est suffisamment importante dans une gamme de fréquences spécifiques.
Changement de contexteChangements majeurs dans le contenu d'une page web qui, s'ils sont faits sans que l'utilisateur n'en soit conscient, peuvent désorienter l'utilisateur qui ne peut voir l'ensemble de la page en même temps. Les changements de contexte comprennent les changements :
- D'agent utilisateur;
- D'espace de restitution;
- De focus;
- De contenu qui modifie la signification de la page web.
Note : Un changement de contenu n'est pas toujours un changement de contexte. Un changement dans le contenu comme le déploiement d'une arborescence, un menu dynamique ou un déplacement de tabulation ne change pas nécessairement le contexte à moins qu'il ne change aussi l'un des éléments énumérés ci-dessus (le focus, par exemple).
Par exemple, l'ouverture d'une nouvelle fenêtre, le déplacement du focus sur un composant différent, le déplacement vers une nouvelle page (y compris tout ce qui, pour l'utilisateur, aurait l'air d'un déplacement vers une autre page) ou la réorganisation significative du contenu d'une page sont autant d’illustrations d'un changement de contexte.
Changement de langueL'indication des changements de langue est nécessaire pour indiquer aux technologies d'assistance de modifier la restitution vocale d'un élément. Les changements de langue concernent tous les contenus, y compris les valeurs de certains attributs comme
title
.Note : il n'est pas possible d'indiquer des changements de langue dans une valeur d'attribut elle-même, dans ce cas le changement de langue est indiqué sur l'élément qui contient l'attribut. Par exemple un lien affecté d'un
title
en anglais devra comporter un attributlang="en"
. Lorsque l'attribut contient plusieurs passages de texte dans des langues différentes, le critère est non applicable.Code de langueCode de 2 caractères (ISO 639-1) ou 3 caractères (ISO 639-2 et suivants) permettant d'indiquer la langue d'un document ou d'un passage de texte. L'indication du code de langue est constituée de deux parties séparées par un tiret sur le modèle
lang="[code]-[option]"
.- [code] représente un code de langue valide sur 2 ou 3 caractères;
- [option] est une indication laissée à l'appréciation de l'auteur.
Lorsqu'un code de pays est utilisé comme option, il peut servir à indiquer une régionalisation de la langue, l'indication "en-us" indique la langue américaine, par exemple. L'indication du code de langue ne concerne que la partie [code] avant le tiret.
Compatible avec les technologies d'assistanceUn contenu ou une fonctionnalité doit être compatible avec les technologies d'assistance des utilisateurs ainsi qu'avec les fonctions d'accessibilité des navigateurs et des autres agents utilisateurs via une API d'accessibilité.
Cela concerne, à la fois, la technologie, ses fonctionnalités et ses usages :
- La façon dont la technologie Web est utilisée doit être compatible avec les technologies d'assistance des utilisateurs. Cela signifie que la façon dont la technologie est utilisée a été testée dans une perspective d'interopérabilité avec des utilisateurs des technologies d'assistance dans la ou les langues du contenu;
- La technologie fonctionne de façon native dans des agents utilisateurs largement distribués qui sont, eux-mêmes, compatibles avec l'accessibilité (comme HTML et CSS) ou avec un module d'extension largement distribué qui est, lui-même, compatible avec l'accessibilité.
La vérification de la compatibilité avec les technologies d'assistance nécessite de réaliser un certain nombre de tests spécifiques à la technologie utilisée, par exemple :
- Vérifier le nom, le rôle, le paramétrage et les changements d'états des composants d'interface;
- Vérifier que la restitution d'un composant d'interface est correcte pour la ou les technologies d'assistance utilisées.
Composant d'interfaceUn composant d'interface est un élément avec lequel l'utilisateur peut interagir, par exemple un bouton, un lien, une zone de saisie. Certains composants peuvent être plus complexes comme un menu, une fenêtre de dialogue, un système d'onglets. Enfin un composant d'interface peut être basé sur des éléments natifs de HTML ou développés de toutes pièces en JavaScript et des attributs WAI-ARIA. En particulier pour les éléments ayant des attributs WAI-ARIA correspondant à un motif de conception il est recommandé de considérer le document WAI-ARIA 1.1 Authoring Practices lors de leur implémentation.
Compréhensible (ordre de lecture)Un contenu compréhensible est lisible (l'ordre des éléments est logique) et cohérent (l'enchaînement de la lecture est cohérent).
Contenu alternatifContenu venant se substituer à un autre apportant la même information mais pouvant être présenté de façon différente. Ce contenu peut être de forme textuelle mais également être lui-même structuré à l'aide de balises. Un contenu alternatif devra respecter l'ensemble des critères du RGAA qui lui sont applicables pour être considéré comme une alternative accessible à l'élément qu'il remplace. Exemple : un tableau de données peut être le contenu alternatif d'une image bitmap (balise
<canvas>
) affichant un graphique statistique.Contenu cachéLes technologies d'assistance (notamment les lecteurs d'écran) ne restituent pas le contenu masqué via les propriétés :
-
display
avec la valeurnone
(display: none
);-
visibility
avec la valeurhidden
(visibility: hidden
);-
font-size
avec la valeur 0 (font-size:0
);- Attribut HTML5
hidden
;- Attribut WAI-ARIA
aria-hidden="true"
.
Tous les contenus utilisant une ou plusieurs de ces propriétés et attributs sont applicables pour le critère 10.13.
Contenu visiblePour le test 10.2.1 : « Contenu présent » signifie que le contenu visible reste présent lorsque CSS est désactivé. Par exemple, une image porteuse d'information en propriété de fond CSS invalide ce test car l'information n'est plus « présente » lorsque CSS est désactivé. En revanche, une image porteuse d'information en propriété de fond CSS mais accompagnée d'un texte caché valide ce test car l'information est bien « présente » lorsque CSS est désactivé.
Note : la pratique qui consiste à gérer des images en propriété de fond d'éléments via CSS est formellement déconseillée, même si elle est accompagnée d'un texte caché.
Contexte du lienLe contexte du lien représente les informations supplémentaires (on parle d'informations de contexte) qui peuvent être mises en relation par un programme informatique avec l'intitulé du lien. Les informations de contexte qui permettent de compléter l'intitulé du lien sont les suivantes :
- Le contenu de la phrase dans laquelle le lien texte est présent;
- Le contenu du paragraphe (balise
<p>
) dans lequel le lien texte est présent;- Le contenu de l'item de liste (balise
<li>
) ou le contenu d'un item de liste parent (balise<li>
) dans lequel le lien texte est présent;- Le contenu du titre (balise
<hx>
) précédent le lien texte;- Le contenu de la ou les cellule(s) d'en-tête de tableau (balise(s)
<th>
) associée(s) à la cellule de donnée (balise<td>
) dans laquelle le lien texte est présent;- Le contenu de la cellule de donnée (balise
<td>
) dans laquelle le lien texte est présent;
Note 1 : l'un des 6 contextes de lien combiné à l'intitulé du lien doit permettre de comprendre la fonction et la destination du lien.
Note 2 : RGAA considère que des liens particuliers comme des liens de type
mailto
(qui génère un lien sous la forme d'une adresse email cliquable) sont suffisamment explicites et ne requièrent pas de signaler que l'action consiste à envoyer un email. L'attention des auteurs est appelée sur le fait que cette règle générale peut être adaptée au contexte, par exemple si la page contient plusieurs adresses email cliquables affectées de comportements différents (envoyer un email via le client de messagerie pour l'une, accéder à un formulaire pour l'autre) il peut être nécessaire de donner des informations complémentaires sur l'action du lien afin de différencier leurs comportements.ContrasteOpposition marquée entre la luminosité d'une couleur de premier plan et d'une couleur d'arrière-plan. Le rapport de contraste est basé sur la différence de luminosité relative entre l'arrière-plan et le premier plan selon la règle : (L1 + 0,05) / (L2 + 0,05) où L1 est la luminosité relative la plus claire et L2 la luminosité relative la plus sombre. La luminosité est calculée selon la formule suivante : L = 0,2126 R + 0,7152 G + 0,0722 * B. Où R, G et B sont définis par :
- Si RsRGB <= 0,03928 alors R = RsRGB/12,92 sinon R = ((RsRGB+0,055)/1,055) ^ 2,4;
- Si GsRGB <= 0,03928 alors G = GsRGB/12,92 sinon G = ((GsRGB+0,055)/1,055) ^ 2,4;
- Si BsRGB <= 0,03928 alors B = BsRGB/12.92 sinon B = ((BsRGB+0,055)/1,055) ^ 2,4;
et RsRGB, GsRGB et BsRGB sont définis par :
- RsRGB = R8bit/255;
- GsRGB = G8bit/255;
- BsRGB = B8bit/255.
Le caractère « ^ » est l'opérateur exponentiel.
Note : la mesure de contraste concerne le texte, le texte en image, le texte et le texte en image dans les animations, le texte de sous-titrage et le texte incrusté dans les vidéos. Pour le texte et le texte en image dans les animations, le texte de sous-titrage et le texte incrusté dans les vidéos, la taille de la police doit être mesurée par rapport à la taille d'affichage par défaut (telle qu'affichée). Les textes présents dans les éléments d'une image ou d'une vidéo (par exemple un écriteau, une affiche etc.) ne sont pas concernés.
Contrôle (contenu en mouvement ou clignotant)Possibilité pour l'utilisateur de contrôler l'affichage ou la lecture d'un contenu en mouvement ou clignotant par le clavier et la souris, au moins.
Tous les contenus en mouvement, à l'exception des médias temporels pris en charge par la thématique multimédia, sont concernés : les images animées (par exemple un gif animé), les contenus en mouvement proposés via une balise
<object>
, du code JavaScript ou des effets CSS par exemple.Note 1 : lorsque c'est approprié, la méthode de contrôle devrait être disponible comme premier élément de la page.
Note 2 : la méthode de contrôle du contenu en mouvement ou clignotant doit permettre à l'utilisateur d'interagir avec le reste de la page. En conséquence, l'arrêt ou la mise en pause via un événement déclenché uniquement sur la prise de focus ne permet pas de valider le critère.
Note 3 : Dans certains cas, le mouvement fait partie intégrante du composant et il n'est pas possible d'en donner le contrôle à l'utilisateur, par exemple une barre de progression dont la fonction est d'indiquer par un mouvement la progression d'un évènement comme un téléchargement. Dans ce cas le critère est Non Applicable.
Contrôle (son déclenché automatiquement)Possibilité pour l'utilisateur d'arrêter ou de relancer un son déclenché automatiquement.
Note : la méthode de contrôle du son devrait être disponible comme premier élément de la page.
Contrôle de la consultation (d'un média temporel)Possibilité pour l'utilisateur de contrôler la consultation d'un média temporel par le clavier et tout dispositif de pointage, au moins. Les points suivants doivent être respectés :
- Liste des fonctionnalités obligatoires de contrôle de la consultation :
• Liste des fonctionnalités obligatoires de contrôle de la consultation :
• L'objet multimédia doit toujours avoir les fonctionnalités suivantes, au minimum : lecture, pause ou stop;
• Si l'objet multimédia a du son, il doit avoir une fonctionnalité d'activation / désactivation du son;
• Si l'objet multimédia a des sous-titres, il doit avoir une fonctionnalité de contrôle de l'apparition/disparition des sous-titres;
• Si l'objet multimédia a une audiodescription, il doit avoir une fonctionnalité de contrôle de l'apparition/disparition de l'audiodescription.
- Chaque fonctionnalité doit être accessible par le clavier, via la touche de tabulation, et par tout dispositif de pointage au moins.
- Chaque fonctionnalité doit être activable par le clavier et par tout dispositif de pointage, au moins.
Note : s'il n'y a pas de son à un média temporel, il n'est pas utile de mettre une fonctionnalité d'activation / désactivation du son. Si cette fonctionnalité est cependant présente et qu'elle nécessite une alternative textuelle pour être comprise par certains utilisateurs, il faut alors lui en donner une puisque l'utilisateur est susceptible d'y accéder et de vouloir l'activer.
Contrôle de saisie (formulaire)Ensemble des processus qui permettent de prévenir l'utilisateur des champs obligatoires, des indications de type ou de format attendus et des erreurs de saisie dans un formulaire. Ces contrôles de saisie peuvent être implémentés par l'auteur des contenus ou s'appuyer sur des attributs (comme
required
oupattern
), des attributs WAI-ARIA (commearia-required
) ou des types de champ qui produisent de manière automatique des indications de saisie ou d'erreurs (comme les typesurl
,email
,date
,time
par exemple).Couleur d'arrière-plan contiguë et couleur contiguëCouleur d'arrière-plan contiguë : couleur d'arrière-plan directement en contact avec le bord extérieur du composant d'interface ou de l'élément graphique.
Exemples :
- Pour un bouton blanc avec une bordure bleue sur un fond blanc, le fond blanc à l'extérieur de la bordure bleu correspond à la couleur d'arrière-plan contiguë;
- Pour un bouton rouge sur fond blanc, le fond blanc à l'extérieur du rouge correspond à la couleur d'arrière-plan contiguë;
- Pour un bouton blanc avec une bordure verte qui devient noire à la prise de focus et au survol, le fond blanc à l'extérieur de la bordure verte de l'état par défaut et de la bordure noire de l'état au survol et au focus correspond à la couleur d'arrière-plan contiguë.
Couleur contiguë : couleur directement en contact avec une autre couleur. Exemple dans un panneau de « sens interdit » le rouge du panneau est la couleur contiguë au trait blanc au centre du panneau.
Note 1: dans le cas de la présence d'un dégradé, c'est la couleur contiguë la moins contrastée du dégradé qui sera à considérer comme la couleur contiguë ou couleur d'arrière-plan contiguë.
Note 2 : dans le cas de la présence de plusieurs couleurs, c'est l'ensemble des couleurs qui seront à considérer comme couleur contiguë ou couleur d'arrière-plan contiguë.
DDescription détaillée (image)Contenu associé à une image en complément de son alternative textuelle afin de décrire en totalité l'information véhiculée par l'image. La description détaillée peut être associée à l'image via :
- Un attribut
longdesc
qui contient l'adresse d'une page ou d'un emplacement dans la page contenant la description détaillée;- Une référence à une description détaillée adjacente à l'image dans l'alternative textuelle;
- Un lien ou un bouton adjacent qui permet d'accéder à la description détaillée dans la page ou dans une autre page;
- Un ou plusieurs passages de texte identifiés par un id et liés par un attribut WAI-ARIA
aria-describedby
sur le modèlearia-describedby="ID1 ID2 ID3…"
.
Note 1 : Si le support de l'attribut
aria-describedby
fait défaut, il est possible d'utiliser un ou plusieurs passages de texte identifiés par unid
et liés par un attribut WAI-ARIAaria-labelledby
à la suite de l'alternative textuelle.Note 2 : Pour assurer une compatibilité maximum avec les agents utilisateurs, notamment Internet Explorer 11, il est recommandé d'implémenter un
tabindex="-1"
sur les balises qui contiennent un passage de texte et qui ne sont pas des éléments interactifs (bouton, liens, éléments de formulaires, etc.).EÉlément graphiqueÉlément faisant appel à une représentation visuelle telle que des images, des pictogrammes ou des graphiques.
Cet élément peut être composé d'une ou plusieurs parties dont la visibilité est nécessaire à sa compréhension (par exemple chaque point sur chaque ligne d'un graphique de statistiques).
Ensemble de pagesPages web liées les unes aux autres par des liens et constituant un ensemble cohérent à l'intérieur d'un site web. Par exemple, les pages d'une rubrique spécifique, les pages d'un blog, les pages d'administration d'un compte client sont autant d'ensembles de page.
Note : la page d'accueil d'un site web peut constituer, à elle seule, un « ensemble de pages » du fait de son unicité.
En-tête de colonne ou de ligneContenu d'une cellule dans un tableau de données (la première cellule d'une colonne ou d'une ligne, généralement) qui sert d'intitulé pour la totalité ou une partie des cellules de la colonne ou de la ligne. Une colonne ou une ligne peut contenir plusieurs en-têtes (en-tête intermédiaire). Lorsque les en-têtes s'appliquent à l'ensemble d'une ligne ou d'une colonne ils peuvent être structurés avec une balise
<th>
ou une balise pourvue d'un attribut WAI-ARIArole="rowheader"
ou"columnheader"
. Dans le cas contraire seul une balise<th>
peut être utilisée.Note : seule la balise
<th>
étant totalement supportée par l'ensemble des technologies d'assistance, il est fortement recommandé de privilégier cette solution lors de la mise en oeuvre afin d'éviter de nombreuses vérifications dans les différentes combinaisons prévues dans l’environnement de test (ou « base de référence »).Environnement maîtriséTout environnement dans lequel l'accès à l'information, les technologies, les conditions d'utilisation et le profil des utilisateurs peuvent être connus et maîtrisés. Les principaux éléments dont la maîtrise est essentielle sont :
- Le type et la version des navigateurs;
- Les technologies supportées, leur version et leur activation (JavaScript, WAI-ARIA, Flash, Silverlight…);
- Les technologies d'assistance et tout dispositif utilisé de manière spécifique par les utilisateurs handicapés;
- Les systèmes d'exploitation et les APIs d'accessibilité supportées;
- La formation des utilisateurs de technologies d'assistance à l'utilisation de tout dispositif particulier (interface, application en ligne…).
Les auteurs et les administrateurs doivent garantir la compatibilité des technologies utilisées et de leurs usages par les utilisateurs et leurs technologies (y compris les technologies d'assistance). Les services d'information ou les sites Web, quel que soit leur statut, qui offrent un accès public ne peuvent pas être considérés comme des environnements maîtrisés.
Étiquette de champ de formulaireTexte à proximité du champ de formulaire permettant d'en connaître la nature, le type ou le format des informations attendues. L'étiquette peut être associée au champ de formulaire de plusieurs manières :
- Par l'utilisation d'une balise
<label>
;- Par l'utilisation de l'attribut WAI-ARIA
aria-label
;- Par l'utilisation d'une liaison entre le texte et le champ par l'attribut WAI-ARIA
aria-labelledby
;- Par l'utilisation de l'attribut
title
.
Note importante : lorsque plusieurs de ces techniques sont présentes sur un même champ, le calcul du « nom accessible », c'est-à-dire ce qui sera restitué, obéit à un ordre strict :
Cet ordre doit être utilisé pour l'évaluation de la pertinence de l'étiquette (critère 11.2). Par exemple, même dans le cas de la présence d'un
<label>
, c'est le passage de texte référencé pararia-labelledby
qui doit être pris en compte.Référence : Accessible name and description calculation.
Note importante au sujet de l'utilisation de
placeholder
: lorsque l'attributplaceholder
est présent, il est susceptible d'être restitué à la place de l'attributtitle
. Par conséquent, lorsque ces deux attributstitle
etplaceholder
sont présents, ils doivent être identiques.Note au sujet des étiquettes liées par
aria-labelledby
: Il s'agit d'un ou de plusieurs passages de texte identifiés par desid
et liés pararia-labelledby
sur le modèle suivant :aria-labelledby="ID1 ID2 ID3…"
. Pour assurer une compatibilité maximum avec les agents utilisateurs, notamment Internet Explorer 11, il est recommandé d'implémenter untabindex="-1"
sur les passages de textes qui ne sont pas des éléments interactifs (bouton, liens, éléments de formulaires, etc.).Note : l'attribut
aria-label
ne peut pas être utilisé pour indiquer le caractère obligatoire d'un champ.Étiquettes cohérentesLes étiquettes de champs de formulaire présentes dans une même page ou dans un ensemble de pages et réclamant la saisie d'une même information doivent être formulées sans ambiguïté pour que l'utilisateur sache que l'information qu'il doit communiquer est la même.
FFeuille de styleLe langage CSS destiné à la mise en forme des éléments du contenu (exemples : couleur du fond de la page, taille/police/couleur des caractères, positionnement de l'information dans la page web…). Les styles CSS peuvent être externes (fichier CSS), embarqués (déclarés dans l'en-tête de la page) ou en ligne (déclarés via l'attribut
style
d'une balise).FormulaireBalise
<form>
ou possédant un attribut WAI-ARIArole="form"
.GGestes complexes et gestes simplesUn geste simple implique un contact en un point unique de l'écran. Il peut s'agir d'une pression ou d'un clic simple, d'une double-pression ou d'un double-clic, d'une pression prolongée.
Un geste complexe peut être à la fois un geste impliquant plusieurs points de contact sur l'écran (exemple : un geste avec deux doigts sur l'écran pour zoomer ou dézoomer une carte) et un geste basé sur le suivi d'une trajectoire sur l'écran (exemple : fonction JavaScript permettant de détection le déplacement d'un doigt vers la gauche ou droite sur une surface tactile pour déclencher le passage à l'item précédent / suivant d'un carrousel).
IIndication de format obligatoireIndication textuelle ou graphique (icône) permettant à l'utilisateur de savoir que la saisie d'un champ est obligatoire préalablement à la saisie.
Note : Dans le cas où cette indication n'est pas réalisée de manière textuelle explicite (icône, *, !,...) l'explication de la signification de cette indication doit être visible et dans l'ordre du code source se situer avant la première utilisation de l'indication.
Indication du type de données et/ou de formatIndication textuelle permettant à l'utilisateur de savoir quel est le type de donnée et/ou le format de saisie requis par un champ obligatoire, préalablement à son renseignement.
Exemples :
- Courriel (format : vous@domaine.com);
- Code postal (format : 00000);
- Date (format : JJ/MM/AAAA).
Image de décorationImage n'ayant aucune fonction et ne véhiculant aucune information particulière par rapport au contenu auquel elle est associée. Exemples :
- Une image précédant chaque item d'une liste;
- Une image servant à caler la mise en page;
- Une image de coin arrondie pour habiller un bloc d'information;
- Une image d'illustration n'apportant aucune information nécessaire à la compréhension du texte auquel elle est associée.
Note : les balises possédant un attribut WAI-ARIA
role="img"
ne peuvent faire office d'image de décoration qu'à la condition qu'elles possèdent un attribut WAI-ARIAaria-hidden="true"
.Image objetImage incorporée ou générée par une balise
<object>
.Image porteuse d'informationImage qui véhicule une information nécessaire à la compréhension du contenu auquel elle est associée.
Note 1 : lorsque l'image est le seul contenu d'un lien, son alternative est l'intitulé du lien. Dans ce cas, l'alternative de l'image devrait être évaluée avec la thématique « Liens ».
Note 2 : lorsqu'un bouton de formulaire, inséré avec l'élément
<button>
, ne contient qu'une image (balise<img>
,<object>
,<embed>
,<canvas>
ou<svg>
), l'alternative de l'image est l'intitulé du bouton. Deux cas peuvent se présenter :- Le bouton est contrôlé par son type, par exemple, le type
submit
oureset
, et fait partie d'un formulaire. Dans ce cas, le bouton image doit être évalué avec la thématique « Formulaires »;- Le bouton est contrôlé par un dispositif JavaScript. Dans ce cas, le bouton image doit être évalué avec la thématique « Scripts ».
Image réactive- Image réactive côté client (attribut
usemap
) : image divisée en zones cliquables ou neutres (attributnohref
);- Image réactive côté serveur (attribut
ismap
) : image pour laquelle le navigateur transmet au serveur les coordonnées du pointeur, chaque jeu de coordonnées correspondant à une ressource (page web). L'image réactive côté serveur est extrêmement rare.
Note : en HTML5, l'attribut
ismap
est obsolète et non conforme pour les boutons de typeimage
(input type="image"
).Image-testImage servant dans un test, Captcha ou une image servant de test dans un quiz ou un jeu. Exemple : une série d'images présente un détail issu de tableaux célèbres ; il faut reconnaître le titre et le peintre de chaque tableau. Dans cette situation, il n'est pas possible de donner une alternative pertinente (par exemple le nom du tableau et/ou du peintre) sans rendre le test inutilisable. L'alternative doit alors se contenter de donner la possibilité d'identifier l'image, par exemple "image 1 du test".
Image texteImage affichant du texte.
Note : il n'est pas recommandé d'utiliser des images textes. Lorsqu'il est possible de reproduire les mêmes effets en CSS, le critère 1.8 impose que le texte soit reproduit en texte CSS, ou qu'un mécanisme de remplacement permette à l'utilisateur de remplacer ces images par du texte stylé en CSS.
Image texte objetImage générée par la balise
<object>
et affichant du texte.Image véhiculant une information (donnée par la couleur)Image dont tout ou partie du contenu transmet visuellement une information par l'intermédiaire d'une couleur uniquement.
Indication donnée par la forme, la taille ou la positionIl peut s'agir, par exemple :
- De la présence d'un marqueur visuel, pour indiquer la page active dans un menu de navigation (indication donnée par la position);
- D'une mise en avant-plan pour indiquer un onglet actif (indication donnée par la forme);
- D'une modification de la taille de police dans un nuage de tags (indication donnée par la taille).
Ou de tout autre effet graphique similaire.
Information (donnée par la couleur)Information transmise visuellement par l'intermédiaire d'une couleur. L'indication que les champs en rouge sont obligatoires dans un formulaire, l'utilisation d'un fond bleu pour indiquer la page en cours de consultation dans un menu avec le fond vert, le changement de couleur d'un nom d'article pour indiquer son indisponibilité dans une liste d'articles sont autant d'exemples d'indication donnée par la couleur.
Lorsqu'une information donnée par la couleur est accompagnée d'une autre méthode à destination des utilisateurs qui ne voient pas ou perçoivent mal les couleurs ou leurs associations, le critère sera considéré comme non applicable.
Les moyens de transmettre une information autrement que par la couleur peuvent être :
- Une indication textuelle visible;
- Un moyen faisant intervenir du graphisme (pictogramme, image de fond, forme, style de bordure différent, etc) et par le biais d'un complément au niveau du code (
aria-label
,title
, texte masqué,aria-current
, etc.);- Un autre style typographique (gras, italique, taille de texte, autre police, etc) et par le biais d'un complément au niveau du code (
aria-label
,title
, texte masqué,aria-current
, etc.).
Intitulé (ou nom accessible) de lien« Nom accessible » restitué par les technologies d'assistance.
Dans le cas d'un lien HTML, le « nom accessible » est obtenu selon l'ordre suivant :
- Passage de texte associé par l'attribut WAI-ARIA
aria-labelledby
;- Sinon, contenu de l'attribut WAI-ARIA
aria-label
;- Sinon, contenu du lien;
- Sinon, contenu de l'attribut
title
.
Cet ordre doit être utilisé pour déterminer ce qui constitue l'intitulé du lien. Par exemple :
- En cas de présence conjointe d'un attribut WAI-ARIA
aria-label
et d'un attribut WAI-ARIAaria-labelledby
, c'est le passage de texte référencé par l'attribut WAI-ARIAaria-labelledby
qui doit être considéré comme l'intitulé;- En cas de présence conjointe d'un attribut WAI-ARIA
aria-label
et d'un contenu dans le lien, c'est le contenu de l'attribut WAI-ARIAaria-label
qui doit être considéré comme l'intitulé.
Référence : Accessible name and description calculation.
Dans le cas où le « nom accessible » est obtenu à partir du contenu du lien, celui-ci sera variable en fonction des cas suivants :
Lien texte :
En HTML, le « nom accessible » correspond au texte constitué à partir :
- Du texte contenu dans le lien;
- Du texte contenu dans les éléments enfants du lien.
Lien image :
En HTML, le « nom accessible » correspond au texte constitué à partir de l'alternative textuelle d'une ou plusieurs images dans le lien du type :
- Image (balise
<img>
ou balise ayant l'attribut WAI-ARIArole="img"
);- Image objet (balise
<object>
);- Image bitmap (balise
<canvas>
);- Image vectorielle (balise
<svg>
).
Lien composite :
En HTML, le « nom accessible » correspond au texte constitué à partir de l'ensemble :
- Du texte contenu dans le lien;
- Du texte contenu dans les éléments enfant du lien;
- Du contenu de l'alternative textuelle de la ou des images comprises dans le lien.
Dans le cas d'un lien SVG (version 1.1), le « nom accessible » est obtenu comme suit :
- Passage de texte associé par l'attribut WAI-ARIA
aria-labelledby
;- Sinon, contenu de l'attribut WAI-ARIA
aria-label
;- Sinon, contenu de l'élément
<title>
enfant direct du lien;- Sinon, contenu de l'attribut
x-link:title
;- Sinon, contenu texte d'un ou plusieurs éléments
<text>
.
Il faut cependant être vigilant car cet algorithme de calcul n'est pas encore pris en compte et effectif au sein des différents lecteurs d'écran. A ce jour, le support est disponible avec VoiceOver, mais incomplet ou lacunaire avec JAWS et NVDA. Si bien que le plus petit dénominateur commun sur lequel il est possible de se reposer pour fournir un intitulé au lien est l'élément
<text>
.Note 1 : un intitulé de lien sera considéré comme non-explicite dans le cas où le « nom accessible » ne reprend pas l'intitulé visible du lien.
Note 2 : en raison de la configuration possible des aides techniques permettant de forcer la restitution du « nom accessible » issu du contenu de l'attribut
title
au détriment du « nom accessible » issu du contenu du lien. Un intitulé de lien sera considéré comme non-explicite dans le cas où le lien possède un attributtitle
dont la valeur ne reprendrait pas au moins le « nom accessible » issu du contenu du lien.Note 3 : dans le cas de la présence de plusieurs liens ayant une destination différente dont le « nom accessible » est identique. L'intitulé de lien seul sera considéré comme non-explicite si le contexte de lien ne permet pas de les différencier.
Note 4 : lorsqu'un lien ne comporte aucun contenu (à l'exception des ancres), il sera non conforme au regard du critère 10.2.
Note 5 : bien que le calcul du nom accessible d’un lien tienne compte de contenus texte générés en CSS via les pseudo-éléments
::before
et::after
, cette pratique ne doit pas être utilisée car elle constitue une non conformité au critère 1.3.1 des WCAG 2.1 (cf. F87).Intitulé visibleTexte affiché faisant office d'intitulé visible à l'écran au sein d'un bouton ou d'un lien.
Texte affiché faisant office d'étiquette pour un champ formulaire.
Ce texte peut être constitué de texte ou d'une image contenant du texte.
Items de même nature des listes de choixDans une liste déroulante (balise
<select>
), ensemble d'items (balises<option>
) pouvant être regroupés par leur nature. Le regroupement vise à identifier les items devant être traités comme un ensemble (par exemple, une liste de départements regroupés par régions).LLandmarksWAI-ARIA propose des rôles permettant d'indiquer les zones principales (régions) du document. Ces rôles sont très profitables aux utilisateurs de lecteurs d'écran notamment, mais également aux utilisateurs de la navigation au clavier qui peuvent ainsi bénéficier de fonctionnalités de navigation rapide dans la structure du document.
Les rôles doivent être définis dans le document en fonction de la nature de la zone :
- La zone d'en-tête doit avoir un attribut WAI-ARIA
role="banner"
;- Le menu de navigation principal doit avoir un attribut WAI-ARIA
role="navigation"
;- La zone de contenu principal doit avoir un attribut WAI-ARIA
role="main"
;- La zone de pied de page doit avoir un attribut WAI-ARIA
role="contentinfo"
;- La zone de moteur de recherche sur le site doit avoir un attribut WAI-ARIA
role="search"
.
Note 1 : Si la plupart des lecteurs d'écran mettent à disposition ces fonctionnalités, les navigateurs n'ont pas encore proposé de fonctionnalité de navigation dédiée pour les utilisateurs qui ne peuvent pas utiliser la souris. La mise en place des liens d'évitement reste donc à privilégier par rapport aux landmarks.
Note 2 : Les rôles WAI-ARIA
banner
,main
etcontentinfo
doivent être uniques dans la page. Le rôle WAI-ARIAnavigation
est réservé aux zones de navigations principales et secondaires. Lorsqu'il y a plusieurs rôles WAI-ARIAnavigation
, il peut être utile de les différencier en précisant un nom à chacune des zones via l'attribut WAI-ARIAaria-label
ouaria-labelledby
.Langue par défautIndication de la langue de traitement principale du document qui peut être présente sur l'élément racine
html
ou sur chaque élément de la page concerné via les attributslang
et/ouxml:lang
selon le schéma suivant :- Pour HTML jusqu'à la version 4.01 : attribut
lang
obligatoire, attributxml:lang
non supporté;- Pour XHTML 1.0 servi en
"text/html"
: attributlang
etxml:lang
obligatoires;- Pour XHTML 1.0 servi en
"application/xhtml+xml"
: attributxml:lang
obligatoire, attributlang
recommandé;- Pour XHTML 1.1 : attribut
xml:lang
obligatoire, attributlang
non supporté;- Pour HTML5 : attribut
lang
obligatoire.
Le nom, le rôle, la valeur, le paramétrage et les changements d'étatsUn composant doit avoir un rôle et un nom appropriés. Ses valeurs, états et paramètres éventuels doivent également être accessibles et correctement transmis aux APIs d'accessibilité notamment.
Un composant peut s'appuyer sur un élément interactif HTML ou sur un élément non interactif surchargé par WAI-ARIA via un rôle ad hoc. Important : les boutons (balises
<button>
ou<input type="button">
) lorsqu'ils sont contrôlés via JavaScript sont à évaluer avec le critère 7.1.Le nom peut être l'intitulé du composant (l'intitulé d'un bouton, par exemple).
La valeur est, par exemple, l'élément sélectionné d'une liste déroulante ou la valeur actuelle d'un curseur (slider).
Le rôle correspond au type d'élément défini par la spécification HTML ou WAI-ARIA (comme la balise
<button>
ou l'attribut WAI-ARIArole="button"
).Le paramétrage correspond aux informations particulières d'un composant, généralement mis à disposition par WAI-ARIA. Par exemple aria-controls est un paramètre qui transmet aux APIs l'information que le composant contrôle tel ou tel contenu (référencé par son identifiant - attribut
id
).Les changements d'états sont également mis à disposition par WAI-ARIA. Par exemple
aria-expanded
est un état permettant de signaler aux APIs que le composant est « ouvert » ou « fermé ». À noter qu’un état peut également être transmis via le nom, lorsque l'intitulé est changé dynamiquement pour correspondre à l'état de la zone contrôlée notamment.Ces paramètres ne sont pas obligatoires mais peuvent être requis s'ils sont indispensables pour rendre le composant accessible. C'est à l'auditeur de considérer les cas où ces paramètres sont indispensables en fonction du contexte lié à l'utilisation du composant.
L'auditeur doit également vérifier que, lorsqu'ils sont présents, ces paramètres sont correctement utilisés.
Pour ce faire (s'il juge cela pertinent compte tenu du contexte d'implémentation des composants et des choix ergonomiques mis en œuvre) il peut s'appuyer sur les recommandations d'utilisation de WAI-ARIA pour les composants ayant des attributs WAI-ARIA correspondant à un motif de conception tel que décrit dans le document WAI-ARIA 1.1 Authoring Practices.
Note : les rôles, propriétés et états WAI-ARIA s'implémentent via des attributs, par exemple
role="banner"
,aria-hidden="true"
.LégendeHTML propose un dispositif permettant de titrer les groupes de champs de même nature par l'intermédiaire des éléments
<fieldset>
et<legend>
.Il est également possible de créer des regroupements avec le rôle WAI-ARIA
group
et un passage de texte, faisant office de légende, liée par l'attribut WAI-ARIAaria-labelledby
ou implémentée par l'intermédiaire d'un attribut WAI-ARIAaria-label
.Note 1 : Les regroupements de champs peuvent utiliser d'autres méthodes qui associent l'information du regroupement directement dans l'étiquette du champ. Par exemple, par l'intermédiaire d'un attribut
title
, d'un attribut WAI-ARIAaria-label
, d'une liaisonaria-labelledby
faisant office d'étiquette ou encore par l'attribut WAI-ARIAaria-describedby
associant un texte complémentaire. Dans ce cas, le regroupement de champs devient inutile puisque les labels sont suffisamment pertinents.Note 2 : Lorsque le formulaire est constitué d'un seul bloc d'informations de même nature (l'identité et l'adresse de l'utilisateur, par exemple) ou d'un champ unique (un moteur de recherche, par exemple), le regroupement des champs n'est pas obligatoire.
Légende d'imageLorsqu'un texte, adjacent à une image, contient des informations sur l'image (par exemple un copyright, une date, un auteur…) ou est destiné à compléter les informations apportées par l'image (par exemple un texte associé à une image dans une galerie d'images), on parle de légende d'image.
Lorsqu'une image est légendée il est nécessaire d'associer la légende de l'image à l'image par une relation de structure, de telle sorte que les technologies d'assistance puissent traiter l'image et sa légende comme un ensemble unique.
HTML5 propose d'associer une légende à une image via les éléments
figure
(l'ensemble de l'image et la légende) etfigcaption
(la légende).Une image sans légende peut définir :
- Une image qui n'est pas insérée dans un élément
figure
;- Une image insérée dans un élément
figure
sans élémentfigcaption
.
Note : lorsque le texte adjacent à l'image peut faire office de texte de remplacement, il n'est pas obligatoire de recourir à l'ensemble figure, figcaption, l'image pouvant être simplement traitée comme une image de décoration.
Vous pouvez consulter, à ce sujet, la note Requirements for providing text to act as an alternative for images du W3C.
LienEn HTML :
- Balise
<a>
possédant un attributhref
;- Balise possédant un attribut WAI-ARIA
role="link"
et dont l'action de navigation est prise en charge par un script.
En SVG :
- Balise
<a>
possédant un attributxlink:href
en SVG 1.1.
Lien ou bouton adjacentLien ou bouton présenté de manière adjacente à un élément dans la page. Le lien ou bouton doit être adjacent visuellement dans la représentation graphique (CSS activé) et dans le code HTML. Dans le code HTML, le lien ou bouton doit se situer juste avant ou juste après l'élément auquel il est adjacent.
Lien compositeEn HTML, lien contenant à la fois du texte et un ou plusieurs enfants de type image :
- Image (balise
<img>
ou balise ayant l'attribut WAI-ARIArole="img"
);- Zone cliquable (balise
<area>
) possédant un attributhref
;- Image objet (balise
<object>
);- Image bitmap (balise
<canvas>
);- Image vectorielle (balise
<svg>
).
Note importante: il est rappelé que l'utilisation de deux liens adjacents (lien image et lien texte) et identiques constitue une gêne importante pour l'utilisateur. Même si cela ne constitue pas une non-conformité, cet usage devrait être évité. Une manière de traiter ce type de liens est d'inclure l'image dans le lien texte de façon à constituer un lien composite, ce qui évitera la redondance.
Vous pouvez consulter à ce sujet la technique H2 : Combining adjacent image and text links for the same resource.
Lien dont la nature n'est pas évidenteLien qui peut être confondu avec un texte normal lorsqu'il est signalé uniquement par la couleur par certains types d'utilisateurs ne percevant pas ou mal les couleurs. Par exemple, dans ce texte "Nouvelle grève à la SNCF", si le mot "grève" est un lien signalé uniquement par la couleur, sa nature peut être ignorée par les utilisateurs ne percevant pas la couleur et accédant au contenu CSS activé. En revanche, dans ce texte "Nouvelle grève à la SNCF, lire la suite" si "lire la suite" est un lien, un utilisateur ne percevant pas les couleurs n'aura pas de problème pour en comprendre la nature.
Note : "signalés uniquement par la couleur" signifie que le lien n'est accompagné d'aucun marqueur visuel (icône, soulignement, bordure…). En conséquence un lien de la même couleur que le texte environnant est concerné par ce critère.
Lien imageEn HTML, lien contenant uniquement un ou plusieurs enfants de type image :
- Image (balise
<img>
ou balise ayant l'attribut WAI-ARIArole="img"
);- Zone cliquable (balise
<area>
) possédant un attributhref
;- Image objet (balise
<object>
);- Image bitmap (balise
<canvas>
);- Image vectorielle (balise
<svg>
).
Lien texteEn HTML, lien ne contenant aucun élément enfant de type :
- Image (balise
<img>
ou balise ayant l'attribut WAI-ARIArole="img"
);- Image objet (balise
<object>
);- Image bitmap (balise
<canvas>
);- Image vectorielle (balise
<svg>
).
Liens d'évitement ou d'accès rapideLiens dont la fonction est de permettre de naviguer à l'intérieur de la page (lien d'évitement, lien d'accès au formulaire de recherche ou au menu…). Ces liens peuvent soit permettre d'accéder à une zone de la page (lien d'accès rapide) ou de sauter une zone dans la page (lien d'évitement).
Note 1 : Un lien d'évitement ou d'accès rapide dont l'activation ne permettrait pas de reprendre la lecture et la navigation clavier à partir de la cible du lien lors de l'utilisation des navigateurs et des aides techniques retenus dans l’environnement de test (ou « base de référence ») de l'audit serait considéré comme non conforme.
Note 2 : les liens d'évitements ou d'accès rapide doivent être situés à la même place dans la présentation et dans le même ordre relatif dans le code source afin de satisfaire au critère 12.2.
Liens identiquesDeux liens sont dits identiques quand le lien x (intitulé du lien seul, contenu de l'attribut title ou contexte du lien) est égal au lien y. Cette définition s'applique à tous les types de liens : lien texte, lien image (les liens ont alors la même image) et lien composite.
Attention : des liens avec des intitulés identiques mais des titres de liens différents ou des contextes de liens différents ne sont pas identiques (exemple :
<a href="lien_bar.html" title="cliquer ici pour télécharger la barre d'outils">cliquer ici</a>
et<a href="lien_doc.html" title="cliquer ici pour télécharger le document">cliquer ici</a>
).Lien SVGLien contenu dans un élément
<svg>
.Dans le cas d'un lien SVG (version 1.1), le « nom accessible » est obtenu comme suit :
- Passage de texte associé par l'attribut WAI-ARIA
aria-labelledby
;- Sinon, contenu de l'attribut WAI-ARIA
aria-label
;- Sinon, contenu de l'élément
<title>
enfant direct du lien;- Sinon, contenu de l'attribut
x-link:title
;- Sinon, contenu texte d'un ou plusieurs éléments
<text>
.
Il faut cependant être vigilant car cet algorithme de calcul n'est pas encore pris en compte et effectif au sein des différents lecteurs d'écran. A ce jour, le support est disponible avec VoiceOver, mais incomplet ou lacunaire avec JAWS et NVDA. Si bien que le plus petit dénominateur commun sur lequel il est possible de se reposer pour fournir un intitulé au lien est l'élément
<text>
.ListesSuite d'éléments pouvant être regroupés sous la forme d'une liste structurée ordonnée, non ordonnée ou de définition. Par exemple la suite des liens d'un menu de navigation est une liste de liens non ordonnée, les différentes étapes d'une procédure est une liste d'éléments ordonnés, le couple terme/description d'un glossaire est une liste de description. En HTML, les listes utilisent les balises suivantes :
- Liste ordonnée : balises
<ol>
et<li>
(chaque élément de la liste est affecté d'un marqueur indexé);- Liste non ordonnée : balises
<ul>
et<li>
(chaque élément de la liste est affecté d'un marqueur non-indexé;- Liste de description : balises
<dl>
,<dt>
(terme à décrire) et<dd>
(description).
Note 1 : En HTML5, la balise
<dl>
ne représente plus seulement une liste de définition, mais de manière générique toute liste de description qui peut comprendre comme groupe de termes-descriptions des noms et des définitions, des questions et réponses, des catégories et des sujets, etc.Note 2 : Il est également possible de structurer les listes à l'aides des attributs WAI-ARIA
role="list"
etrole="listitem"
pour les listes ordonnées et non ordonnées.Note 3 : la notion de « regroupées visuellement sous forme de liste » se caractérise par :
- La présence d’un marqueur visuel permettant de faire comprendre qu’il s’agit d’une liste non ordonnée par exemple -, •, *, etc.;
- La présence d’un marqueur visuel permettant de faire comprendre qu’il s’agit d’une liste ordonnée par exemple un chiffre, une lettre grecque, etc.;
- La présence d’une série d’éléments se suivant visuellement les uns les autres, avec une forme visuelle, une nature et un fonctionnement identique, mais sans avoir directement de marqueur visuel de liste (non ordonnée ou ordonnée), comme par exemple un menu de navigation.
Attention cependant toutes les listes ne nécessitent pas obligatoirement une structure de liste, par exemple une série de termes séparés par une virgule.
Liste des valeurs possibles pour l'attribut autocompleteLa liste des valeurs disponibles est fournie par la spécification WCAG 2.1 :
-
name
- Nom complet;-
honorific-prefix
- Abréviation, civilité ou titre;-
given-name
- Prénom;-
additional-name
- Prénoms additionnels;-
family-name
- Nom de famille;-
honorific-suffix
- Suffixe honorifique;-
nickname
- Surnom, diminutif;-
organization-title
- Fonction, intitulé de poste;-
username
- Nom d'utilisateur;-
new-password
- Nouveau mot de passe (par exemple, lors de la création d'un compte ou d'un changement de mot de passe)-
current-password
- Mot de passe actuel pour le compte identifié par le champ username (par exemple, lors d'une connexion)-
organization
- Nom de l'organisation correspondant à la personne, à l'adresse ou à l'information de contact dans les autres champs associés avec ce champ-
street-address
- Adresse postale (multiligne, nouvelles lignes conservées)-
address-line1
- Adresse postale (une ligne par champ, ligne 1)-
address-line2
- Adresse postale (une ligne par champ, ligne 2)-
address-line3
- Adresse postale (une ligne par champ, ligne 3)-
address-level4
- Le niveau administratif le plus détaillé, pour les adresses pourvues de quatre niveaux administratifs-
address-level3
- Le troisième niveau administratif, pour les adresses pourvues d'au moins trois niveaux administratifs-
address-level2
- Le deuxième niveau administratif, pour les adresses pourvues d'au moins deux niveaux administratifs-
address-level1
- Le plus large niveau administratif d'une adresse, c'est-à-dire la province dans laquelle se trouve la localité-
country
- Code pays-
country-name
- Nom de pays-
postal-code
- Code postal, code CEDEX (si le CEDEX est présent, ajouter "CEDEX", et ce qui le suit doit être ajouté dans le champ address-level2)-
cc-name
- Nom complet figurant sur le moyen de paiement-
cc-given-name
- Prénom figurant sur le moyen de paiement-
cc-additional-name
- Prénoms additionnels figurant sur le moyen de paiement cc-family-name - Nom de famille figurant sur le moyen de paiement-
cc-number
- Code identifiant le moyen de paiement (e.g., un numéro de carte bancaire)-
cc-exp
- Date d'expiration du moyen de paiement-
cc-exp-month
- Le mois de la date d'expiration du moyen de paiement-
cc-exp-year
- L'année de la date d'expiration du moyen de paiement-
cc-csc
- Code de sécurité du moyen de paiement (also known as the card security code (CSC), card validation code (CVC), card verification value (CVV), signature panel code (SPC), credit card ID (CCID), etc)-
cc-type
- Type de moyen de paiement (e.g. Visa)-
transaction-currency
- La devise qui a la préférence de l'utilisateur lors d'une transaction-
transaction-amount
- Le montant qui a la préférence de l'utilisateur lors d'une transaction (e.g., en réponse à une enchère ou à un prix soldé)-
language
- Langage préféré-
bday
- Date d'anniversaire-
bday-day
- Le jour de la date d'anniversaire-
bday-month
- Le mois de la date d'anniversaire-
bday-year
- L'année de la date d'anniversaire-
sex
- Identité sexuelle-
url
- Page d'accueil ou une autre page Web correspondant à l'organisation, la personne, l'adresse ou à l'information de contact dans les autres champs associés avec ce champ-
photo
- Photographie, icone ou une autre image correspondant à l'organisation, la personne, l'adresse ou à l'information de contact dans les autres champs associés avec ce champ-
tel
- Numéro de téléphone complet, y compris le code pays-
tel-country-code
- Code pays du numéro de téléphone-
tel-national
- Numéro de téléphone sans la partie code pays, avec un préfixe interne au pays, s'il y a lieu.-
tel-area-code
- Indicatif régional du numéro de téléphone, avec un préfixe interne au pays, s'il y a lieu.-
tel-local
- Numéro de téléphone sans la partie code pays ni l'indicatif régional.-
tel-local-prefix
- La première partie du composant du numéro de téléphone qui suit l'indicatif régional, lorsque ce composant est scindé en deux parties-
tel-local-suffix
- La seconde partie du composant du numéro de téléphone qui suit l'indicatif régional, lorsque ce composant est scindé en deux parties-
tel-extension
- Numéro de téléphone d'un poste interne-
email
- Adresse électronique-
impp
- URL correspondant d'un protocole de messagerie instantanée (par exemple,"aim:goim?screenname=example"
ou"xmpp:fred@example.net"
)
MMécanisme de remplacementMécanisme généralement basé sur CSS, permettant à l'utilisateur de remplacer du texte par du texte en image et inversement sur le principe du style switcher. Le mécanisme peut utiliser un langage de script côté serveur ou un langage de script côté client.
Mécanisme qui permet d'afficher un rapport de contraste conformeComposant d’interface dont l’activation permet de modifier l’apparence du site ou de la page de manière à afficher les contenus avec un ratio de contraste suffisant. Le design de ce composant d’interface devra être conforme au critère 3.2 et au critère 3.3 sans avoir recours lui-même à un mécanisme permettant d’afficher un rapport de contraste conforme.
Média non temporelContenu qui ne se déroule pas dans le temps, consultable via un plugin (Flash, Java, Silverlight…) ou via les éléments
svg
etcanvas
; par exemple, une carte interactive en Flash, une application Flash ou Java, un diaporama sont des médias non temporels. Un média non temporel peut contenir des médias temporels (un lecteur Flash qui propose une liste de vidéos à consulter, par exemple).Note : l'utilisation du paramètre
wmode
pour un objet Flash avec les valeurs"transparent"
et"opaque"
invalide de fait le critère 4.12. En effet, l'utilisation de ces valeurs a pour conséquence que l'animation Flash vue du côté des utilisateurs de lecteur d'écran est invisible.Média temporel (type son, vidéo et synchronisé)Média temporel seulement audio : contenu sonore (Wav, Mp3…);
Média temporel seulement vidéo : images ou photos en mouvement ou en séquence;
Média temporel synchronisé : flux audio ou vidéo synchronisé avec un autre format pour présenter de l'information et/ou comportant des composants temporels interactifs. Un média temporel peut être consulté de 2 manières différentes :
- Fichier à télécharger consultable avec un logiciel externe à la page web;
- Contenu embarqué dans la page web et consultable dans la page web via :
• Un plugin (par exemple une vidéo diffusée par un lecteur Flash);
• L'élément
<video>
(par exemple une vidéo);• L'élément
<audio>
(par exemple un podcast);• L'élément
<svg>
(par exemple un dessin animé vectoriel);• L'élément
<canvas>
(par exemple un dessin animé en image bitmap);• L'élément
<bgsound>
pour diffuser un arrière-plan sonore à la page web.Un média temporel peut être diffusé en temps réel ou être proposé en lecture de manière asynchrone (média pré-enregistré).
Note 1 : l'utilisation du paramètre wmode pour un objet Flash avec les valeurs
"transparent"
et"opaque"
invalide de fait le critère 4.11. En effet, l'utilisation de ces valeurs a pour conséquence que l'animation Flash vue du côté des utilisateurs de lecteur d'écran est invisible.Note 2 : les gif animés, les animations d'images réalisées par JavaScript ou CSS ne sont pas considérés comme étant des médias temporels.
Note 3 : l'élément
<bgsound>
est spécifique à Internet Explorer et ne devrait pas être utilisé.Message de statutUn message de statut informe l'utilisateur d'un changement de contenu dans la page sans interrompre son activité principale (il n'y a pas de changement de contexte par exemple un repositionnement du focus sur le message).
Un message de statut peut informer sur :
- Le succès ou le résultat d'une action;
- L'état occupé d'une application;
- L'état de progression d'un processus;
- L'existence d'erreur.
Modifier ou annuler les données et les actions effectuésProcédés par lesquels un utilisateur peut modifier les données qu'il a saisies, faire annuler sa saisie ou faire annuler les actions découlant de sa saisie par exemple annuler une commande ou un virement bancaire.
Note : La page contenant un formulaire qui modifie ou supprime des données, ou qui transmet des réponses à un test ou un examen, ou dont la validation a des conséquences financières ou juridiques, doit indiquer explicitement la durée pendant laquelle l'utilisateur peut demander l'annulation de sa saisie. Elle devra également contenir la procédure à effectuer pour annuler cette saisie. Cette procédure n'a pas à être obligatoirement réalisable en ligne même si cela reste recommandé.
Moteur de recherche (interne à un site web)Zone contenant le moteur de recherche permettant d'effectuer des recherches sur les contenus de l'ensemble du site.
Note : Attention à ne pas confondre cette zone de recherche, unique dans le site, avec tout autre moteur de recherche permettant par exemple de faire des recherches sur une partie restreinte du site : un catalogue, les offres sur une section marchés publics…
Voir la définition technique de zone d'en-tête fournie par WAI-ARIA
search
(role).Motif de conceptionUn motif de conception (Design Pattern) est un modèle défini dans le document : WAI-ARIA 1.1 Authoring Practices. qui décrit la structure, les rôles et propriétés et le comportement clavier que doit respecter un composant JavaScript (widget).
Il est recommandé que les composants développés en JavaScript utilisant des attributs WAI-ARIA correspondant à un motif de conception respectent celui-ci. Attention cependant, les motifs de conception ne sont pas tous adaptés à un usage non applicatif, en particulier pour les sites proposant un affichage en contexte mobile.
Note 1 : compte tenu du manque de support de certaines propriétés et de certains rôles WAI-ARIA et de la grande variabilité des situations dans lesquelles un composant JavaScript peut être proposé, il est possible d'adapter des motifs de conception à des contextes ou des utilisations particulières. Dans ce cas, le motif de conception adapté doit :
- Respecter la structure générale : par exemple un ensemble de panneaux (rôle WAI-ARIA
tabpanel
) d'un système d'onglets est forcément lié à un ensemble d'onglets (rôle WAI-ARIAtablist
);- Utiliser en remplacement d'un rôle ou d'une propriété WAI-ARIA mal supporté, un rôle ou une propriété WAI-ARIA équivalent, offrant un comportement et une restitution similaire.
Note 2 : Le fait d'enrichir un motif de conception de rôles ou propriétés WAI-ARIA supplémentaires dont la compatibilité avec l'accessibilité est contrôlée par le test de restitution sur l’environnement de test (ou « base de référence ») ne constitue pas une adaptation d'un motif de conception. Par exemple l'ajout de l'attribut WAI-ARIA
aria-hidden
sur les panneaux (rôle WAI-ARIAtabpanel
) d'un système d'onglets ne définit pas un motif de conception adapté.OOrdre de tabulationOrdre dans lequel le focus se déplace (vers un élément suivant ou vers un élément précédent). L'ordre naturel est celui qui est implémenté via le code source. Lorsqu'il est modifié par l'utilisation de l'attribut
tabindex
ou par l'utilisation d'une commande JavaScript, c'est l'ordre modifié qui fait référence.Attention : lorsqu'un élément initie un changement dans la page (changement de contexte, gestion de zones cachées, ajout de contenu, gestion de champs de formulaire…) il est nécessaire d'activer l'élément qui initie le changement pour tester la cohérence de l'ordre de tabulation.
PPage « plan du site »Page dédiée présentant l'arborescence d'un site web, généralement sous forme de listes de liens organisées en rubriques et sous-rubriques donnant accès à l'ensemble des pages du site.
Note 1 : les liens du plan du site peuvent être constitués de balises
<a>
ou de balises<area>
.Note 2 : il n'est pas nécessaire que le plan du site contienne les liens vers toutes les pages du site, en revanche il est nécessaire qu'à partir du plan du site, l'utilisateur puisse atteindre l'ensemble des pages du site.
Passage de texte associé au tableau de donnéesTexte dans une balise
<caption>
ou dans une balise associée au tableau de données via l'attribut WAI-ARIAaria-labelledby
.Passage de texte lié par aria-labelledby ou aria-describedbyIl s'agit d'un ou de plusieurs passages de texte identifiés par des
id
dont la valeur est unique dans la page et associés à un élément (champ de formulaire, bouton, etc. ) par les attributs WAI-ARIAaria-labelledby
ouaria-describedby
sur le modèle suivant :aria-labelledby="ID1 ID2 ID3…"
où la valeur de l'attribut utilisé est égale à la liste des valeurs d'attributsid
des passages de texte à associer présents dans la page.Note 1 : pour assurer une compatibilité maximum avec les agents utilisateurs, notamment Internet Explorer 11, il est recommandé d'implémenter un
tabindex="-1"
sur les passages de textes qui ne sont pas des éléments interactifs (bouton, liens, éléments de formulaires, etc.).Note 2 : la valeur des attributs WAI-ARIA
aria-labelledby
ouaria-describedby
ne doivent pas créer de référence récursive (A référence B qui référence A) ou traversante (A qui référence B qui référence C).Pertinence (information autrement que par la couleur)Le moyen pour récupérer une information autrement que par la couleur doit être accessible à tous. Par exemple, dans le cas d'une liste d'articles dont les articles en jaune sont en promotion, l'utilisation de texte caché via CSS est un moyen de récupérer l'information « en promotion », mais il n'est pas pertinent car cette information restera cachée à l'utilisateur qui visualise la page CSS activée.
Note : l'utilisation d'une balise d'emphase (
<strong>
ou<em>
) comme autre moyen pour récupérer une information donnée par la couleur permet de valider le critère même si ces éléments ne sont généralement pas supportés par les technologies d'assistance, particulièrement les lecteurs d'écran.Présentation de l'informationRestitution visuelle des contenus via un navigateur en mode graphique. La présentation concerne le style, la position et les dimensions des éléments HTML et de leur contenu. La présentation de l'information doit être réalisée via CSS. Les éléments (
basefont
,blink
,center
,font
,marquee
,s
,strike
,tt
etbig
) et les attributs (align
,alink
,background
,bgcolor
,border
,cellpadding
,cellspacing
,char
,charoff
,clear
,compact
,color
,frameborder
,hspace
,link
,marginheight
,marginwidth
,text
,valign
,vlink
,vspace
,size
) sont interdits.Note : les attributs
width
etheight
utilisés sur d'autres éléments que les balises<img>
,<object>
,<embed>
,<canvas>
et<svg>
sont également interdits.Pressé ou poséCorrespond aux gestionnaires d'événement JavaScript considérés comme des événements descendants (
mousedown
,touchstart
par exemple).Prise de focusLa prise de focus est l'état renvoyé par un élément qui reçoit l'attention suite à une action de l'utilisateur. Il y a trois moyens en HTML de donner le focus à un élément :
- En activant l'élément par un dispositif de pointage (exemple : souris);
- En atteignant l'élément par la touche tabulation ou majuscule + tabulation;
- En activant l'élément par un raccourci clavier (
accesskey
).
Certains éléments reçoivent naturellement le focus, par exemple :
<a href>
,<area href>
,<button>
,<input>
,<object>
,<select>
,<label>
,<legend>
,<optgroup>
,<option>
et<textarea>
. Le comportement de l'élément, lors de la prise de focus, dépend de sa nature ; un lien, par exemple, devra être activé après la prise de focus (sauf utilisation de script). En revanche, un élément de formulaire, comme<textarea>
, devra autoriser la saisie suite à la prise de focus. Les élémentsNote 1 : la spécification WAI-ARIA étend le rôle attribué à l'attribut
tabindex
en définissant que tout élément HTML peut acquérir la possibilité de recevoir le focus en lui attribuant la valeurtabindex="0"
. En revanche, aucun comportement n'est attribué via la seule présence detabindex
. De même, la valeurtabindex="-1"
lorsqu'elle est utilisée sur un élément recevant naturellement le focus retire l'élément qui en est affecté du plan de tabulation en inhibant sa capacité à signaler la « prise de focus ». L'utilisation detabindex
, conformément à la spécification WAI-ARIA, peut valider certains tests relatifs à la gestion du focus de tabulation, notamment.Note 2 : l'indication visuelle du focus du navigateur ne doit pas être pas supprimée ou dégradée sauf si un style du focus défini par l'auteur est visible et suffisamment contrasté au regard du critère 3.3.
Procédé de rafraîchissementTechnique visant à modifier le contenu d'un ou de plusieurs éléments de la page web. Le procédé de rafraîchissement peut s'effectuer par rechargement automatique de la page ou de manière dynamique sans rechargement de la page (via AJAX, par exemple). L'utilisateur doit pouvoir contrôler chaque procédé de rafraîchissement de manière indépendante.
Propriété CSS déterminant une couleurCela concerne les propriétés suivantes :
color
,background-color
,background
,border-color
,border
,outline-color
,outline
.Note : l'utilisation d'une image de fond pour insérer une couleur (propriété
background:url…
) est également concernée.RRaccourci clavierUn moyen de déclencher une action associée à un composant de l'interface utilisateur en appuyant sur une ou plusieurs touches.
Note : les “Access keys” (attribut HTML
accesskey
) sont bien des raccourcis clavier, mais ils ne sont pas concernés par le critère 12.15 dans la mesure où leur activation nécessite déjà l'usage de touches de modification (variables suivant les navigateurs).RedirectionProcédé qui consiste pour l'affichage d'une page sur le poste client à rediriger l'utilisateur vers une autre page, sur le même domaine ou sur un domaine différent.
Règles d'écritureLe code source doit respecter les règles suivantes en accord avec la déclaration de type de document utilisée dans la page :
- Pas de balise ouvrante ou fermante sans < ou > (exemple d'erreur :
li>toto
);- pas de balise fermante avec / manquant (exemple d'erreur :
<li>toto<li>
);- pas de valeur d'attribut avec des " ou ' manquant (exemple d'erreur :
alt="toto
);- pas de valeurs multiple d'attribut séparées par un espace sans " ou ' (exemple d'erreur :
alt=bonjour toto
);- pas d'espace manquant entre les attributs (exemple : alt="toto"title="toto");
- pas de balise fermante manquante pour les éléments qui en exigent une (exemple d'erreur :
<object>
sans</object>
).
Relâché ou relevéCorrespond aux gestionnaires d'événement JavaScript considérés comme des événements ascendants (
mouseup
,touchend
par exemple).Correctement restitué (par les technologies d'assistance)Lorsqu'un critère, un test ou une condition de test demande de vérifier la restitution d'un dispositif, il faut s'assurer que ladite restitution est compatible avec l'accessibilité.
Le test consiste à vérifier que la restitution est pertinente pour au moins une des combinaisons de l’ environnement de test (ou « base de référence ») utilisé pour déclarer qu'un élément, un dispositif ou une alternative est « compatible avec l'accessibilité ».
Par exemple : le test 1.3.7 demande de vérifier que l'alternative d'une image porteuse d'information vectorielle est correctement restituée.
On procède alors à un test avec NVDA (dernière version) et Firefox, JAWS (version précédente) et IE9+, et Voice Over (dernière version) et Safari.
Si on constate que l'alternative est correctement restituée, le test est validé.
Résumé (de tableau)Un résumé est un passage de texte associé à un tableau de données complexe. Il permet de donner des informations sur la nature et la structure du tableau afin d'en faciliter l'utilisation par les utilisateurs de technologies d'assistance par exemple.
Note : en HTML5, la seule technique utilisable actuellement est celle qui consiste à insérer le résumé directement dans le titre (balise
<caption>
) en masquant le résumé via CSS si nécessaire.Dans les versions précédentes de HTML, le résumé peut être inséré via un attribut
summary
sur la balise<table>
.Dans le cas d'une balise avec l'attribut WAI-ARIA
role="table"
, le résumé doit être fourni au moyen d'un attributaria-describedby
et être correctement restitué par les technologies d'assistance.SScriptCode généralement écrit sous forme d'une liste de commandes (par exemple JavaScript). Les langages interprétés côté client nécessitent un navigateur compatible sur lequel l'exécution du langage est active. Les commandes d'un langage de script côté client peuvent être embarquées ou contenues dans un fichier externe. Dans les deux cas, l'insertion se fait via la balise
<script>
.Sens de lectureIndique le sens de lecture du document ou d'un passage de texte via l'attribut
dir
,dir="ltr"
, par exemple. Les deux valeurs reconnues sont :-
ltr
(left to right) indique un sens de lecture de gauche à droite;-
rtl
(right to left) indique un sens de lecture de droite à gauche.
Note : en l'absence d'indication de sens de lecture via l'attribut
dir
sur l'élémenthtml
,body
, ou un des parents du texte analysé, le sens de lecture par défaut est de gauche à droite (valeurltr
).Si nécessaire (texte visible en complément de l'attribut aria-label ou aria-labelledby)Les attributs WAI-ARIA
aria-label
etaria-labelledby
peuvent être utilisées pour créer une étiquette de champ de formulaire. L'étiquette ainsi créée restera invisible ce qui permet de résoudre beaucoup de cas où un label visible n'est pas souhaité.En revanche cela crée un risque potentiel pour certains utilisateurs et il peut être nécessaire qu'un texte visible et accolé au champ vienne compléter le dispositif proposé par l'attribut WAI-ARIA
aria-label
ouaria-labelledby
.Site web : ensemble de toutes les pages web- Reliées par des liens web;
- Appartenant au même nom de domaine (ex : references.modernisation.gouv.fr);
- Qui constituent un ensemble cohérent du point de vue de l'utilisateur.
Cas particulier des pages web d'un sous-domaine; un sous-domaine peut :
- Soit appartenir au site web attaché au nom de domaine, si l'utilisateur en a une perception cohérente avec les autres pages du site web (par exemple : même structure, même navigation…);
- Soit ne pas appartenir au site web attaché au nom de domaine (par exemple : différents blogs en sous-domaine d'un nom de domaine et sans relation les uns avec les autres).
Sous-titres synchronisés (objet multimédia)Texte des informations audio (paroles d'un personnage, bruit important pour comprendre l'action…) présentes dans un média temporel et affiché de manière synchrone avec le flux de l'objet multimédia.
Note 1 : pour différencier les sources sonores (différents personnages, voix off…), il est recommandé d'utiliser un mécanisme approprié (mise entre crochets, mise en italique, annonce explicite du type "voix off : …").
Note 2 : il ne faut pas confondre le sous-titrage pour la traduction (attribut
kind="subtitles"
de la balise<track>
en HTML5, par exemple) et le sous-titrage pour sourds et malentendants (attributkind="captions"
de la balise<track>
en HTML5, par exemple). Ces deux types de sous-titrage poursuivent des buts différents. Seule la présence et la pertinence d'un sous-titrage pour sourds et malentendants permet d'être conforme.Structure du documentEnsemble d’éléments permettant de définir les grandes zones d’une page HTML telles que la zone d'en-tête de la page, les zones de navigation principales et secondaires, la zone de contenu principal et la zone de pied de page.
Tout procédé permettant une navigation dans le site ou dans une page, les systèmes de navigation retenus sont :
- Menu de navigation principal;
- Table des matières;
- Plan du site;
- Moteur de recherche.
TTableau de donnéesUn tableau de données est une structure introduite par une balise
<table>
ou lorsqu'il est correctement restitué par les technologies d'assistance par une balise pourvue d'un attribut WAI-ARIArole="table"
. Cette balise permet de structurer des informations en lignes et en colonnes via des cellules de données et des cellules d'en-têtes.Tableau de données ayant un titreTableau de données ayant un attribut ou contenant une balise dont le contenu fait office de titre.
Tableau de données précédé ou suivi d'un passage de texte associé au tableau faisant office de titre.
Dans la mesure où il est bien correctement restitué et associé par les technologies d'assistance au tableau de données, le titre associé peut être :
- Dans une balise
<caption>
;- Dans un attribut
title
;- Dans un attribut WAI-ARIA
aria-label
;- Dans une balise associée au tableau de données via un attribut WAI-ARIA
aria-labelledby
sur le tableau.
Note : seule la balise
<caption>
étant complètement supportée par l'ensemble des technologies d'assistance, il est fortement recommandé de privilégier cette solution lors de la mise en œuvre afin d'éviter de nombreuses vérifications dans les différentes combinaisons prévues par l’environnement de test (ou « base de référence »).Tableau de données complexeUn tableau de données est une structure introduite par une balise
<table>
ou lorsqu'il est correctement restitué par les technologies d'assistance par une balise pourvue d'un attribut WAI-ARIArole="table"
.Lorsqu'un tableau de données contient des en-têtes qui ne sont pas répartis uniquement sur la première ligne et/ou la première colonne de la grille ou dont la portée n'est pas valable pour l'ensemble de la colonne ou de la ligne, on parle de tableau de données complexe. Il est alors nécessaire de fournir un « résumé » permettant d'en expliquer sa nature et sa structure afin d'en faciliter la consultation pour des utilisateurs de technologies d'assistance par exemple.
Tableau de mise en formeTechnique qui utilise un élément HTML (balise
<table>
) pour contrôler l'affichage d'informations via des cellules (balise<td>
).Taille des caractèresValeur attribuée aux polices de caractères présentes sur une page web.
Texte styléTexte dont la mise en forme est contrôlée par une feuille de styles.
TitreÉlément HTML (balise
h
) à 6 niveaux de hiérarchie (deh1
pour le titre le plus important àh6
pour le moins important) ou élément HTML ayant les attributs WAI-ARIArole="heading"
etaria-level
permettant de structurer l'information d'un contenu web.La hiérarchie entre les titres doit être respectée dans une page web et les degrés de titre ne peuvent pas être sautés (un titre
h3
ne peut pas venir directement après un titreh1
, par exemple). Par contre, la hiérarchie ne doit pas obligatoirement débuter par unh1
. Même si cet usage n'est pas encouragé, il est considéré comme conforme de débuter la hiérarchie des titres d'une page par un autre niveau que le niveau 1.Note : les titres cachés via CSS sont considérés comme présents et valident le critère 9.1.
Titre de cadreContenu de l'attribut
title
de la balise<iframe>
ou<frame>
permettant de connaître la nature du contenu diffusé via le cadre lorsque l'utilisateur navigue de cadre en cadre ou affiche la liste des cadres de la page par exemple.Note 1 : Certains cadres servent uniquement à des opérations techniques tels que des traitements applicatifs destinés à préparer ou piloter des contenus affichés dans la page comme les cadres utilisés par certains réseaux sociaux comme Facebook par exemple.
Si ces cadres sont dépourvus de titre de cadre fournis par le service distant, ou si les titres de cadres sont jugés non pertinents, des mentions génériques peuvent être utilisées, par exemple
title="contenus techniques Facebook"
.Note 2 : Si cela ne gêne pas le fonctionnement de ce type de cadre, il est possible de les rendre indisponibles aux technologies d'assistance en utilisant l'attribut WAI-ARIA
aria-hidden="true"
. Dans ce cas le critère 2.2 sera non applicable.Titre de pageContenu de la balise
<title>
d'une page web permettant d'identifier de manière claire, concise et unique les contenus/la nature de la page (« Plan du site www.nomdusite.fr » pour une page présentant le plan du site web, par exemple).Transcription textuelle (média temporel)Contenu textuel associé à un média temporel par la technique appropriée (texte codé en HTML ou dans un fichier texte qui se trouve dans la même page ou consultable suivant un lien). Ce contenu donne accès à l'utilisateur (de manière indépendante de la consultation de l'objet multimédia) à :
- La totalité de ce qui y est exprimé oralement;
- Toutes les informations descriptives nécessaires à une compréhension équivalente de l'action.
Ces informations textuelles doivent être présentées dans l'ordre chronologique de leur apparition dans le média temporel.
Note : la transcription textuelle doit se situer à l'extérieur de la balise
<object>
.Type de documentEnsemble de données de référence qui permet aux agents utilisateurs de connaître les caractéristiques techniques des langages utilisés sur la page web (balise
doctype
).Type et format de donnéesIndication concernant le type et le format des données attendus lors de la saisie d'un champ de formulaire. Par exemple :
- Date (jj/mm/aaa);
- Montant en euros;
- Code postal (5 chiffres : ex. 75001).
Note importante : lorsque le type de champ de formulaire propose un masque de saisie, comme par exemple les champs date ou time, l'indication de format n'est pas nécessaire.
UUniquement à des fins de présentationUniquement à des fins de présentation : utilisation de balises HTML pour une finalité différente de celle prévue dans les spécifications (au regard du type de document déclaré). Exemples : utilisation des balises
h
à seule fin de créer un effet typographique ; utilisation de la balise<blockquote>
à seule fin de mettre un paragraphe en retrait, etc.Note 1 : l'utilisation d'éléments
<div>
ou<span>
ou plusieurs<br>
pour créer visuellement un paragraphe est considérée comme non conforme et invalide le critère.Exemple :
<div>
paragraphes d'un bloc de texte simulés
<br>
<br>
à l'aide de plusieurs balises <br>
</div>
Note 2 : WAI-ARIA propose un rôle
presentation
permettant de supprimer la sémantique d'un élément, par exemple<h1 role="presentation">Titre</h1>
. Dans ce cas, le texte sera correctement restitué mais son rôle de titre ne le sera plus. L'utilisation du rôlepresentation
peut être requise lorsque l'on utilise un motif de conception WAI-ARIA.Le rôle WAI-ARIA
presentation
peut être également utilisé pour supprimer la sémantique d'un élément lorsque ce dernier est utilisé uniquement à des fins de présentation, par exemple<blockquote role="presentation">
aura le même effet qu'une absence d'élément.
Même si cette utilisation est fortement déconseillée (dans le cas de technologie d'assistance qui n'implémenteraient pas WAI-ARIA par exemple) elle peut être considérée comme conforme à WCAG. En revanche l'utilisation d'un rôle WAI-ARIA
presentation
sur un élément dont la nature (par exemple la sémantique) est essentielle à la compréhension du contenu est une violation des règles WCAG (particulièrement de l'échec F92) et invalide le critère.URLAdresse permettant d'accéder aux ressources du World Wide Web : document HTML, Pages web, image, son…
Note : dans le référentiel RGAA, la notion d'URL est utilisée à la place de URI (chaîne de caractères compacte identifiant une ressource).
VVersion accessible (pour un document en téléchargement)Les documents en téléchargement dont les types de format sont reconnus compatibles avec l'accessibilité doivent être rendus accessibles soit directement soit par l'intermédiaire d'une version accessible ou d'une version en HTML. Les formats de document dont la compatibilité est reconnue sont :
- Microsoft Office (Word 2003, OOXML);
- Open Office Org (ODF);
- Adobe PDF;
- Epub/Daisy.
Les contenus doivent être conformes à la liste des critères Documents Bureautiques.
Note : le format txt ne peut pas être utilisé pour produire une version accessible pour un document en téléchargement.
Version alternative « audio seulement »Une version « audio seulement » est une version sonore, sous la forme d'un simple fichier au format MP3 par exemple, utilisée comme alternative à une vidéo seulement (vidéo sans information sonore). Les seuls utilisateurs impactés par l'accessibilité étant les personnes aveugles, qui ne peuvent pas voir la vidéo, WCAG considère comme acceptable de proposer en alternative une version sonore.
La version « audio seulement » doit contenir toutes les informations visuelles importantes de la vidéo.
Généralement il est plus simple de produire une version sonore qu'une version textuelle lorsque la vidéo est très descriptive (la transcription textuelle nécessitant souvent un travail rédactionnel important). Il est rappelé, néanmoins, que seule la transcription textuelle assure un accès universel aux informations diffusées par la vidéo, dans le cas où un utilisateur ne serait pas en capacité de lancer la vidéo par exemple.
ZZone (d'une image réactive)Zone cliquable ou zone non cliquable d'une image réactive côté client ou zone cliquable d'une image réactive côté serveur.
Zone cliquableRégion d'une image réactive à laquelle une action a été associée ; par exemple, le déclenchement d'un événement en cliquant sur un lien (pour une zone cliquable côté client : balise
<area>
avec l'attributhref
). Les balises<area>
sont contenues dans la balise<map>
.Pour les images réactives côté serveur, les coordonnées sont détenues sur le serveur.
Zone d'en-têteZone située en haut du document et contenant généralement le titre du document, un logo, un slogan…
Note : Attention à ne pas confondre cette zone d'en-tête, unique dans le site, avec tout contenu pouvant être balisé en HTML5 avec l'élément
<header>
.Voir la définition technique fournie par WAI-ARIA : Banner (role).
Zone de contenu principalZone contenant les principaux contenus de la page, là où se trouvent les informations et fonctionnalités de fond (donc en dehors des menus, de la recherche ou des zones secondaires de publicités, actualités connexes…).
Note : Cette zone est unique dans la page. Elle peut être difficile à déterminer sur certaines pages particulières, comme la page d'accueil.
Voir la définition technique fournie par WAI-ARIA : Main (role).
Zone de pied de pageIl s'agit des informations concernant le fonctionnement du site ou les informations légales. On y trouve par exemple les mentions légales, les crédits, les conditions d'utilisation, le plan du site et éventuellement la page accessibilité.
Note : Attention à ne pas confondre cette zone de pied de page, unique dans le site, avec tout contenu pouvant être balisé en HTML5 avec l'élément
<footer>
.Voir la définition technique fournie par WAI-ARIA : Contentinfo (role).
Zone non cliquableRégion d'une image réactive à laquelle aucune action n'est associée. Une zone non cliquable côté client est contenue dans une balise
<area>
:- Avec l'attribut
nohref
lorsque le code HTML de la page n'est pas du HTML5;- Sans attribut
href
en HTML5.
Les balises
<area>
sont contenues dans la balise<map>
.
Droits réservés 2006-2021 Kortic - Anthony Ladeuil Dépôt ISSN 2610-1297Is it really important to print a web page?
Please save a tree and save a polluting ink.
Thank you…