From f3303927bc9171b65ac09b7a522315c10c1d2e29 Mon Sep 17 00:00:00 2001
From: Pierre-Yves Ayoul When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant. A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field. A placeholder alone is not sufficient to provide an accessible name; it must be accompanied by one of the techniques listed above. Group elements only when it is necessary, for example: Group elements only when it is necessary, for example: It is important to check the relevance of the visible label and the accessible name of the input field. It is important to check the relevance of the visible label and the accessible name of the input field. In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient. Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address) Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address) Check that no step in an login/password authentication process relies on a cognitive test, unless that step provides: Since memorizing a login and password is a cognitive test, to satisfy the criterion, the copy/paste function must be allowed on these fields or the login and password must be filled in automatically (e.g., password manager). A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. Check that no step in an authentication process with a two-factor system (2FA) relies on a cognitive test, unless this step allows: The proposed authentication process meets criterion 3.3.8 or 3.3.9, which means it does not rely on a cognitive test (e.g., memorizing or entering a login and password that must be copied without error, reproducing a gesture pattern on a touch screen, solving a puzzle). A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. Verify that when an authentication pathway includes a CAPTCHA, an alternative method that does not rely on a cognitive test (e.g., memorizing, copying a word, recognizing an image given by the website) is offered. Note: Object recognition or identification of non-textual personal content is permitted. A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. A cognitive test is a task that requires the user to memorize, manipulate or transcribe information. In the authentication process, do not use methods based on: In the case of a hidden password, provide the option of displaying the characters entered in plain text. This criterion does not require the use of a title, if no title is present this criterion is not applicable. This criterion does not require the use of a title, if no title is present this criterion is not applicable. This criterion does not require the use of a title, if no title is present this criterion is not applicable. This criterion does not require the use of a title, if no title is present this criterion is not applicable. If the table is a presentation table, remove any semantic tag or attribute of a table ( If the table is a data array: If the table is a presentation table, remove any semantic tag or attribute of a table ( If the table is a data array: Check that colour is not the only means of conveying the information: Remarks: Check that colour is not the only means of conveying the information: Remarks: Drag-and-drop functionality must have an alternative that does not require the dexterity specific to this type of movement (single pointing action). The criterion is not applicable: This criterion only targets actions for which only the start and end points are taken into account (dragging and then dropping a ticket in a Kanban board for example) and does not take into account so-called “multi- points”, covered in the criterion “WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?” This criterion only targets actions for which only the start and end points are taken into account (dragging and then dropping a ticket in a Kanban board for example) and does not take into account so-called “multi- points”, covered in the criterion “WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?” Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d’un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme. Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme. Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximté du champ de formulaire. Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné par une des techniques citées ci-dessus. On regroupe uniquement lorsque nécessaire, par exemple : On regroupe uniquement lorsque nécessaire, par exemple : Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ. Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ. Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante. Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison) Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison) Vérifier qu'aucune étape d'un processus d'authentification par un nom d'utilisateur et un mot de passe ne repose sur un test cognitif, sauf si cette étape fournit : La mémorisation d'un nom utilisateur et d'un mot de passe étant un test cognitif, il faut pour satisfaire le critère que la fonction de copier/coller soit autorisée sur ces champs ou que le nom d'utilisateur et le mot de passe soient remplis automatiquement (exemple : gestionnaire de mot de passe). Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Vérifier qu'aucune étape d'un processus d'authentification avec un système à double facteur (2FA) ne repose sur un test cognitif sauf si cette étape permet au choix : Le processus d'authentification proposé répond au critère 3.3.8 ou 3.3.9, c’est-à-dire qu'il ne repose pas sur un test cognitif (ex : mémoriser ou saisir un identifiant et mot de passe qui doivent être recopiés sans erreur, reproduire un schéma gestuel sur un écran tactile, résoudre une énigme) Vérifier qu'aucune étape d'un processus d'authentification avec un système à double facteur (2FA) ne repose sur un test cognitif sauf si cette étape permet au choix : Le processus d'authentification proposé répond au critère 3.3.8 ou 3.3.9, c'est-à-dire qu'il ne repose pas sur un test cognitif (ex : mémoriser ou saisir un identifiant et mot de passe qui doivent être recopiés sans erreur, reproduire un schéma gestuel sur un écran tactile, résoudre une énigme) Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Vérifier que lorsqu'un parcours d'authentification inclut un CAPTCHA, une méthode alternative qui ne repose pas sur un test cognitif (retenir, recopier un mot, reconnaitre une image donnée par le site web) est proposée. Note : la reconnaissance d'objets ou l'identification d'un contenu personnel non textuel est tolérée. Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations. Dans le processus d'authentification, ne pas utiliser de méthode basée sur : Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis. Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable. Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable. Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable. Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable. Si le tableau est un tableau de présentation, enlever toute balise ou attribut à valeur sémantique de tableau ( Si le tableau est un tableau de données : Si le tableau est un tableau de présentation, enlever toute balise ou attribut à valeur sémantique de tableau ( Si le tableau est un tableau de données : Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite. Exemples de non conformités : Non applicable, si aucune information n'est portée par le son, l'orientation, la taille, la forme ou la position Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite. Exemples de non conformités : Non applicable, si aucune information n'est portée par le son, l'orientation, la taille, la forme ou la position L’utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte. L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte. Le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien. Ces cas ne sont donc pas à prendre en compte. L’utilisateur doit avoir l’information si un lien permet d’ouvrir ou de télécharger un document (pdf, traitement de texte, vidéo, audio…) Chaque lien permettant de télécharger un fichier doit être accompagné d’informations relatives à sa consultation. Vérifier que le libellé du lien contient : L'utilisateur doit avoir l'information si un lien permet d'ouvrir ou de télécharger un document (pdf, traitement de texte, vidéo, audio…) Chaque lien permettant de télécharger un fichier doit être accompagné d'informations relatives à sa consultation. Vérifier que le libellé du lien contient : Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix : Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix : Si possible, éviter de mettre un attribut `title` incluant la mention \"nouvelle fenêtre\" du fait de sa faiblesse robustesse parmi les aides techniques Vérifier que la position courante de l'utilisateur au sein d'un site est matérialisée visuellement et programmatiquement : Vérifier que la position courante de l'utilisateur au sein d'un site est matérialisée visuellement et programmatiquement : Le critère est non applicable : Le critère est non applicable : Ne sont pas concernés les La présence de raccourcis peut être détectée en utilisant ce bookmarklet raccourcis clavier La présence de raccourcis peut être détectée en utilisant ce bookmarklet raccourcis clavier Le focus doit toujours être présent et suffisament visible sur tous les éléments focusables. Si le focus par défaut du navigateur est désactivé, un focus personnalisé doit être affiché en remplacement. Si le focus par défaut du navigateur est désactivé, un focus personnalisé doit être affiché en remplacement. Si un ordre de lecture spécifique est obligatoire pour comprendre un contenu de la page : Exemple : un contenu implémenté sous forme de colonnes en CSS doit être restitué dans le bon ordre sans CSS. Si aucun contenu nécessite un ordre de lecture spécifique, alors le critère est non applicable. L’ordre des contenus dans le code HTML doit rester compréhensible, en général, il suffit qu'il soit identique à l’ordre d’affichage des contenus à l’écran. Exemples de contenus à tester : L'ordre des contenus dans le code HTML doit rester compréhensible, en général, il suffit qu'il soit identique à l'ordre d'affichage des contenus à l'écran. Exemples de contenus à tester : Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique). Le critère est non applicable : Ce critère ne vise que les actions dont seuls les points de départ et d’arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\" Le critère est non applicable : Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\" Il est possible de : Le mécanisme doit être facilement atteignable Le mécanisme doit être facilement atteignable Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme. Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximté du champ de formulaire. Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire. When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant. When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant. A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field. The criterion is also applicable if all fields in a form are mandatories, except for one optional field. It is then possible to identify only the optional field using the method detailed above. The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password) The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password) Check that: When it is impossible to specifically identify the field in error (e.g., authentication page with username, password for which, for security reasons, it is not possible to specifically identify which of the two fields is in error), the criterion is compliant. The criterion is compliant if it is impossible to specifically identify the field in error (e.g., authentication page with username, password for which, for security reasons, it is not possible to specifically identify which of the two fields is in error). In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient. In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient. The criterion is also compliant for following exceptions: Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address) Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme. Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme. Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire. Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné par une des techniques citées ci-dessus. Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné d'une des techniques citées ci-dessus. L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe) Le critère est également applicable si tous les champs d'un formulaire sont obligatoires, à l'exception d'un champ optionnel. Il est alors possible d'identifier uniquement le champ optionnel selon la méthode détaillée ci-dessus. L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe). Dans ce cas le test est non-applicable. Vérifier que : Lorsqu'il est impossible de spécifiquement identifier le champ en erreur (ex. : page d'authentification avec identifiant, mot de passe pour laquelle, pour des raisons de sécurité, on ne peut identifier spécifiquement lequel des deux champs est en erreur), le critère est conforme. Le critère est conforme s'il est impossible d'identifier précisement le champ en erreur (ex. : page d'authentification avec identifiant, mot de passe pour laquelle, pour des raisons de sécurité, on ne peut identifier précisement lequel des deux champs est en erreur). Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante. Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
",
"exception": "Additionally
",
+ "complement": "aria-labelledby
in the fieldaria-label
in the fieldlabel
tag with a for
attribute referencing the id
of the fieldtitle
attribute in the input
tag of the fieldlabel
aria-label
attributearia-labelledby
attributearia-describedby
Additionally
",
- "complement": "fieldset
group or role='group'
legend
, aria-labelledby
)Additionally:
",
+ "complement": "radio
buttons or checkbox
elementsAdditionally
",
"group": "Form",
"moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible",
"priority": "P3",
@@ -71,7 +73,7 @@
"2.4.6 AA"
],
"verifier": "radio
buttons or checkbox
elements
",
- "complement":"Complement
Additionally
Complement
Additionally
",
"group": "Form",
"moreInfo": "",
@@ -186,7 +188,7 @@
],
"verifier": "Complement:
Additionally
Complement:
Additionally
",
"exception": "",
- "complement": "Complement:
Additionally
",
"moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings",
- "complement":"hn
, role='heading'
)Additionally:
Additionally
",
"moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings",
- "complement":"Additionally:
Additionally
caption, summary, th, scope, headers
…) and add a role='presentation'
attribute to the table
and therefore this table becomes not applicable for this criterion
",
+ "verifier": "Caption
tagAria-label
on the table element *Aria-labelledby
on the element pointing to the title’s ID
*display:none
, linked to the table with a aria-describedby
summary
attributeth
)th
must not be emptyth
check that there is a scope='col'
attribute for the column headers,scope='row'
attribute for the row headersth
) and/or id
and headers
attributescaption, summary, th, scope, headers
…) and add a role='presentation'
attribute to the table
and therefore this table becomes not applicable for this criterion
",
"moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#structuring-data-tables",
"priority": "P2",
"resultatTest": "nt",
@@ -474,7 +476,7 @@
"1.4.3 AA"
],
"verifier": "Caption
tagAria-label
on the table element *Aria-labelledby
on the element pointing to the title's ID
*display:none
, linked to the table with a aria-describedby
summary
attributeth
)th
must not be emptyth
check that there is a scope='col'
attribute for the column headers,scope='row'
attribute for the row headersth
) and/or id
and headers
attributes
",
- "complement": "color
), the background color must also be defined (background-color
) .background-color
), the text color must also be defined (color
). li>background-image
), the background color must be set (background-color
) .Complement
",
+ "complement": "Additionally
",
"moreInfo": "",
"priority": "P2",
"resultTest": "nt",
@@ -503,7 +505,7 @@
"wcag": [
"1.4.1 A"
],
- "verifier": "
",
+ "verifier": "
",
"moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#do-not-use-colour-or-sensory-characteristics-as-the-unique-source-of-information",
"priority": "P2",
"resultatTest": "nt",
@@ -1077,7 +1079,7 @@
],
"verifier": "
",
- "complement":"Complement
Additionally
",
- "exception": "
",
+ "exception": "Complément d'information
",
+ "complement": "aria-labelledby
dans le champaria-label
dans le champlabel
avec un attribut for
référençant l'id
du champtitle
dans la balise input
du champlabel
aria-label
du champaria-labelledby
du champaria-describedby
Complément d'information
",
- "complement": "fieldset
ou role='group'
legend
, aria-labelledby
)Complément :
",
+ "complement": "radio
ou checkbox
Complément d'information
",
"group": "Formulaire",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire",
"priority": "P3",
@@ -71,7 +73,7 @@
"2.4.6 AA"
],
"verifier": "radio
ou checkbox
",
- "complement":"Complément
Complément d'information
Complément
Complément d'information
",
"group": "Formulaire",
"moreInfo": "",
@@ -186,7 +188,7 @@
],
"verifier": "Complément :
Complément d'information
Complément :
Complément d'information
",
"exception": "",
- "complement": "Complément :
Complément d'information
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques",
- "complement":"hn
, role='heading'
)Complément
Complément d'information
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques",
- "complement":"Complément
Complément d'information
caption, summary, th, scope, headers
…) et mettre un attribut role='presentation'
dans la balise table
et donc ce tableau devient non applicable pour ce critère
",
+ "verifier": "
* Attention : en complément la technique doit être validée par un test fonctionnel sur le ou les environnements (navigateur / aide technique) pris en compte dans l’audit.Caption
Aria-label
sur l’élément table *Aria-labelledby
sur l’élément pointant vers l’ID
du titre *display:none
, lié au tableau via un aria-describedby
summary
th
ne doivent pas être videsth
)th
vérifier la présence d'un attribut scope='col'
pour les entêtes de colonnes,scope='row'
pour les entêtes de lignesth
et / ou d'attributs id
et headers
caption, summary, th, scope, headers
…) et mettre un attribut role='presentation'
dans la balise table
et donc ce tableau devient non applicable pour ce critère
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#structurer-les-tableaux-de-donnees",
"priority": "P2",
"resultatTest": "nt",
@@ -429,7 +431,7 @@
"wcag": [
"1.1.1 A"
],
- "verifier": "
* Attention : en complément la technique doit être validée par un test fonctionnel sur le ou les environnements (navigateur / aide technique) pris en compte dans l'audit.Caption
Aria-label
sur l'élément table *Aria-labelledby
sur l'élément pointant vers l'ID
du titre *display:none
, lié au tableau via un aria-describedby
summary
th
ne doivent pas être videsth
)th
vérifier la présence d'un attribut scope='col'
pour les entêtes de colonnes,scope='row'
pour les entêtes de lignesth
et / ou d'attributs id
et headers
",
+ "verifier": "
exemples : abbr
avec l'attribut title
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-non-textuel/#fournir-un-equivalent-textuel-pour-les-images-et-les-cadres",
"priority": "P3",
"resultatTest": "nt",
@@ -474,7 +476,7 @@
"1.4.3 AA"
],
"verifier": "
exemples : abbr
avec l'attribut title
",
- "complement": "color
), la couleur du fond doit l'être également (background-color
).background-color
), la couleur du texte doit l'être également (color
).background-image
), la couleur du fond doit être définie (background-color
).Complément
",
+ "complement": "Complément d'information
",
"moreInfo": "",
"priority": "P2",
"resultatTest": "nt",
@@ -517,7 +519,7 @@
"wcag": [
"1.3.3 A"
],
- "verifier": "
",
+ "verifier": "
",
"exception": "
",
+ "verifier": "
",
"complement": "",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles",
"priority": "",
@@ -585,11 +587,11 @@
},
{
"themes": "Navigation générale",
- "title": "Un utilisateur est-il prévenu de l’ouverture d’une nouvelle fenêtre ? ",
+ "title": "Un utilisateur est-il prévenu de l'ouverture d'une nouvelle fenêtre ? ",
"ID": "testID-072",
"IDorigin": "testID-072",
"wcag": [],
- "verifier": "
",
+ "verifier": "
",
"complement": "
",
+ "verifier": "
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#fournir-des-acces-multiples-et-une-localisation",
"priority": "",
"resultatTest": "nt",
@@ -808,7 +810,7 @@
"2.1.1 A"
],
"verifier": "
",
- "exception": "
",
+ "exception": "title
)
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-clavier/#permettre-dutiliser-les-principales-fonctionnalites-de-lapplication-au-clavier",
"priority": "P0",
"resultatTest": "nt",
@@ -838,7 +840,7 @@
],
"verifier": "title
)
",
"exception": "accesskey
et les raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).Complément
Complément d'information
Complément
Complément d'information
quand le CSS est désactivé, vérifier que ce contenu lu de façon linéaire reste compréhensible.Compléments d'information
",
+ "complement": "top
, left
, float
…)display:\"flex\"
ou display:\"grid\"
Compléments d'information
",
"moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/mise-en-page/#separer-le-contenu-de-linteractivite-et-de-la-presentation",
"priority": "P3",
"resultatTest": "nt",
@@ -1076,8 +1078,8 @@
"2.5.7 AA"
],
"verifier": "top
, left
, float
…)display:\"flex\"
ou display:\"grid\"
",
- "complement":"Complément
",
+ "complement":"Complément d'information
",
- "complement":"Complément
Complément d'information
",
"exception": "Complément d'information
Complément d'information
",
- "exception": "Additionally
",
+ "complement": "aria-labelledby
...)required
attribute or aria-required
Additionally
",
- "exception":"
",
"complement":"Additionally
",
"group": "Form",
"moreInfo": "",
"priority": "P3",
diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json
index bcabb8a..0906b0a 100644
--- a/json/criteres-wcag-ease-fr.json
+++ b/json/criteres-wcag-ease-fr.json
@@ -7,8 +7,7 @@
"wcag": [
"3.3.2 A"
],
- "verifier": "
",
- "exception": "Complément d'information
",
- "complement": "aria-labelledby
dans le champaria-label
dans le champlabel
avec un attribut for
référençant l'id
du champtitle
dans la balise input
du champlabel
aria-label
du champaria-labelledby
du champaria-describedby
Complément d'information
Complément d'information
",
- "exception":"aria-labelledby
...)required
ou aria-required
Complément d'information
",
- "exception":"
Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", - "exception":"aria-labelledby
...)required
attribute or aria-required
The criterion is also applicable if all fields in a form are mandatories, except for one optional field. It is then possible to identify only the optional field using the method detailed above.
", + "verifier": "aria-labelledby
...)required
attribute or aria-required
The criterion is also applicable if all fields in a form are mandatories, except for one optional field. It is then possible to identify only the optional field using the method detailed above.
", "group": "Form", - "exception":"The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password)
. In this case, the criterion is not applicable.", + "exception":"The criterion is not applicable if the mandatory nature of a field is obvious, then the visual element is optional (eg: search field, subscription to a newsletter, username / password).", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P1", "resultatTest": "nt", @@ -152,7 +151,7 @@ "3.3.3 AA" ], "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", - "exception":"If it's impossible to make a suggestion to correct, the criterion is not applicable.
", + "exception":"The criterion is not applicable if it's impossible to make a suggestion to correct.", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections", "priority": "P3", @@ -186,7 +185,6 @@ "3.3.9 AAA" ], "verifier": "Check that no step in an login/password authentication process relies on a cognitive test, unless that step provides:
Since memorizing a login and password is a cognitive test, to satisfy the criterion, the copy/paste function must be allowed on these fields or the login and password must be filled in automatically (e.g., password manager).
", - "exception": "", "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -205,7 +203,6 @@ "3.3.9 AAA" ], "verifier": "Check that no step in an authentication process with a two-factor system (2FA) relies on a cognitive test, unless this step allows:
The proposed authentication process meets criterion 3.3.8 or 3.3.9, which means it does not rely on a cognitive test (e.g., memorizing or entering a login and password that must be copied without error, reproducing a gesture pattern on a touch screen, solving a puzzle).
", - "exception": "", "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -224,7 +221,6 @@ "3.3.9 AAA" ], "verifier": "Verify that when an authentication pathway includes a CAPTCHA, an alternative method that does not rely on a cognitive test (e.g., memorizing, copying a word, recognizing an image given by the website) is offered. Note: Object recognition or identification of non-textual personal content is permitted.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -272,7 +268,7 @@ ], "verifier": "hn
, role='heading'
)This criterion does not require the use of a title, if no title is present this criterion is not applicable.
", + "exception":"The criterion is not applicable if no title is present.", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -287,7 +283,7 @@ ], "verifier": "This criterion does not require the use of a title, if no title is present this criterion is not applicable.
", + "exception":"The criterion is not applicable if no title is present.", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -342,8 +338,7 @@ "wcag": [ "3.1.2 AA" ], - "verifier": "Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, do not indicate a change of language.
", + "verifier": "Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, it is not necessary to indicate a change of language.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", "priority": "P3", "resultatTest": "nt", @@ -385,8 +380,8 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "img
, input
/ object type='image'
, embed
, canvas
) are not used to present text.Not applicable if there is no image containing text
", - "exceptions": "Check that image and graphics elements (img
, input
/ object type='image'
, embed
, canvas
) are not used to present text.
The criterion is compliant for following exceptions:
Check that the value of the title
attribute describes the content or the purpose of the iframe
or frame
element.
frame
or iframe
does not need a title
. title
is not required if the content of the iframe
is not distinct from the surrounding content and does not have a focusable element inside, and there is an added tabindex='- 1'
on the iframe
so that it does not receive the focus.frame
or iframe
does not need a title
. title
is not required if the content of the iframe
is not distinct from the surrounding content and does not have a focusable element inside, and there is an added tabindex='- 1'
on the iframe
so that it does not receive the focus.24 CSS pixels
: contrast ratio 4.5:124 CSS pixels
: contrast ratio 3:118.5 CSS pixels
: contrast ratio 4.5:118.5 CSS pixels
: contrast ratio 3:1Logos or all purely decorative elements.
", + "exception": "The criterion is not applicable for logos, purely decorative text elements or text of inactive interface components.", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#provide-enough-contrast-between-front-and-background-colors", "priority": "P1", "resultatTest": "nt", @@ -490,7 +485,7 @@ "1.4.11 AA" ], "verifier": "Check that as well as graphics, icons and graphic interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exceptions": "Check that colour is not the only means of conveying the information:
Remarks:
Check that colour is not the only means of conveying the information:
Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text, an alternative or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", + "verifier": "Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text, an alternative or an explicit message.
Examples of non-conformities:
Check that the text of the displayed label (the textual description or the text of the image visible on the screen) is present in the accessible name of this component (to find out more: The accessible name in HTML )
\nNot applicable, if no interface component has a visible text label (icon without text, for example)
", + "verifier": "Check that the text of the displayed label (the textual description or the text of the image visible on the screen) is present in the accessible name of this component (to find out more: The accessible name in HTML )
", + "exception":"The criterion is not applicable if no interface component has a visible text label (icon without text, for example).", "complement": "For example: for a 'start' link, use an aria-label
'start playing', but not 'begin playing'
Users should be able to determine, with the help of the context, if they want to follow a link to understand his destination.
He link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link. These cases are therefore not to be taken into account.
", + "exception": "The criterion is not applicable if the link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link.", "complement": "The context of the link constitutes additional information that helps the user understand the purpose. check that this additional information is located either:
p
)li
)td
)th
), associated with the cell of the link (td
)The user must be able to understand the destination of links even taken out of their context.
The link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link. Therefore, these cases are not applicable.
", + "exception": "The criterion is not applicable if the link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link.", "complement": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "", @@ -605,7 +603,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
If the accessible name is missing, consider invalidating criterion 4.1.2 A 'Are all user interface components (native or custom controls) compatible with assistive technologies?' (testID-066)
", + "verifier": "The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
If the accessible name is missing, consider invalidating criterion 4.1.2 A 'Are all user interface components (native or custom controls) compatible with assistive technologies?' (testID-066)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessibles", "priority": "P1", "resultatTest": "nt", @@ -660,7 +658,7 @@ "1.4.13 AA" ], "verifier": "Content on hover or focus:
title
attribute.title
attribute.Check that one of the conditions below is met:
Check that one of the conditions below is met:
When using any interactive component, check that there is no context change when taking focus or when hovering the mouse on an element. This is to ensure that this type of interaction has predictable results (classic behavior, expected by the user).
The criterion is not applicable if when the focus is taken the context does not change. For example the appearance of a menu on focus or even the visual modification when hovering a link are not changes of context.
", - "complement": "A major change in the content of the web page, when done without the knowledge of the user, can be confusing.
Change of context includes modifications of:
The context switch is compliant if:
When using any interactive component, check that there is no context change when taking focus or when hovering the mouse on an element. This is to ensure that this type of interaction has predictable results (classic behavior, expected by the user).
", + "exception": "The criterion is not applicable if when the focus is taken the context does not change. For example the appearance of a menu on focus or even the visual modification when hovering a link are not changes of context.", + "complement": "A major change in the content of the web page, when done without the knowledge of the user, can be confusing.
Change of context includes modifications of:
The context switch is compliant if:
Check the absence of context change, without prior warning of the user, when modifying the parameter of any interactive component. Modifying a parameter can be, for example, checking a checkbox, entering content in a text field, selecting an option in a form control, all of this must have predictable results (classic behavior, expected by the user) but the activation of a link or of a button is not a parameter change.
", - "complement": "A major change in the content of the web page which, when done without the knowledge of the user, can be confusing.
The changes context include changes:
The context switch is compliant if:
Check the absence of context change, without prior warning of the user, when modifying the parameter of any interactive component.
Modifying a parameter can be, for example, checking a checkbox, entering content in a text field, selecting an option in a form control, all of this must have predictable results (classic behavior, expected by the user) but the activation of a link or of a button is not a parameter change.
The context switch is compliant if:
A major change in the content of the web page which, when done without the knowledge of the user, can be confusing.
The changes context include changes:
The activation of a link or button is not a parameter change.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interaction", "priority": "P2", "resultatTest": "nt", @@ -719,8 +718,8 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "when there is less than 3 or 4 pages and/or the content is short, this criterion is not applicable.
Check that at least 2 of the following mechanisms are present on the page, to allow a user to determine their location on the website:
\nExcept if the Web Page is the result of, or a step in a process.
", + "verifier": "Check that at least 2 of the following mechanisms are present on the page, to allow a user to determine their location on the website:
\nIf content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.< /p>
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency .
Not applicable, if no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically
", + "verifier": "If content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency.
", + "exception": "The criterion is not applicable if there is no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically.", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#allowing-animations-control", "priority": "P3", "resultatTest": "nt", @@ -791,9 +791,9 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Check that for each display mode or orientation (portrait/landscape), if one or more help mechanisms are proposed, they must always be located in the same place and in the same relative order on all pages.
", + "verifier": "Check that for each display mode or orientation (portrait/landscape), if one or more help mechanisms are proposed, they must always be located in the same place and in the same relative order on all pages.
The criterion is also compliant for following cases:
Criteria is not applicable for tooltips generated by the user agent (for example, that of the title
attribute)
Criteria is not applicable:
title
attribute)Criteria is not applicable for tooltips generated by the user agent (for example, that of the title
attribute)
title
attribute)Keyboard shortcuts that include accesskey
or a modifier key are not affected (non-printable character key, for instance Ctrl, Alt or Shift).
accesskey
or a modifier key (non-printable character key, for instance Ctrl, Alt or Shift).",
"complement": "The presence of shortcuts can be detected using this keyboard shorcuts bookmarklet
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P3", @@ -913,7 +913,7 @@ "1.4.10 AA" ], "verifier": "Content is presented without loss of information or functionality on the 320px wide window, without the need to scroll horizontally across the page.
Compliant if a horizontal scrollbar is present but its use is not necessary to access informative content or utilize features.
", - "exceptions": "Some content requiring both dimensions to be understandable such as images, maps, presentations, data tables, games…
", + "exception": "The criterion is not applicable for some content requiring both dimensions to be understandable such as images, maps, presentations, data tables, games…", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/layout/#use-relative-size-to-allow-changing-text-size-and-responsive-design", "priority": "P3", "resultatTest": "nt", @@ -1014,7 +1014,7 @@ "2.5.8 AA" ], "verifier": "Verify that each interactive element meets the minimum target size of 24*24 CSS pixels in all display conditions (zoom, viewport size, etc.).
The criterion is also compliant for the following exceptions:
Not applicable if:
It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g.: single taps and clicks, double-taps and clicks):
Interactions that emulate a keyboard or a numeric keypad are allowed to implement actions on down-events.
", + "verifier": "It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g.: single taps and clicks, double-taps and clicks):
'mousedown'
or 'touchstart'
event (as soon as you touch or press an element) and that it is possible to abort the action by lifting the pointer outside that element.The criterion is also compliant if the action initiated by the 'mousedown'
or 'touchstart'
is essential for the intended use: for example, emulating a keyboard or numeric keypad, a virtual piano.
The motion is essential for the function (e.g.: pedometer)
", + "exception": "The criterion is not applicable if the motion is essential for the function (e.g.: pedometer)", "group": "Touch Screen", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#offer-an-alternative-to-complex-gestures", "priority": "P1", @@ -1077,7 +1076,7 @@ "2.5.7 AA" ], "verifier": "Drag-and-drop functionality must have an alternative that does not require the dexterity specific to this type of movement (single pointing action).
", - "exceptions": "The criterion is not applicable:
This criterion only targets actions for which only the start and end points are taken into account (dragging and then dropping a ticket in a Kanban board for example) and does not take into account so-called “multi- points”, covered in the criterion “WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?”
", "group": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#offer-an-alternative-to-complex-gestures", @@ -1095,7 +1094,7 @@ "1.3.4 AA" ], "verifier": "Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", - "exception": "If an orientation is considered essential, the criterion is not applicable.
Example of display deemed essential:
aria-labelledby
...)required
ou aria-required
Le critère est également applicable si tous les champs d'un formulaire sont obligatoires, à l'exception d'un champ optionnel. Il est alors possible d'identifier uniquement le champ optionnel selon la méthode détaillée ci-dessus.
", - "exception":"L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe). Dans ce cas le test est non-applicable.
", + "verifier": "aria-labelledby
...)required
ou aria-required
Le critère est également applicable si tous les champs d'un formulaire sont obligatoires, à l'exception d'un champ optionnel. Il est alors possible d'identifier uniquement le champ optionnel selon la méthode détaillée ci-dessus.
", + "exception":"Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P1", @@ -152,7 +151,7 @@ "3.3.3 AA" ], "verifier": "Vérifier que les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction de l'erreur de saisie ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Lorsqu'il est impossible de faire une suggestion, le critère est non applicable
", + "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion.", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#detecter-identifier-les-erreurs-et-suggerer-des-corrections", "priority": "P3", @@ -167,7 +166,7 @@ "wcag": [ "3.3.7 A" ], - "verifier": "Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :
Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", "group": "Formulaire", "moreInfo": "", @@ -186,7 +185,6 @@ "3.3.9 AAA" ], "verifier": "Vérifier qu'aucune étape d'un processus d'authentification par un nom d'utilisateur et un mot de passe ne repose sur un test cognitif, sauf si cette étape fournit :
La mémorisation d'un nom utilisateur et d'un mot de passe étant un test cognitif, il faut pour satisfaire le critère que la fonction de copier/coller soit autorisée sur ces champs ou que le nom d'utilisateur et le mot de passe soient remplis automatiquement (exemple : gestionnaire de mot de passe).
", - "exception": "", "complement": "Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -205,7 +203,6 @@ "3.3.9 AAA" ], "verifier": "Vérifier qu'aucune étape d'un processus d'authentification avec un système à double facteur (2FA) ne repose sur un test cognitif sauf si cette étape permet au choix :
Le processus d'authentification proposé répond au critère 3.3.8 ou 3.3.9, c'est-à-dire qu'il ne repose pas sur un test cognitif (ex : mémoriser ou saisir un identifiant et mot de passe qui doivent être recopiés sans erreur, reproduire un schéma gestuel sur un écran tactile, résoudre une énigme)
", - "exception": "", "complement": "Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -224,7 +221,6 @@ "3.3.9 AAA" ], "verifier": "Vérifier que lorsqu'un parcours d'authentification inclut un CAPTCHA, une méthode alternative qui ne repose pas sur un test cognitif (retenir, recopier un mot, reconnaitre une image donnée par le site web) est proposée. Note : la reconnaissance d'objets ou l'identification d'un contenu personnel non textuel est tolérée.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -272,7 +268,7 @@ ], "verifier": "hn
, role='heading'
)Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.
", + "exception":"Le critère est non-applicable si aucun titre n'est présent.", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -287,7 +283,7 @@ ], "verifier": "Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.
", + "exception":"Le critère est non-applicable si aucun titre n'est présent.", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -342,8 +338,7 @@ "wcag": [ "3.1.2 AA" ], - "verifier": "Vérifier qu'un attribut lang
est renseigné pour les mots et expressions en langue étrangère.
Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, ne pas indiquer de changement de langue.
", + "verifier": "Vérifier qu'un attribut lang
est renseigné pour les mots et expressions en langue étrangère.
Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", "priority": "P3", "resultatTest": "nt", @@ -385,8 +380,8 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "img
, input
/ object type='image'
, embed
, canvas
) ne sont pas utilisées pour présenter du texte.Non applicable, si aucune image ne contient de texte
", - "exception": "Vérifier que des images (img
, input
/ object type='image'
, embed
, canvas
) ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
Vérifier que la valeur des attributs title
décrit le contenu ou la fonction de iframe
ou frame
.
frame
ou iframe
non-informative masquée convenablement n'a pas besoin de title
.title
n'est pas requis si le contenu de l'iframe
n'est pas distinct du contenu environnant et n'a pas d'élément tabulable à l'intérieur, et qu'on a ajouté tabindex='- 1'
sur l'iframe
afin qu'il ne reçoive pas le focus.frame
ou iframe
non-informative masquée convenablement n'a pas besoin de title
.title
n'est pas requis si le contenu de l'iframe
n'est pas distinct du contenu environnant et n'a pas d'élément tabulable à l'intérieur, et qu'on a ajouté tabindex='- 1'
sur l'iframe
afin qu'il ne reçoive pas le focus.24 px CSS
: contraste de 4,5:124 px CSS
: contraste de 3:118,5 px CSS
: contraste de 4,5:118,5 px CSS
: contraste de 3:1Les logos ou tous les éléments purement décoratifs.
", + "exception":"Le critère n'est pas applicable pour les logos, les éléments textuels purement décoratifs ou les textes d'éléments inactifs.", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/couleurs-et-contrastes/#assurer-un-contraste-suffisant-entre-les-couleurs-de-premier-plan-et-de-fond", "priority": "P1", "resultatTest": "nt", @@ -490,7 +485,7 @@ "1.4.11 AA" ], "verifier": "Vérifier que les graphiques, les icônes et les composants interactifs graphiques ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Remarques :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par le son, l'orientation, la taille, la forme ou la position
", + "verifier": "Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite.
Exemples de non conformités :
Vérifier que le texte de l'étiquette affichée (le libellé textuel ou le texte de l'image visible à l'écran) est présent dans le nom accessible de ce composant (pour aller plus loin : Le nom accessible en HTML
\nNon applicable, si aucun composant d'interface n'a de libellé texte visible (icônes sans texte, par exemple)
", + "verifier": "Vérifier que le texte de l'étiquette affichée (le libellé textuel ou le texte de l'image visible à l'écran) est présent dans le nom accessible de ce composant (pour aller plus loin : Le nom accessible en HTML
", "complement": "Exemple : pour un lien « démarrer », mettre un aria-label
« démarrer la lecture », mais pas « lancer la lecture »
L'utilisateur doit savoir s'il souhaite suivre un lien avec, si besoin, le contexte pour en comprendre la destination.
Le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien. Ces cas ne sont donc pas à prendre en compte.
", + "exception": "Le critère est non-applicable si le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien.", "complement": "Le contexte du lien représente les informations supplémentaires qui permettent de comprendre son intitulé. Vérifier que ces informations supplémentaires sont positionnées soit :
p
)li
)td
)th
), associée à la cellule du lien (td
)L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.
Le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien. Ces cas ne sont donc pas à prendre en compte.
", + "exception": "Le critère est non-applicable si le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien", "complement": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "", @@ -591,7 +589,7 @@ "IDorigin": "testID-072", "wcag": [], "verifier": "Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix :
Si possible, éviter de mettre un attribut `title` incluant la mention \"nouvelle fenêtre\" du fait de sa faiblesse robustesse parmi les aides techniques
", + "complement": "Si possible, éviter de mettre un attribut `title` incluant la mention \"nouvelle fenêtre\" du fait de sa faiblesse robustesse parmi les aides techniques.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#prevenir-lutilisateur-de-louverture-dune-nouvelle-fenetre", "priority": "", "resultatTest": "nt", @@ -605,7 +603,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "L'utilisateur doit connaitre la fonction d'un bouton grâce à son intitulé. Vérifier que l'action portée par le nom accessible de chaque bouton est pertinente.
En cas d'absence de nom accessible, penser à invalider le critère 4.1.2 A \"Les composants d'interfaces (natifs ou personnalisés) sont-ils interprétés par les technologies d'assistance ?\" (testID-066)
", + "verifier": "L'utilisateur doit connaitre la fonction d'un bouton grâce à son intitulé. Vérifier que l'action portée par le nom accessible de chaque bouton est pertinente.
En cas d'absence de nom accessible, penser à invalider le critère 4.1.2 A \"Les composants d'interfaces (natifs ou personnalisés) sont-ils interprétés par les technologies d'assistance ?
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P1", "resultatTest": "nt", @@ -660,7 +658,7 @@ "1.4.13 AA" ], "verifier": "Le contenu apparaissant au focus ou survol :
title
.title
.Vérifier qu'une des conditions ci-dessous est respectée :
Vérifier qu'une des conditions ci-dessous est respectée :
Lors de l'utilisation de tout composant interactif, vérifier l'absence de changement de contexte lors de la prise de focus ou au survol souris d'un élément. Il s'agit de s'assurer que ce type d'interaction à des résultats prédictibles (comportement classique, attendu par l'utilisateur).
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", + "verifier": "Lors de l'utilisation de tout composant interactif, vérifier l'absence de changement de contexte lors de la prise de focus ou au survol souris d'un élément. Il s'agit de s'assurer que ce type d'interaction à des résultats prédictibles (comportement classique, attendu par l'utilisateur).
", + "exception": "Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.", "complement": "Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
Vérifier l'absence de changement de contexte, sans avertissement préalable de l'utilisateur, lors de la modification de paramètre de tout composant interactif. La modification d'un paramètre peut être, par exemple, cocher une case, la saisie de contenu dans un champ de texte, la sélection d'une option dans un contrôle de formulaire, tout cela doit avoir des résultats prédictibles (comportement classique, attendu par l'utilisateur) mais l'activation d'un lien ou d'un bouton n'est pas une modification de paramètre.
", - "complement": "Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
Le changement de contexte est conforme si :
Vérifier l'absence de changement de contexte, sans avertissement préalable de l'utilisateur, lors de la modification de paramètre de tout composant interactif.
La modification d'un paramètre peut être, par exemple, cocher une case, la saisie de contenu dans un champ de texte, la sélection d'une option dans un contrôle de formulaire, tout cela doit avoir des résultats prédictibles (comportement classique, attendu par l'utilisateur)
Le changement de contexte est conforme si :
Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
L'activation d'un lien ou d'un bouton n'est pas une modification de paramètre.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -719,8 +718,8 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "Lorsque le nombre de pages est inférieur à 3 ou 4 et/ou le contenu succinct, ce critère est non applicable.
\nVérifier qu'au moins 2 des mécanismes listés ci-dessous sont présents sur la page, pour permettre à un utilisateur de se situer au sein d'un site :
Sauf pour une page résultat ou étape d'un processus à étapes.
", + "verifier": "Vérifier qu'au moins 2 des mécanismes listés ci-dessous sont présents sur la page, pour permettre à un utilisateur de se situer au sein d'un site :
Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
Non applicable, si aucun mouvement, pas défilement, pas de clignotement et pas de mise à jour ou rafraichissement automatique qui durent plus de 5 secondes ou démarre automatiquement
", + "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
", + "exception": "e critère est non-applicable si aucun mouvement, pas défilement, pas de clignotement et pas de mise à jour ou rafraichissement automatique qui durent plus de 5 secondes ou démarre automatiquement.", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#permettre-le-controle-des-animations", "priority": "P3", "resultatTest": "nt", @@ -791,9 +791,9 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Pour chaque mode d'affichage ou orientation (portrait/paysage), si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit et dans le même ordre relatif sur toutes les pages.
", + "verifier": "Pour chaque mode d'affichage ou orientation (portrait/paysage), si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit et dans le même ordre relatif sur toutes les pages.
Le critère est également conforme dans les cas suivants :
Le critère est non applicable :
title
)title
)Ne sont pas concernés les accesskey
et les raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).
accesskey
ni aux raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).",
"complement": "La présence de raccourcis peut être détectée en utilisant ce bookmarklet raccourcis clavier
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisaateur-garde-le-controle-lors-des-interactions", "priority": "P3", @@ -913,7 +913,7 @@ "1.4.10 AA" ], "verifier": "Le contenu est présenté sans perte d'informations ni de fonctionnalités sur la fenêtre réduite à 320px de large, sans nécessité de défiler horizontalement sur la page
Conforme si une barre de défilement horizontale est présente mais que son utilisation n'est pas nécessaire pour accéder au contenu informatif ou utiliser les fonctionnalités de la page.
", - "exception": "Certains contenus nécessitant les deux dimensions pour être compréhensibles comme des images, cartes, présentations, tableaux de données, jeux….
", + "exception": "Le critère est non-applicable pour des contenus nécessitant les deux dimensions pour être compréhensibles comme des images, cartes, présentations, tableaux de données, jeux….", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/mise-en-page/#utiliser-des-tailles-relatives-et-faire-du-web-adaptatif", "priority": "P3", "resultatTest": "nt", @@ -1014,7 +1014,7 @@ "2.5.8 AA" ], "verifier": "Vérifier que chaque élément interactif respecte la surface minimale de 24*24 px CSS dans toutes les conditions d'affichage (zoom, taille de viewport, etc).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
Les interactions émulant un clavier ou un pavé numérique sont autorisées à implémenter des actions sur les évènements descendant ('down event').
", + "verifier": "Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
'mousedown'
ou 'touchstart'
(dès qu'on touche ou qu'on presse un élément) et qu'il soit possible d'annuler en relâchant le pointeur en dehors de l'élément déclencheur.Le critère est également conforme si l'action initiée par le 'mousedown'
ou 'touchstart'
est essentielle à l'usage prévu : par exemples l'émulation d'un clavier ou d'un pavé numérique, un piano virtuel.
Le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre)
", + "exception": "Le critère n'est pas applicable si le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre).", "group": "Tactile", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#proposer-une-alternative-aux-gestuelles-complexes", "priority": "P1", @@ -1077,7 +1076,7 @@ "2.5.7 AA" ], "verifier": "Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "exception": "Le critère est non applicable :
Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", "group": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#proposer-une-alternative-aux-gestuelles-complexes", @@ -1095,7 +1094,7 @@ "1.3.4 AA" ], "verifier": "Vérifier que le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'éléments tronqués).
", - "exception" : "Si une orientation est jugé essentielle, le critère est non-applicable.
Exemple d'affichage jugé essentiel :
Check that colour is not the only means of conveying the information:
Check that colour is not the only means of conveying the information:
Particular case of non-underlined links in text:
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Cas particuliers des liens non soulignés dans du texte :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Cas particuliers des liens non soulignés dans du texte :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Cas particuliers des liens non soulignés dans du texte :
Check that:
When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception.
", + "exception": "When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", + "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", "group": "Input screen", "resultatTest": "nt", "priority": "P0", @@ -112,7 +113,7 @@ "3.3.8 AA" ], "verifier": "Verify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:
Warning, remembering a username and password is a cognitive test.
The copy/paste function must be enabled on these fields.
If the username and password can be auto-filled, it is not considered a cognitive test.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", + "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", "group": "Input screen", "resultatTest": "nt", "priority": "P3", @@ -234,7 +235,7 @@ "1.4.11 AA" ], "verifier": "Verify that images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exception": "Check that colour is not the only means of conveying the information:
Remarks:
Check that colour is not the only means of conveying the information:
Remarks:
Drag-and-drop functionality should have an alternative that does not require the dexterity specific to this type of movement (single-pointing action).
", - "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\"
", + "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\"
", "exception": "The criterion is not applicable:
Vérifier que :
Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d’un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception.
", + "verifier": "Vérifier que :
Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", + "complement": "Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false @@ -116,7 +117,7 @@ "3.3.8 AA" ], "verifier": "Vérifier que toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", + "complement":"Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", "group": "Écran de saisie", "resultatTest": "nt", "priority": "P3", @@ -176,8 +177,8 @@ "wcag": [ "3.3.7 A" ], - "verifier": "Dans un écran de saisi de données en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par le l’application tout en sachant que l'autocomplete n'est pas jugé suffisant.
", - "complement":"Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", + "verifier": "Dans un écran de saisi de données en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par le l'application tout en sachant que l'autocomplete n'est pas jugé suffisant.
", + "complement":"Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", "exception":"Vérifier que les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "verifier": "Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/couleurs-et-contrastes/#sassurer-que-la-couleur-ou-linformation-sensorielle-ne-sont-pas-les-seules-sources-dinformation", "resultatTest": "nt", "priority": "P2", @@ -453,7 +454,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "Si le tableau est un tableau de données :
Si le tableau est un tableau de données :
Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d’arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", + "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", "exception":"Le critère est non applicable :
Vérifier que si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", "resultatTest": "nt", - "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", + "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", "exception":"L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "priority": "", "wcag22" : true, diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 09443fc..13d1580 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -8,7 +8,8 @@ "3.3.2 A" ], "verifier": "Check that:
When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception.
", + "exception": "When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", + "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -87,7 +88,7 @@ "0": "3.3.8 AA" }, "verifier": "Verify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:
Warning, remembering a username and password is a cognitive test.
The copy/paste function must be enabled on these fields.
If the username and password can be auto-filled, it is not considered a cognitive test.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", + "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", "group": "Form field", "resultatTest": "nt", "priority": "P1", @@ -238,7 +239,7 @@ "0": "1.4.11 AA" }, "verifier": "Verify that images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exception": "Check that colour is not the only means of conveying the information:
Remarks:
Check that colour is not the only means of conveying the information:
Remarks:
Check that for any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture. Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.
", + "verifier": "Check that for any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "complement": "Drag-and-drop functionality must have an alternative that does not require the dexterity specific to this type of movement (single point action).
", - "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging and then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\".
", + "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging and then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\".
", "exception": "The criterion is not applicable:
Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d’un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception.
", + "verifier": "Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", + "complement": "Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P0", @@ -88,7 +89,7 @@ }, "verifier": "Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif sauf si :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", - "complement":"Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", + "complement":"Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P1", @@ -178,8 +179,8 @@ "wcag": { "0": "3.3.7 A" }, - "verifier": "Dans un formulaire en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par l’application tout en sachant que la saisie automatique n'est pas jugé suffisant.
", - "complement":"Exemples de mécanismes valides : remplissage automatique, choix dans une liste déroulante, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (par exemple : adresse de facturation égale adresse de livraison).
", + "verifier": "Dans un formulaire en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par l'application tout en sachant que la saisie automatique n'est pas jugé suffisant.
", + "complement":"Exemples de mécanismes valides : remplissage automatique, choix dans une liste déroulante, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (par exemple : adresse de facturation égale adresse de livraison).
", "exception": "Vérifier que les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) doit également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "verifier": "L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) doit également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -295,11 +296,11 @@ "0": "1.4.4 AA", "1": "1.4.10 AA" }, - "verifier": "Non-applicable pour les sous-titres et textes sous forme d’image.
", + "exception": "Non-applicable pour les sous-titres et textes sous forme d'image.
", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/developpement/#taille-des-textes" }, @@ -312,7 +313,7 @@ "0": "1.1.1 A" }, "verifier": "Tous les éléments graphiques signifiants sont vocalisés et accessibles en utilisant la navigation vocale :
Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d’arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\".
", + "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\".
", "exception":"Le critère est non applicable si :
Si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", - "complement": "Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", + "complement": "Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", "exception": "L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "resultatTest": "nt", "priority": "P1", From d63814384362a6dbc3061fbe8b4df9a22957d005 Mon Sep 17 00:00:00 2001 From: Pierre-Yves AyoulWhen the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", - "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field.
", + "verifier": "When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", + "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P0", @@ -88,9 +89,9 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "aria-labelledby
...)required
attribute or aria-required
The criterion is also applicable if all fields in a form are mandatories, except for one optional field. It is then possible to identify only the optional field using the method detailed above.
", + "verifier": "aria-labelledby
...)required
attribute or aria-required
The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P1", "resultatTest": "nt", @@ -135,7 +136,7 @@ "3.3.1 A" ], "verifier": "Check that:
The criterion is compliant if it is impossible to specifically identify the field in error (e.g., authentication page with username, password for which, for security reasons, it is not possible to specifically identify which of the two fields is in error).
", + "exception":"When it is impossible to specifically identify the field in error (e.g., authentication page with username, password for which, for security reasons, it is not possible to specifically identify which of the two fields is in error), the criterion is compliant.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections", "priority": "P2", @@ -151,7 +152,7 @@ "3.3.3 AA" ], "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", - "exception":"The criterion is not applicable if it's impossible to make a suggestion to correct.", + "exception":"If it's impossible to make a suggestion to correct, the criterion is not applicable.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections", "priority": "P3", @@ -166,8 +167,9 @@ "wcag": [ "3.3.7 A" ], - "verifier": "In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient.
The criterion is also compliant for following exceptions:
In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient.
", "complement":"Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address)
", + "exception":"Check that no step in an login/password authentication process relies on a cognitive test, unless that step provides:
Since memorizing a login and password is a cognitive test, to satisfy the criterion, the copy/paste function must be allowed on these fields or the login and password must be filled in automatically (e.g., password manager).
", + "exception": "", "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -203,6 +206,7 @@ "3.3.9 AAA" ], "verifier": "Check that no step in an authentication process with a two-factor system (2FA) relies on a cognitive test, unless this step allows:
The proposed authentication process meets criterion 3.3.8 or 3.3.9, which means it does not rely on a cognitive test (e.g., memorizing or entering a login and password that must be copied without error, reproducing a gesture pattern on a touch screen, solving a puzzle).
", + "exception": "", "complement": "A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -221,6 +225,7 @@ "3.3.9 AAA" ], "verifier": "Verify that when an authentication pathway includes a CAPTCHA, an alternative method that does not rely on a cognitive test (e.g., memorizing, copying a word, recognizing an image given by the website) is offered. Note: Object recognition or identification of non-textual personal content is permitted.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
In the authentication process, do not use methods based on:
In the case of a hidden password, provide the option of displaying the characters entered in plain text.
", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/forms/#accessible-authentication", @@ -268,7 +273,7 @@ ], "verifier": "hn
, role='heading'
)This criterion does not require the use of a title, if no title is present this criterion is not applicable.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -283,7 +288,7 @@ ], "verifier": "This criterion does not require the use of a title, if no title is present this criterion is not applicable.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -338,7 +343,8 @@ "wcag": [ "3.1.2 AA" ], - "verifier": "Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, it is not necessary to indicate a change of language.
", + "verifier": "Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, do not indicate a change of language.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", "priority": "P3", "resultatTest": "nt", @@ -380,8 +386,8 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "Check that image and graphics elements (img
, input
/ object type='image'
, embed
, canvas
) are not used to present text.
The criterion is compliant for following exceptions:
img
, input
/ object type='image'
, embed
, canvas
) are not used to present text.Not applicable if there is no image containing text
", + "exceptions": "Check that the value of the title
attribute describes the content or the purpose of the iframe
or frame
element.
frame
or iframe
does not need a title
. title
is not required if the content of the iframe
is not distinct from the surrounding content and does not have a focusable element inside, and there is an added tabindex='- 1'
on the iframe
so that it does not receive the focus.frame
or iframe
does not need a title
. title
is not required if the content of the iframe
is not distinct from the surrounding content and does not have a focusable element inside, and there is an added tabindex='- 1'
on the iframe
so that it does not receive the focus.24 CSS pixels
: contrast ratio 4.5:124 CSS pixels
: contrast ratio 3:118.5 CSS pixels
: contrast ratio 4.5:118.5 CSS pixels
: contrast ratio 3:1Logos or all purely decorative elements.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#provide-enough-contrast-between-front-and-background-colors", "priority": "P1", "resultatTest": "nt", @@ -485,7 +491,7 @@ "1.4.11 AA" ], "verifier": "Check that as well as graphics, icons and graphic interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exception": "The criterion is not applicable for followinf cases:Check that colour is not the only means of conveying the information:
Particular case of non-underlined links in text:
Check that colour is not the only means of conveying the information:
Remarks:
Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text, an alternative or an explicit message.
Examples of non-conformities:
Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text, an alternative or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#do-not-use-colour-or-sensory-characteristics-as-the-unique-source-of-information", "priority": "P2", "resultatTest": "nt", @@ -529,8 +533,7 @@ "wcag": [ "2.5.3 A" ], - "verifier": "Check that the text of the displayed label (the textual description or the text of the image visible on the screen) is present in the accessible name of this component (to find out more: The accessible name in HTML )
", - "exception":"The criterion is not applicable if no interface component has a visible text label (icon without text, for example).", + "verifier": "Check that the text of the displayed label (the textual description or the text of the image visible on the screen) is present in the accessible name of this component (to find out more: The accessible name in HTML )
\nNot applicable, if no interface component has a visible text label (icon without text, for example)
", "complement": "For example: for a 'start' link, use an aria-label
'start playing', but not 'begin playing'
Users should be able to determine, with the help of the context, if they want to follow a link to understand his destination.
He link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link. These cases are therefore not to be taken into account.
", "complement": "The context of the link constitutes additional information that helps the user understand the purpose. check that this additional information is located either:
p
)li
)td
)th
), associated with the cell of the link (td
)The user must be able to understand the destination of links even taken out of their context.
The link is ambiguous for any user or the context of the page does not make it possible to understand the destination of the link. Therefore, these cases are not applicable.
", "complement": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "", @@ -603,7 +606,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
If the accessible name is missing, consider invalidating criterion 4.1.2 A 'Are all user interface components (native or custom controls) compatible with assistive technologies?' (testID-066)
", + "verifier": "The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
If the accessible name is missing, consider invalidating criterion 4.1.2 A 'Are all user interface components (native or custom controls) compatible with assistive technologies?' (testID-066)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessibles", "priority": "P1", "resultatTest": "nt", @@ -658,7 +661,7 @@ "1.4.13 AA" ], "verifier": "Content on hover or focus:
title
attribute.title
attribute.Check that one of the conditions below is met:
Check that one of the conditions below is met:
When using any interactive component, check that there is no context change when taking focus or when hovering the mouse on an element. This is to ensure that this type of interaction has predictable results (classic behavior, expected by the user).
", - "exception": "The criterion is not applicable if when the focus is taken the context does not change. For example the appearance of a menu on focus or even the visual modification when hovering a link are not changes of context.", - "complement": "A major change in the content of the web page, when done without the knowledge of the user, can be confusing.
Change of context includes modifications of:
The context switch is compliant if:
When using any interactive component, check that there is no context change when taking focus or when hovering the mouse on an element. This is to ensure that this type of interaction has predictable results (classic behavior, expected by the user).
The criterion is not applicable if when the focus is taken the context does not change. For example the appearance of a menu on focus or even the visual modification when hovering a link are not changes of context.
", + "complement": "A major change in the content of the web page, when done without the knowledge of the user, can be confusing.
Change of context includes modifications of:
The context switch is compliant if:
Check the absence of context change, without prior warning of the user, when modifying the parameter of any interactive component.
Modifying a parameter can be, for example, checking a checkbox, entering content in a text field, selecting an option in a form control, all of this must have predictable results (classic behavior, expected by the user) but the activation of a link or of a button is not a parameter change.
The context switch is compliant if:
A major change in the content of the web page which, when done without the knowledge of the user, can be confusing.
The changes context include changes:
The activation of a link or button is not a parameter change.
", + "verifier": "Check the absence of context change, without prior warning of the user, when modifying the parameter of any interactive component. Modifying a parameter can be, for example, checking a checkbox, entering content in a text field, selecting an option in a form control, all of this must have predictable results (classic behavior, expected by the user) but the activation of a link or of a button is not a parameter change.
", + "complement": "A major change in the content of the web page which, when done without the knowledge of the user, can be confusing.
The changes context include changes:
The context switch is compliant if:
Check that at least 2 of the following mechanisms are present on the page, to allow a user to determine their location on the website:
\nwhen there is less than 3 or 4 pages and/or the content is short, this criterion is not applicable.
Check that at least 2 of the following mechanisms are present on the page, to allow a user to determine their location on the website:
\nExcept if the Web Page is the result of, or a step in a process.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#provide-multiple-access-and-location", "priority": "P3", "resultatTest": "nt", @@ -762,8 +764,7 @@ "wcag": [ "2.2.2 A" ], - "verifier": "If content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency.
", - "exception": "The criterion is not applicable if there is no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically.", + "verifier": "If content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.< /p>
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency .
Not applicable, if no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#allowing-animations-control", "priority": "P3", "resultatTest": "nt", @@ -791,9 +792,9 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Check that for each display mode or orientation (portrait/landscape), if one or more help mechanisms are proposed, they must always be located in the same place and in the same relative order on all pages.
The criterion is also compliant for following cases:
Check that for each display mode or orientation (portrait/landscape), if one or more help mechanisms are proposed, they must always be located in the same place and in the same relative order on all pages.
", "complement": "Criteria is not applicable for tooltips generated by the user agent (for example, that of the title
attribute)
title
attribute)Criteria is not applicable for tooltips generated by the user agent (for example, that of the title
attribute)
Criteria is not applicable:
title
attribute)accesskey
or a modifier key (non-printable character key, for instance Ctrl, Alt or Shift).",
+ "exception": "Keyboard shortcuts that include accesskey
or a modifier key are not affected (non-printable character key, for instance Ctrl, Alt or Shift).
The presence of shortcuts can be detected using this keyboard shorcuts bookmarklet
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P3", @@ -913,7 +914,7 @@ "1.4.10 AA" ], "verifier": "Content is presented without loss of information or functionality on the 320px wide window, without the need to scroll horizontally across the page.
Compliant if a horizontal scrollbar is present but its use is not necessary to access informative content or utilize features.
", - "exception": "The criterion is not applicable for some content requiring both dimensions to be understandable such as images, maps, presentations, data tables, games…", + "exceptions": "Some content requiring both dimensions to be understandable such as images, maps, presentations, data tables, games…
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/layout/#use-relative-size-to-allow-changing-text-size-and-responsive-design", "priority": "P3", "resultatTest": "nt", @@ -1014,7 +1015,7 @@ "2.5.8 AA" ], "verifier": "Verify that each interactive element meets the minimum target size of 24*24 CSS pixels in all display conditions (zoom, viewport size, etc.).
The criterion is also compliant for the following exceptions:
Not applicable if:
It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g.: single taps and clicks, double-taps and clicks):
'mousedown'
or 'touchstart'
event (as soon as you touch or press an element) and that it is possible to abort the action by lifting the pointer outside that element.The criterion is also compliant if the action initiated by the 'mousedown'
or 'touchstart'
is essential for the intended use: for example, emulating a keyboard or numeric keypad, a virtual piano.
It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g.: single taps and clicks, double-taps and clicks):
Interactions that emulate a keyboard or a numeric keypad are allowed to implement actions on down-events.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#allow-to-cancel-the-triggering-of-gestural-interactions", "priority": "P1", "resultatTest": "nt", @@ -1060,7 +1062,7 @@ "2.5.4 A" ], "verifier": "The motion is essential for the function (e.g.: pedometer)
", "group": "Touch Screen", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#offer-an-alternative-to-complex-gestures", "priority": "P1", @@ -1076,7 +1078,7 @@ "2.5.7 AA" ], "verifier": "Drag-and-drop functionality must have an alternative that does not require the dexterity specific to this type of movement (single pointing action).
", - "exception": "The criterion is not applicable for following cases:The criterion is not applicable:
This criterion only targets actions for which only the start and end points are taken into account (dragging and then dropping a ticket in a Kanban board for example) and does not take into account so-called “multi- points”, covered in the criterion “WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?”
", "group": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#offer-an-alternative-to-complex-gestures", @@ -1094,7 +1096,7 @@ "1.3.4 AA" ], "verifier": "Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", - "exception": "The criterion is not applicable if an orientation is considered essential, examples:If an orientation is considered essential, the criterion is not applicable.
Example of display deemed essential:
Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", + "verifier": "Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", "complement": "Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", @@ -40,7 +41,7 @@ "4.1.2 A" ], "verifier": "aria-labelledby
dans le champaria-label
dans le champlabel
avec un attribut for
référençant l'id
du champtitle
dans la balise input
du champlabel
aria-label
du champaria-labelledby
du champaria-describedby
Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné d'une des techniques citées ci-dessus.
", + "complement": "Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné par une des techniques citées ci-dessus.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P1", @@ -88,8 +89,8 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "aria-labelledby
...)required
ou aria-required
Le critère est également applicable si tous les champs d'un formulaire sont obligatoires, à l'exception d'un champ optionnel. Il est alors possible d'identifier uniquement le champ optionnel selon la méthode détaillée ci-dessus.
", - "exception":"Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).", + "verifier": "aria-labelledby
...)required
ou aria-required
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P1", @@ -135,7 +136,7 @@ "3.3.1 A" ], "verifier": "Vérifier que :
Le critère est conforme s'il est impossible d'identifier précisement le champ en erreur (ex. : page d'authentification avec identifiant, mot de passe pour laquelle, pour des raisons de sécurité, on ne peut identifier précisement lequel des deux champs est en erreur).
", + "exception":"Lorsqu'il est impossible de spécifiquement identifier le champ en erreur (ex. : page d'authentification avec identifiant, mot de passe pour laquelle, pour des raisons de sécurité, on ne peut identifier spécifiquement lequel des deux champs est en erreur), le critère est conforme.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#detecter-identifier-les-erreurs-et-suggerer-des-corrections", "priority": "P2", @@ -151,7 +152,7 @@ "3.3.3 AA" ], "verifier": "Vérifier que les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction de l'erreur de saisie ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion.", + "exception":"Lorsqu'il est impossible de faire une suggestion, le critère est non applicable
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#detecter-identifier-les-erreurs-et-suggerer-des-corrections", "priority": "P3", @@ -166,8 +167,9 @@ "wcag": [ "3.3.7 A" ], - "verifier": "Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :
Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
", "complement":"Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", + "exception":"Vérifier qu'aucune étape d'un processus d'authentification par un nom d'utilisateur et un mot de passe ne repose sur un test cognitif, sauf si cette étape fournit :
La mémorisation d'un nom utilisateur et d'un mot de passe étant un test cognitif, il faut pour satisfaire le critère que la fonction de copier/coller soit autorisée sur ces champs ou que le nom d'utilisateur et le mot de passe soient remplis automatiquement (exemple : gestionnaire de mot de passe).
", + "exception": "", "complement": "Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -203,6 +206,7 @@ "3.3.9 AAA" ], "verifier": "Vérifier qu'aucune étape d'un processus d'authentification avec un système à double facteur (2FA) ne repose sur un test cognitif sauf si cette étape permet au choix :
Le processus d'authentification proposé répond au critère 3.3.8 ou 3.3.9, c'est-à-dire qu'il ne repose pas sur un test cognitif (ex : mémoriser ou saisir un identifiant et mot de passe qui doivent être recopiés sans erreur, reproduire un schéma gestuel sur un écran tactile, résoudre une énigme)
", + "exception": "", "complement": "Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -221,6 +225,7 @@ "3.3.9 AAA" ], "verifier": "Vérifier que lorsqu'un parcours d'authentification inclut un CAPTCHA, une méthode alternative qui ne repose pas sur un test cognitif (retenir, recopier un mot, reconnaitre une image donnée par le site web) est proposée. Note : la reconnaissance d'objets ou l'identification d'un contenu personnel non textuel est tolérée.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
Dans le processus d'authentification, ne pas utiliser de méthode basée sur :
Dans le cas d'un mot de passe masqué, offrir la possibilité d'afficher en clair les caractères saisis.
", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/formulaires/#authentification-accessible", @@ -268,7 +273,7 @@ ], "verifier": "hn
, role='heading'
)Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -283,7 +288,7 @@ ], "verifier": "Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -338,7 +343,8 @@ "wcag": [ "3.1.2 AA" ], - "verifier": "Vérifier qu'un attribut lang
est renseigné pour les mots et expressions en langue étrangère.
Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", + "verifier": "Vérifier qu'un attribut lang
est renseigné pour les mots et expressions en langue étrangère.
Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, ne pas indiquer de changement de langue.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", "priority": "P3", "resultatTest": "nt", @@ -380,8 +386,8 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "Vérifier que des images (img
, input
/ object type='image'
, embed
, canvas
) ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
img
, input
/ object type='image'
, embed
, canvas
) ne sont pas utilisées pour présenter du texte.Non applicable, si aucune image ne contient de texte
", + "exception": "Vérifier que la valeur des attributs title
décrit le contenu ou la fonction de iframe
ou frame
.
frame
ou iframe
non-informative masquée convenablement n'a pas besoin de title
.title
n'est pas requis si le contenu de l'iframe
n'est pas distinct du contenu environnant et n'a pas d'élément tabulable à l'intérieur, et qu'on a ajouté tabindex='- 1'
sur l'iframe
afin qu'il ne reçoive pas le focus.frame
ou iframe
non-informative masquée convenablement n'a pas besoin de title
.title
n'est pas requis si le contenu de l'iframe
n'est pas distinct du contenu environnant et n'a pas d'élément tabulable à l'intérieur, et qu'on a ajouté tabindex='- 1'
sur l'iframe
afin qu'il ne reçoive pas le focus.24 px CSS
: contraste de 4,5:124 px CSS
: contraste de 3:118,5 px CSS
: contraste de 4,5:118,5 px CSS
: contraste de 3:1Les logos ou tous les éléments purement décoratifs.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/couleurs-et-contrastes/#assurer-un-contraste-suffisant-entre-les-couleurs-de-premier-plan-et-de-fond", "priority": "P1", "resultatTest": "nt", @@ -485,7 +491,7 @@ "1.4.11 AA" ], "verifier": "Vérifier que les graphiques, les icônes et les composants interactifs graphiques ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "Le critère n'est pas applicable pour les cas suivants:Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Cas particuliers des liens non soulignés dans du texte :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Remarques :
Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite.
Exemples de non conformités :
Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte, une alternative ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par le son, l'orientation, la taille, la forme ou la position
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/couleurs-et-contrastes/#ne-pas-utiliser-la-couleur-ou-linformation-sensorielle-comme-seule-source-dinformation", "priority": "P2", "resultatTest": "nt", @@ -529,9 +533,8 @@ "wcag": [ "2.5.3 A" ], - "verifier": "Vérifier que le texte de l'étiquette affichée (le libellé textuel ou le texte de l'image visible à l'écran) est présent dans le nom accessible de ce composant (pour aller plus loin : Le nom accessible en HTML
", + "verifier": "Vérifier que le texte de l'étiquette affichée (le libellé textuel ou le texte de l'image visible à l'écran) est présent dans le nom accessible de ce composant (pour aller plus loin : Le nom accessible en HTML
\nNon applicable, si aucun composant d'interface n'a de libellé texte visible (icônes sans texte, par exemple)
", "complement": "Exemple : pour un lien « démarrer », mettre un aria-label
« démarrer la lecture », mais pas « lancer la lecture »
L'utilisateur doit savoir s'il souhaite suivre un lien avec, si besoin, le contexte pour en comprendre la destination.
Le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien. Ces cas ne sont donc pas à prendre en compte.
", "complement": "Le contexte du lien représente les informations supplémentaires qui permettent de comprendre son intitulé. Vérifier que ces informations supplémentaires sont positionnées soit :
p
)li
)td
)th
), associée à la cellule du lien (td
)L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.
Le lien est ambigu pour tout utilisateur ou le contexte de la page ne permet pas de comprendre la destination du lien. Ces cas ne sont donc pas à prendre en compte.
", "complement": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "", @@ -589,7 +592,7 @@ "IDorigin": "testID-072", "wcag": [], "verifier": "Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix :
Si possible, éviter de mettre un attribut `title` incluant la mention \"nouvelle fenêtre\" du fait de sa faiblesse robustesse parmi les aides techniques.
", + "complement": "Si possible, éviter de mettre un attribut `title` incluant la mention \"nouvelle fenêtre\" du fait de sa faiblesse robustesse parmi les aides techniques
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#prevenir-lutilisateur-de-louverture-dune-nouvelle-fenetre", "priority": "", "resultatTest": "nt", @@ -603,7 +606,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "L'utilisateur doit connaitre la fonction d'un bouton grâce à son intitulé. Vérifier que l'action portée par le nom accessible de chaque bouton est pertinente.
En cas d'absence de nom accessible, penser à invalider le critère 4.1.2 A \"Les composants d'interfaces (natifs ou personnalisés) sont-ils interprétés par les technologies d'assistance ?
", + "verifier": "L'utilisateur doit connaitre la fonction d'un bouton grâce à son intitulé. Vérifier que l'action portée par le nom accessible de chaque bouton est pertinente.
En cas d'absence de nom accessible, penser à invalider le critère 4.1.2 A \"Les composants d'interfaces (natifs ou personnalisés) sont-ils interprétés par les technologies d'assistance ?\" (testID-066)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P1", "resultatTest": "nt", @@ -658,7 +661,7 @@ "1.4.13 AA" ], "verifier": "Le contenu apparaissant au focus ou survol :
title
.title
.Vérifier qu'une des conditions ci-dessous est respectée :
Vérifier qu'une des conditions ci-dessous est respectée :
Lors de l'utilisation de tout composant interactif, vérifier l'absence de changement de contexte lors de la prise de focus ou au survol souris d'un élément. Il s'agit de s'assurer que ce type d'interaction à des résultats prédictibles (comportement classique, attendu par l'utilisateur).
", - "exception": "Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.", + "verifier": "Lors de l'utilisation de tout composant interactif, vérifier l'absence de changement de contexte lors de la prise de focus ou au survol souris d'un élément. Il s'agit de s'assurer que ce type d'interaction à des résultats prédictibles (comportement classique, attendu par l'utilisateur).
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", "complement": "Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
Vérifier l'absence de changement de contexte, sans avertissement préalable de l'utilisateur, lors de la modification de paramètre de tout composant interactif.
La modification d'un paramètre peut être, par exemple, cocher une case, la saisie de contenu dans un champ de texte, la sélection d'une option dans un contrôle de formulaire, tout cela doit avoir des résultats prédictibles (comportement classique, attendu par l'utilisateur)
Le changement de contexte est conforme si :
Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
L'activation d'un lien ou d'un bouton n'est pas une modification de paramètre.
", + "verifier": "Vérifier l'absence de changement de contexte, sans avertissement préalable de l'utilisateur, lors de la modification de paramètre de tout composant interactif. La modification d'un paramètre peut être, par exemple, cocher une case, la saisie de contenu dans un champ de texte, la sélection d'une option dans un contrôle de formulaire, tout cela doit avoir des résultats prédictibles (comportement classique, attendu par l'utilisateur) mais l'activation d'un lien ou d'un bouton n'est pas une modification de paramètre.
", + "complement": "Changement majeur dans le contenu de la page Web qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
Le changement de contexte est conforme si :
Vérifier qu'au moins 2 des mécanismes listés ci-dessous sont présents sur la page, pour permettre à un utilisateur de se situer au sein d'un site :
Lorsque le nombre de pages est inférieur à 3 ou 4 et/ou le contenu succinct, ce critère est non applicable.
\nVérifier qu'au moins 2 des mécanismes listés ci-dessous sont présents sur la page, pour permettre à un utilisateur de se situer au sein d'un site :
Sauf pour une page résultat ou étape d'un processus à étapes.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#fournir-des-acces-multiples-et-une-localisation", "priority": "P3", "resultatTest": "nt", @@ -762,8 +764,7 @@ "wcag": [ "2.2.2 A" ], - "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
", - "exception": "e critère est non-applicable si aucun mouvement, pas défilement, pas de clignotement et pas de mise à jour ou rafraichissement automatique qui durent plus de 5 secondes ou démarre automatiquement.", + "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
Non applicable, si aucun mouvement, pas défilement, pas de clignotement et pas de mise à jour ou rafraichissement automatique qui durent plus de 5 secondes ou démarre automatiquement
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#permettre-le-controle-des-animations", "priority": "P3", "resultatTest": "nt", @@ -791,9 +792,9 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Pour chaque mode d'affichage ou orientation (portrait/paysage), si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit et dans le même ordre relatif sur toutes les pages.
Le critère est également conforme dans les cas suivants :
Pour chaque mode d'affichage ou orientation (portrait/paysage), si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit et dans le même ordre relatif sur toutes les pages.
", "complement": "title
)Le critère est non applicable :
title
)accesskey
ni aux raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).",
+ "exception": "Ne sont pas concernés les accesskey
et les raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).
La présence de raccourcis peut être détectée en utilisant ce bookmarklet raccourcis clavier
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisaateur-garde-le-controle-lors-des-interactions", "priority": "P3", @@ -913,7 +914,7 @@ "1.4.10 AA" ], "verifier": "Le contenu est présenté sans perte d'informations ni de fonctionnalités sur la fenêtre réduite à 320px de large, sans nécessité de défiler horizontalement sur la page
Conforme si une barre de défilement horizontale est présente mais que son utilisation n'est pas nécessaire pour accéder au contenu informatif ou utiliser les fonctionnalités de la page.
", - "exception": "Le critère est non-applicable pour des contenus nécessitant les deux dimensions pour être compréhensibles comme des images, cartes, présentations, tableaux de données, jeux….", + "exception": "Certains contenus nécessitant les deux dimensions pour être compréhensibles comme des images, cartes, présentations, tableaux de données, jeux….
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/mise-en-page/#utiliser-des-tailles-relatives-et-faire-du-web-adaptatif", "priority": "P3", "resultatTest": "nt", @@ -1014,7 +1015,7 @@ "2.5.8 AA" ], "verifier": "Vérifier que chaque élément interactif respecte la surface minimale de 24*24 px CSS dans toutes les conditions d'affichage (zoom, taille de viewport, etc).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
'mousedown'
ou 'touchstart'
(dès qu'on touche ou qu'on presse un élément) et qu'il soit possible d'annuler en relâchant le pointeur en dehors de l'élément déclencheur.Le critère est également conforme si l'action initiée par le 'mousedown'
ou 'touchstart'
est essentielle à l'usage prévu : par exemples l'émulation d'un clavier ou d'un pavé numérique, un piano virtuel.
Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
Les interactions émulant un clavier ou un pavé numérique sont autorisées à implémenter des actions sur les évènements descendant ('down event').
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#permettre-dannuler-le-declenchement-des-interactions", "priority": "P1", "resultatTest": "nt", @@ -1060,7 +1062,7 @@ "2.5.4 A" ], "verifier": "Le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre)
", "group": "Tactile", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#proposer-une-alternative-aux-gestuelles-complexes", "priority": "P1", @@ -1076,7 +1078,7 @@ "2.5.7 AA" ], "verifier": "Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "exception": "Le critère est non applicable dans les cas suivants :Le critère est non applicable :
Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", "group": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#proposer-une-alternative-aux-gestuelles-complexes", @@ -1094,7 +1096,7 @@ "1.3.4 AA" ], "verifier": "Vérifier que le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'éléments tronqués).
", - "exception" : "Le critère est non-applicable si une orientation est jugé essentielle, exemples :Si une orientation est jugé essentielle, le critère est non-applicable.
Exemple d'affichage jugé essentiel :
All labels are properly linked to their fields
", "group": "Input screen", "resultatTest": "nt", "priority": "P0", diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index 3eae256..39d9415 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -39,7 +39,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "Toutes les étiquettes sont bien liées à leurs champs", + "verifier": "Toutes les étiquettes sont bien liées à leurs champs
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 13d1580..1223acc 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -39,7 +39,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "All labels are properly linked to their fields", + "verifier": "All labels are properly linked to their fields
", "group": "Form field", "resultatTest": "nt", "priority": "P0", From 73ef4eaaa8b9899013bd85c192108c77daf68a61 Mon Sep 17 00:00:00 2001 From: Pierre-Yves AyoulCheck that:
When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", + "exception": "When the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", "group": "Input screen", "resultatTest": "nt", @@ -24,6 +24,7 @@ "2.4.6 AA" ], "verifier": "Check that the accessible name of each input field is relevant.
", + "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", "group": "Input screen", "resultatTest": "nt", "priority": "P0", @@ -35,9 +36,11 @@ "ID": "testID-072", "IDorigin": "testID-072", "wcag": [ - "1.3.1 A" + "1.3.1 A", + "4.1.2 A" ], - "verifier": "All labels are properly linked to their fields
", + "verifier": "Using screen reader or voice control, check that all labels are properly linked to their fields
", + "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password)
", + "exception": "The criterion is not applicable if the mandatory nature of a field is obvious, then the visual element is optional (eg: search field, subscription to a newsletter, username / password).", "group": "Input screen", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", "resultatTest": "nt", @@ -122,29 +125,16 @@ }, { "themes": "Input screen", - "title": "Are the fields that are in error identified?", + "title": "Are the form fields in error identifiable and explicit?", "ID": "testID-006", "IDorigin": "testID-006", "wcag": [ "3.3.1 A" ], - "verifier": "Check that the field that is in error is modified (e.g. by inserting an error message into the page prefixed by the word 'error ', by the use of an error-icon, field change to red color and aspect)
", - "group": "Input screen", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false - }, - { - "themes": "Input screen", - "title": "Are the error messages explicit?", - "ID": "testID-007", - "IDorigin": "testID-007", - "wcag": [ - "3.3.1 A" - ], - "verifier": "Check that an error message is present visually, and that it allows the field in error to be precisely identified and the nature of the error to be understood.
", - "group": "Input screen", + "verifier": "Fields with errors are visually identifiable:
The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)
", + "complement": "It is also possible to complement the textual information with the addition of an icon, color change, etc.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", + "group": "Input screen", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -158,7 +148,7 @@ "3.3.3 AA" ], "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", - "exception":"If it's impossible to make a suggestion to correct, the criterion is not applicable.
", + "exception":"The criterion is not applicable if it's impossible to make a suggestion to correct (example: safety reason).
", "group": "Input screen", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", "resultatTest": "nt", @@ -167,15 +157,14 @@ }, { "themes": "Input screen", - "title": "If information is requested from the user in the same process, isn't entering it redundant?", + "title": "If an information is requested several times from the user in the same process, isn't entering it redundant?", "ID": "testID-073", "IDorigin": "testID-073", "wcag": [ "3.3.7 A" ], - "verifier": "In a data entry screen in several steps and in the same session, an automatic filling system must be offered to the user to restore information previously entered or provided by the application while knowing that autocomplete is not considered sufficient.
", - "complement": "Examples of valid mechanisms: automatic feeding, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data ( billing address equals delivery address)
", - "exception": "In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient.
The criterion is also compliant for following exceptions:
Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address)
", "group": "Input screen", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", "resultatTest": "nt", @@ -191,7 +180,7 @@ "wcag": [ "3.3.4 AA" ], - "verifier": "For input screen that:
the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
>", + "verifier": "For form field that: :
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", "group": "Input screen", "resultatTest": "nt", "priority": "P0", @@ -566,7 +555,7 @@ "2.5.7 AA" ], "verifier": "Drag-and-drop functionality should have an alternative that does not require the dexterity specific to this type of movement (single-pointing action).
", - "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\"
", + "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging then dropping a ticket in a Kanban board for example ) and does not take into account so-called \"multi-point\" actions, covered by criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\"
", "exception": "The criterion is not applicable:
Check that:
There are two exceptions to this rule:
Check that each interactive element meets the minimum area of 48dp (Google recommendations) in all display conditions (zoom, orientation).
The criterion is also compliant for the following exceptions:
Criterion not applicable if:
Check that if one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", - "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc) p>", + "complement": "
Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", "exception": "
The user initiated a change in the presentation of the help following the use of zoom or orientation.
", "resultatTest": "nt", "priority": "P1", @@ -684,8 +673,8 @@ "3.2.1 A", "3.2.2 A" ], - "verifier": "When using forms or any interactive component, check that there is no change of context, without warning the user:
Major change in the content of the screen which, when done without the knowledge of the user, can be confusing.
The changes context include changes:
When using forms or any interactive component, check that there is no change of context :
Context change is compliant if:
Major change in the screen content that, when done without the user's knowledge, can be disorienting.
Context changes include changes in:
Vérifier que :
Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", + "exception": "Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (exemple : champ de recherche accompagné d'un bouton en forme de loupe, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", + "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false @@ -25,6 +25,7 @@ "2.4.6 AA" ], "verifier": "Vérifier que l'étiquette de chaque champ est pertinente.
", + "complement": "Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", @@ -37,9 +38,11 @@ "ID": "testID-072", "IDorigin": "testID-072", "wcag": [ - "1.3.1 A" + "1.3.1 A", + "4.1.2 A" ], - "verifier": "Toutes les étiquettes sont bien liées à leurs champs
", + "verifier": "À l'aide du lecteur d'écran ou du contrôle vocal, vérifier que toutes les étiquettes sont bien liées à leurs champs.
", + "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Vérifier que les champs sont regroupés lorsque nécessaire, par exemple :
RadioButton
, l'utilisation de la propriété RadioGroup
étant nécessaireCheckbox
Les champs de même nature sont regroupés, par exemple :
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", + "exception":"Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", "priority": "P1", @@ -132,28 +135,13 @@ "wcag": [ "3.3.1 A" ], - "verifier": "Vérifier que les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction de l'erreur de saisie ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Lorsqu'il est impossible de faire une suggestion, le critère est non applicable
", + "verifier": "Les champs en erreur sont visuellement identifiables:
La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)
", + "complement":"Il est également possible de compléter l'information textuelle par l'ajout d'un picto, changement de couleur, etc.
", "group": "Écran de saisie", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, - { - "themes": "Écran de saisie", - "title": "Les messages d'erreur sont-ils explicites ?", - "ID": "testID-007", - "IDorigin": "testID-007", - "wcag": [ - "3.3.1 A" - ], - "verifier": "Vérifier qu'un message d'erreur est présent visuellement, qu'il permet d'identifier explicitement le champ en erreur et de comprendre la nature de l'erreur.
", - "group": "Écran de saisie", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false - }, { "themes": "Écran de saisie", "title": "En cas d'erreur, est-ce qu'une suggestion de correction est proposée à l'utilisateur ?", @@ -162,7 +150,8 @@ "wcag": [ "3.3.3 AA" ], - "verifier": "Vérifier que les messages d'erreurs donnent les informations nécessaires à la correction des saisies.
", + "verifier": "Les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction des erreurs ou en faisant des suggestions parmi une liste limitée de valeurs.
", + "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion (exemple: pour des questions de sécurité).
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", "resultatTest": "nt", @@ -171,15 +160,14 @@ }, { "themes": "Écran de saisie", - "title": "Si une information est demandé à l'utilisateur dans un même processus, sa saisie n'est-elle pas redondante ?", + "title": "Si une information est demandé plusieurs fois à l'utilisateur dans un même processus ou session, sa saisie n'est-elle pas redondante ?", "ID": "testID-073", "IDorigin": "testID-073", "wcag": [ "3.3.7 A" ], - "verifier": "Dans un écran de saisi de données en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par le l'application tout en sachant que l'autocomplete n'est pas jugé suffisant.
", + "verifier": "Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :
Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", - "exception":"Pour les champs de saisie avec :
l'utilisateur peut modifier ou annuler avant et après validation sauf si la validation est explicite (avec une case à cocher par exemple).
", + "verifier": "Pour les champs de saisie avec :
Vérifier que l'utilisateur peut modifier ou annuler avant et après validation, sauf si celle-ci est explicitement confirmée (par exemple avec une case à cocher \"Je confirme que je souhaite supprimer ces données\").
", "group": "Écran de saisie", "resultatTest": "nt", "priority": "P0", @@ -569,7 +557,7 @@ "2.5.7 AA" ], "verifier": "Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", + "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de \"multi-points\", couvertes par le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", "exception":"Le critère est non applicable :
Vérifier que :
Cette règle comporte deux exceptions :
Vérifier que chaque élément interactif respecte la surface minimale de 48dp (recommandations Google) dans toutes les conditions d'affichage (zoom, orientation).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Vérifier que si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", "resultatTest": "nt", - "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", + "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc.
", "exception":"L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "priority": "", "wcag22" : true, @@ -687,8 +675,8 @@ "3.2.1 A", "3.2.2 A" ], - "verifier": "Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Check that:
When the form field has no visible label but its role is obvious (search field accompanied by a magnifying glass button for example, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", - "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", + "exception": "When the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", + "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Check that the accessible name of each form field is relevant.
", + "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -37,9 +38,11 @@ "ID": "testID-072", "IDorigin": "testID-072", "wcag": [ - "1.3.1 A" + "1.3.1 A", + "4.1.2 A" ], - "verifier": "All labels are properly linked to their fields
", + "verifier": "Using screen reader or voice control, check that all labels are properly linked to their fields
", + "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
The visual element is optional in the event that the mandatory nature of the fields is obvious (eg: search field, subscription to a newsletter, username / password)
", + "exception": "The criterion is not applicable if the mandatory nature of a field is obvious, then the visual element is optional (eg: search field, subscription to a newsletter, username / password).", "group": "Form field", "resultatTest": "nt", "priority": "P1", @@ -126,29 +129,14 @@ }, { "themes": "Form field", - "title": "Are the form fields in error identifiable ?", + "title": "Are the form fields in error identifiable and explicit?", "ID": "testID-006", "IDorigin": "testID-006", "wcag": { "0": "3.3.1 A" }, - "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", - "exception":"If it's impossible to make a suggestion to correct, the criterion is not applicable.
", - "group": "Form field", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections" - }, - { - "themes": "Form field", - "title": "Are the error messages explicit ?", - "ID": "testID-007", - "IDorigin": "testID-007", - "wcag": { - "0": "3.3.1 A" - }, - "verifier": "Check that an error message is present visually, and that it allows the field in error to be precisely identified and the nature of the error to be understood.
", + "verifier": "Fields with errors are visually identifiable:
The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)
", + "complement": "It is also possible to complement the textual information with the addition of an icon, color change, etc.
", "group": "Form field", "resultatTest": "nt", "priority": "P1", @@ -163,7 +151,8 @@ "wcag": { "0": "3.3.3 AA" }, - "verifier": "Check that the error messages give the information necessary about how to correct the errors.
", + "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", + "exception":"The criterion is not applicable if it's impossible to make a suggestion to correct (example: safety reason).
", "group": "Form field", "resultatTest": "nt", "priority": "P3", @@ -172,15 +161,14 @@ }, { "themes": "Form field", - "title": "If information is requested from the user in the same process, isn't entering it redundant?", + "title": "If an information is requested several times from the user in the same process, isn't entering it redundant?", "ID": "testID-064", "IDorigin": "testID-064", "wcag": { "0": "3.3.7 A" }, - "verifier": "In a multi-step form and in the same session, an automatic completion system must be offered to the user to return information previously entered or provided by the application, knowing that automatic completion is not considered sufficient.
", - "complement": "Examples of valid mechanisms: automatic feeding, choice in a drop-down list, copy-paste from an area, checkbox to resume previously entered data ( billing address equals shipping address).
", - "exception": "In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient.
The criterion is also compliant for following exceptions:
Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address)
", "group": "Form field", "resultatTest": "nt", "priority": "P3", @@ -195,7 +183,7 @@ "wcag": { "0": "3.3.4 AA" }, - "verifier": "For form field that: :
the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", + "verifier": "For form field that: :
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -366,7 +354,7 @@ "wcag": { "0": "3.2.2 A" }, - "verifier": "Verify that using voice navigation, the content changes are vocalized to the user:
pop-up
) s vocalizedVerify that using voice navigation, the content changes are vocalized to the user:
pop-up
) is vocalizedDrag-and-drop functionality must have an alternative that does not require the dexterity specific to this type of movement (single point action).
", - "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging and then dropping a ticket in a Kanban board for example ) and does not take into account so-called “multi-point” actions, covered in criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\".
", + "complement": "This criterion only targets actions for which only the start and end points are taken into account, (dragging and then dropping a ticket in a Kanban board for example ) and does not take into account so-called \"multi-point\" actions, covered by criterion \"WCAG 2.5.1 - Do multi-point or path-based gestures have an alternative requiring a single pointer without a path?\".
", "exception": "The criterion is not applicable:
It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g. single taps and clicks, double-taps and clicks) :
It must be possible to cancel actions triggered by a single pointer input that operates with one point of contact with the screen (e.g. single taps and clicks, double-taps and clicks) :
The clickable or touchable area is at least ed 44pt (height AND width)
", - "exception": "Check that each interactive element meets the minimum area of 44pt (Apple recommendations) in all display conditions (zoom, orientation).
The criterion is also compliant for the following exceptions:
Criterion not applicable if:
Check that if one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", - "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc) p>", + "complement": "
Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", "exception": "
The user has initiated a change in the presentation of the help following the use of the zoom or the orientation.
", "resultatTest": "nt", "priority": "P1", @@ -679,11 +667,11 @@ "0": "3.2.1 A", "1": "3.2.2 A" }, - "verifier": "When using forms or any interactive component, check that there is no change of context :
When using forms or any interactive component, check that there is no change of context :
Context change is compliant if:
Major change in the screen content that, when done without the user's knowledge, can be disorienting.
Context changes include changes in:
Major change in screen content that, when carried out without the user's knowledge, can disorientate users who are unable to display the page in its entirety.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#content-control" }, { diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index 077ce41..e5799d3 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -8,8 +8,8 @@ "3.3.2 A" ], "verifier": "Lorsque le champ de formulaire n'a pas de libellé visible mais son rôle est évident (champ de recherche accompagné d'un bouton en forme de loupe par exemple, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", - "complement": "Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
", + "exception": "Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (exemple : champ de recherche accompagné d'un bouton en forme de loupe, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", + "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
L'étiquette de chaque champ est pertinente.
", + "complement": "Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P0", @@ -37,9 +38,11 @@ "ID": "testID-072", "IDorigin": "testID-072", "wcag": [ - "1.3.1 A" + "1.3.1 A", + "4.1.2 A" ], "verifier": "À l'aide du lecteur d'écran ou du contrôle vocal, vérifier que toutes les étiquettes sont bien liées à leurs champs.
", + "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Les champs de même nature sont regroupés, par exemple :
Les champs de même nature sont regroupés, par exemple :
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", + "exception":"Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -127,28 +130,14 @@ }, { "themes": "Champ de formulaire", - "title": "Les champs en erreur sont-ils identifiables ?", + "title": "Les champs en erreur sont-ils identifiables et explicites ?", "ID": "testID-006", "IDorigin": "testID-006", "wcag": { "0": "3.3.1 A" }, - "verifier": "Les champs en erreur sont visuellement modifiés, par exemple :
Un message d'erreur est présent visuellement et permet d'identifier explicitement les champs en erreur et de comprendre la nature des erreurs.
", + "verifier": "Les champs en erreur sont visuellement identifiables:
La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)
", + "complement":"Il est également possible de compléter l'information textuelle par l'ajout d'un picto, changement de couleur, etc.
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P1", @@ -164,7 +153,7 @@ "0": "3.3.3 AA" }, "verifier": "Les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction des erreurs ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Lorsqu'il est impossible de faire une suggestion (par exemple pour des questions de sécurité), le critère est non applicable
", + "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion (exemple : pour des questions de sécurité).
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P3", @@ -173,15 +162,14 @@ }, { "themes": "Champ de formulaire", - "title": "Si une information est demandée à l'utilisateur dans un même processus, sa saisie n'est-elle pas redondante ?", + "title": "Si une information est demandé plusieurs fois à l'utilisateur dans un même processus ou session, sa saisie n'est-elle pas redondante ?", "ID": "testID-064", "IDorigin": "testID-064", "wcag": { "0": "3.3.7 A" }, - "verifier": "Dans un formulaire en plusieurs étapes et dans une même session, un système de remplissage automatique doit être proposé à l'utilisateur pour redonner une information préalablement saisie ou fournie par l'application tout en sachant que la saisie automatique n'est pas jugé suffisant.
", - "complement":"Exemples de mécanismes valides : remplissage automatique, choix dans une liste déroulante, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (par exemple : adresse de facturation égale adresse de livraison).
", - "exception": "Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :
Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P3", @@ -196,7 +184,7 @@ "wcag": { "0": "3.3.4 AA" }, - "verifier": "Pour les champs de saisie avec :
l'utilisateur peut modifier ou annuler avant et après validation, sauf si celle-ci est explicitement confirmée (par exemple avec une case à cocher \"Je confirme que je souhaite supprimer ces données\").
", + "verifier": "Pour les champs de saisie avec :
Vérifier que l'utilisateur peut modifier ou annuler avant et après validation, sauf si celle-ci est explicitement confirmée (par exemple avec une case à cocher \"Je confirme que je souhaite supprimer ces données\").
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P0", @@ -637,7 +625,7 @@ "0": "2.5.7 AA" }, "verifier": "Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", - "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de “multi-points”, couvert dans le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\".
", + "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de \"multi-points\", couvertes par le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\".
", "exception":"Le critère est non applicable si :
Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
Les actions déclenchées au moyen d'un dispositif de pointage sur un point unique de l'écran doivent pouvoir être annulées :
La zone tactile est au moins de 44pt (hauteur ET largeur)
", - "exception":"Vérifier que chaque élément interactif respecte la surface minimale de 44pt (recommandations Apple) dans toutes les conditions d'affichage (zoom, orientation).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", - "complement": "Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc)
", + "complement": "Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc.
", "exception": "L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "resultatTest": "nt", "priority": "P1", @@ -740,11 +728,11 @@ "0": "3.2.1 A", "1": "3.2.2 A" }, - "verifier": "Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements :
Check that:
When the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", - "complement": "A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
", - "group": "Input screen", + "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Check that the accessible name of each input field is relevant.
", "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Does each form field have an accessible name?", "ID": "testID-072", "IDorigin": "testID-072", @@ -41,13 +41,13 @@ ], "verifier": "Using screen reader or voice control, check that all labels are properly linked to their fields
", "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Are the elements grouped when it is necessary, for example:
RadioButton
list, use of RadioGroup
property is necessaryCheckbox
listautofill
attribute is presentautofill
attribute is appropriate with respect to the type of information expectedVerify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:
Warning, remembering a username and password is a cognitive test.
The copy/paste function must be enabled on these fields.
If the username and password can be auto-filled, it is not considered a cognitive test.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P3", "wcag22" : true, "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Are the form fields in error identifiable and explicit?", "ID": "testID-006", "IDorigin": "testID-006", @@ -134,13 +134,13 @@ "verifier": "Fields with errors are visually identifiable:
The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)
", "complement": "It is also possible to complement the textual information with the addition of an icon, color change, etc.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "If an error is detected, is a suggestion for correction provided to the user?", "ID": "testID-008", "IDorigin": "testID-008", @@ -149,14 +149,14 @@ ], "verifier": "Check that the error messages give the information necessary about how to correct the errors, for example, with additional help facilitating the correction of the input error or by making suggestions from a limited list of values.
", "exception":"The criterion is not applicable if it's impossible to make a suggestion to correct (example: safety reason).
", - "group": "Input screen", + "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "If an information is requested several times from the user in the same process, isn't entering it redundant?", "ID": "testID-073", "IDorigin": "testID-073", @@ -165,7 +165,7 @@ ], "verifier": "In a form and during the same process or session, an autofill system for previously provided information must be offered to the user to retrieve previously entered data. Browser autocomplete is not considered sufficient.
The criterion is also compliant for following exceptions:
Examples of valid mechanisms: automatic supply, choice in a drop-down selector, copy-paste from an area, checkbox to use previously entered data (invoice address equals delivery address)
", - "group": "Input screen", + "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/form/#identify-input-errors-in-the-form", "resultatTest": "nt", "priority": "P3", @@ -173,33 +173,48 @@ "goodPractice": false }, { - "themes": "Input screen", - "title": "For each input screen requiring sensitive or personal data, does the user have control over their data?", + "themes": "Form field", + "title": "For each form field requiring sensitive or personal data, does the user have control over their data?", "ID": "testID-009", "IDorigin": "testID-009", "wcag": [ "3.3.4 AA" ], "verifier": "For form field that: :
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { "themes": "Headers", - "title": "Does the screen have a relevant title?", + "title": "Does the screen have a unique and relevant title?", "ID": "testID-010", "IDorigin": "testID-010", "wcag": [ "2.4.2 A" ], - "verifier": "Verify that :
Activity
is visible,Activity
is unique. A common error is to use the same title for the whole application,Activity
titleVerify that :
Headings should be relevant, help understand the content of the page, and accurately describe the section of content they present.
", + "exception":"The criterion is not applicable if no heading is present.", + "priority": "P1", + "resultatTest": "nt", + "goodPractice": false, + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles" + }, { "themes": "Colors and constrasts", "title": "Is there sufficient contrast between the text color and the background color (except for special cases)?", @@ -252,14 +267,15 @@ "wcag": [ "1.3.3 A" ], - "verifier": "Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", + "verifier": "Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/colors-and-contrasts/#ensure-that-color-or-sensory-information-is-not-the-only-source-of-information", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { - "themes": "Elements magnification", + "themes": "Text enlargement", "title": "Can the text be enlarged without loss of content or functionality?", "ID": "testID-017", "IDorigin": "testID-017", @@ -267,7 +283,9 @@ "1.4.4 AA", "1.4.10 AA" ], - "verifier": "Verify that there is no loss of information (no unusable, truncated or hidden content or functionality) as a result of enlarging the text size to 200%.
", + "verifier": "The criterion is not applicable for captions and images of text.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/magnification/", "resultatTest": "nt", "priority": "P2", @@ -281,7 +299,8 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Verify that all significant elements are vocalized and accessible using Voice navigation.
All significant graphical elements are vocalized and accessible using voice navigation:
Check that the label of the input fields are well associated with them through the LabelFor
attribute. The labels must therefore be vocalized when navigating the input fields with which they are associated.
Check that the linked elements are vocalized in a single block:
Elements whose visual grouping is essential for understanding the information must be grouped within the same announcement block for vocalization.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#group-the-elements", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, + { + "themes": "Voice navigation", + "title": "Are the elements presented as a list correctly rendered?", + "ID": "testID-021", + "IDorigin": "testID-021", + "wcag": { + "0": "1.3.1 A" + }, + "verifier": "Elements presented as a list form are rendered as a list or in a way that conveys a list structure.
", + "resultatTest": "nt", + "priority": "P2", + "goodPractice": false + }, { "themes": "Voice navigation", "title": "Are the section headers used in the header-based voice navigation?", @@ -340,7 +358,7 @@ "1.3.1 A", "2.4.6 AA" ], - "verifier": "Verify that with Talkback voice navigation and the header navigation setting set:
Verify that with screen reader and the header navigation mode:
Verify that using voice navigation, the content changes are vocalized to the user:
dialog
) is vocalizedContent changes are vocally communicated to the user:
dialogs
) is vocalized.For all status messages (results of a reload, a notification, dialogue in a chat, temporary or error messages, change of significant element, upload of a file, product registration in a basket, progressive loading of a list... ):
Check that element states are vocalized (tabs, checkbox, radio button, etc).
", + "verifier": "Verify that there are no ghost elements using voice navigation.
", + "verifier": "There are no phantom (invisible) elements conveyed by screen reader.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#do-not-vocalize-the-decorative-and-hidden-elements", "resultatTest": "nt", "priority": "P1", @@ -411,7 +429,7 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Check that decorative elements (such as certain images) are not vocalized.
", + "verifier": "Decorative graphic elements are not vocalized.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#do-not-vocalize-the-decorative-and-hidden-elements", "resultatTest": "nt", "priority": "P0", @@ -419,14 +437,14 @@ }, { "themes": "Voice navigation", - "title": "Does the vocalization of a text contain at least its label visible on the screen?", + "title": "Does the accessible name of each component include at least the visible label on the screen?", "ID": "testID-051", "IDorigin": "testID-051", "wcag": [ "2.5.3 A" ], "verifier": "Check that the element's label is present (first if possible) in the vocalization of this component. Not applicable if the element has no visible label (icon without text for example).
", - "complement": "For example: for a 'start' link, use an alternative 'start playing', but not 'begin playing'
", + "complement": "It is recommended to present the content of the visible label first in the accessible name. For example: for a link \"start,\" use an alternative \"start playback,\" but not \"launch playback.\"
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-all-significant-elements", "resultatTest": "nt", "priority": "P1", @@ -440,11 +458,27 @@ "wcag": [ "1.3.1 A" ], - "verifier": "If the table is a data table :
For data tables:
The screen reader changes language for textual content that does not match the primary language of the page.
", + "exception": "For words or or proper namesin foreign languages that are commonly used (e.g., Google, newsletter), it is not necessary to indicate a language change.
", + "group": "WebView", + "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", + "resultatTest": "nt", + "priority": "P3", + "goodPractice": false + }, { "themes": "Keyboard navigation and Switch Access", "title": "Is all functionality of the page content operable through a keyboard interface or Switch Access?", @@ -895,22 +929,6 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "title": "Are changes in language clearly identified?", - "ID": "testID-058", - "IDorigin": "testID-058", - "wcag": [ - "3.1.2 AA" - ], - "verifier": "This criterion can only be verified if you have access to the URL of the WebView.
Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, do not indicate a change of language.
", - "group": "WebView", - "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", - "resultatTest": "nt", - "priority": "P3", - "goodPractice": false - }, { "themes": "WebView", "title": "Is there a mechanism to navigate within the page?", diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index c00cfb3..5f56c60 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -1,7 +1,7 @@ [ { - "themes": "Écran de saisie", - "title": "Chaque champ de saisie possède-t-il une étiquette ?", + "themes": "Champ de formulaire", + "title": "Chaque champ de formulaire possède-t-il une étiquette ?", "ID": "testID-001", "IDorigin": "testID-001", "wcag": [ @@ -10,14 +10,14 @@ "verifier": "Vérifier que :
Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (exemple : champ de recherche accompagné d'un bouton en forme de loupe, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Vérifier que l'étiquette de chaque champ est pertinente.
", "complement": "Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "Chaque champ de formulaire a-t-il un nom accessible ?", "ID": "testID-072", "IDorigin": "testID-072", @@ -43,15 +43,15 @@ ], "verifier": "À l'aide du lecteur d'écran ou du contrôle vocal, vérifier que toutes les étiquettes sont bien liées à leurs champs.
", "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Les champs de même nature sont regroupés, par exemple :
Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", @@ -83,7 +83,7 @@ "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "Pour les champs nécessitant un type ou un format de données précis, ce format de données est-il indiqué clairement à l'utilisateur ?", "ID": "testID-004", "IDorigin": "testID-004", @@ -91,14 +91,14 @@ "3.3.2 A" ], "verifier": "autofill
.autofill
est pertinente au regard du type d'information attendue.Vérifier que toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P3", "wcag22" : true, "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "Les champs en erreur sont-ils identifiables ?", "ID": "testID-006", "IDorigin": "testID-006", @@ -137,13 +138,13 @@ ], "verifier": "Les champs en erreur sont visuellement identifiables:
La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)
", "complement":"Il est également possible de compléter l'information textuelle par l'ajout d'un picto, changement de couleur, etc.
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "En cas d'erreur, est-ce qu'une suggestion de correction est proposée à l'utilisateur ?", "ID": "testID-008", "IDorigin": "testID-008", @@ -152,14 +153,14 @@ ], "verifier": "Les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction des erreurs ou en faisant des suggestions parmi une liste limitée de valeurs.
", "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion (exemple: pour des questions de sécurité).
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "Si une information est demandé plusieurs fois à l'utilisateur dans un même processus ou session, sa saisie n'est-elle pas redondante ?", "ID": "testID-073", "IDorigin": "testID-073", @@ -168,7 +169,7 @@ ], "verifier": "Dans un formulaire et au cours d'un même processus ou session, un système de remplissage automatique des informations déjà fournies doit être proposé à l'utilisateur pour restituer une information préalablement saisie. L'autocompletion du navigateur n'est pas jugé suffisante.
Le critère est également conforme pour les exceptions suivantes :
Exemples de mécanismes valides : alimentation automatique, choix dans un sélecteur déroulant, copier-coller depuis une zone, case à cocher pour reprendre des données préalablement saisies (adresse de facturation égale adresse de livraison)
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", "resultatTest": "nt", "priority": "P3", @@ -176,33 +177,48 @@ "goodPractice": false }, { - "themes": "Écran de saisie", - "title": "Si l'écran de saisie est sensible, l'utilisateur a-t-il le contrôle de ses données ?", + "themes": "Champ de formulaire", + "title": "Si le champ de formulaire est sensible, l'utilisateur a-t-il le contrôle de ses données ?", "ID": "testID-009", "IDorigin": "testID-009", "wcag": [ "3.3.4 AA" ], "verifier": "Pour les champs de saisie avec :
Vérifier que l'utilisateur peut modifier ou annuler avant et après validation, sauf si celle-ci est explicitement confirmée (par exemple avec une case à cocher \"Je confirme que je souhaite supprimer ces données\").
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { "themes": "Entêtes", - "title": "Le titre de la page est-il pertinent ?", + "title": "Le titre de la page est-il unique et pertinent ?", "ID": "testID-010", "IDorigin": "testID-010", "wcag": [ "2.4.2 A" ], - "verifier": "Vérifier que :
Activity
est renseigné,Activity
est unique. Une erreur courante est d'utiliser un même titre pour l'ensemble de l'application.Activity
permet à l'utilisateur de comprendre le contexte de la page.Les entêtes doivent être pertinentes, aider à comprendre le contenu de la page et décrire précisement la section de contenu qu'elles présentent.
", + "exception":"Le critère est non-applicable si aucune entête n'est présente.", + "priority": "P1", + "resultatTest": "nt", + "goodPractice": false, + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles" + }, { "themes": "Couleurs et contrastes", "title": "Le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé (hors exceptions) ?", @@ -255,14 +271,15 @@ "wcag": [ "1.3.3 A" ], - "verifier": "Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "verifier": "Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/couleurs-et-contrastes/#sassurer-que-la-couleur-ou-linformation-sensorielle-ne-sont-pas-les-seules-sources-dinformation", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { - "themes": "Agrandissement des éléments", + "themes": "Agrandissement de texte", "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", "ID": "testID-017", "IDorigin": "testID-017", @@ -270,7 +287,9 @@ "1.4.4 AA", "1.4.10 AA" ], - "verifier": "Vérifier l'absence de perte d'information (pas de contenu ou de fonctionnalité inutilisable, tronqué ou masqué) suite à l'agrandissement de la taille du texte à 200%.
", + "verifier": "Critère non-applicable pour les sous-titres et textes sous forme d'image.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/agrandissement/", "resultatTest": "nt", "priority": "P2", @@ -284,7 +303,8 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Vérifier que tous les éléments signifiants sont vocalisés et accessibles en utilisant la navigation vocale.
ImageButton
qui n'ont pas de texte initialement).Tous les éléments graphiques signifiants sont vocalisés et accessibles en utilisant la navigation vocale :
Vérifier que le libellé des champs de saisie sont bien associés à ceux-ci par le biais de l'attribut LabelFor
. Les libellés doivent ainsi être vocalisés lorsqu'on navigue sur les champs de saisie avec lesquels ils sont associés.
Les éléments, dont le regroupement visuel est primordial pour comprendre l'information, doivent être groupés au sein d'un même bloc d'annonce pour la vocalisation.
", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#regrouper-les-elements", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { "themes": "Navigation vocale", - "title": "Les éléments reliés sont-ils groupés au sein d'un même bloc d'annonce pour la vocalisation ?", - "ID": "testID-020", - "IDorigin": "testID-020", - "wcag": [ - "1.3.1 A", - "1.3.2 A" - ], - "verifier": "Vérifier que les éléments liés sont vocalisés en un seul bloc :
Les éléments présentés sous forme de liste sont restitués en tant que liste ou de manière à comprendre une structure de liste.
", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { "themes": "Navigation vocale", - "title": "Les entêtes de section sont-ils exploités lors de la navigation vocale par entête ? ", + "title": "Les titres ou entêtes sont-ils exploités lors de la navigation vocale par entête ? ", "ID": "testID-022", "IDorigin": "testID-022", "wcag": [ "1.3.1 A", "2.4.6 AA" ], - "verifier": "Vérifier qu'avec la navigation vocale Talkback et le paramètre de navigation par entête défini :
À l'aide de la navigation vocale et en mode de navigation par entête :
Vérifier qu'avec la navigation vocale, les changements de contenu sont restitués vocalement à l'utilisateur :
dialogs
) est vocaliséeLes changements de contenu sont restitués vocalement à l'utilisateur :
dialogs
) est vocaliséePour tous les messages de status (résultats d'une recherche, messages d'erreurs ou temporaires, une notification, changement d'un élément significatif, dialogue dans un chat, upload d'un fichier, enregistrement produit dans un panier, chargement progressif d'une liste...) :
Vérifier que les états des éléments sont vocalisés (onglets, case à cocher, bouton radio, etc).
", + "verifier": "Vérifier qu'il n'y a aucun élément fantôme avec la navigation vocale.
", + "verifier": "Il n'y a aucun élément fantôme (non-visible) restitué par le lecteur d'écran.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#ne-pas-vocaliser-les-elements-decoratifs-et-caches", "resultatTest": "nt", "priority": "P1", @@ -414,7 +432,7 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Vérifier que les éléments décoratifs (comme certaines images) ne sont pas vocalisés.
", + "verifier": "Les éléments graphiques décoratifs ne sont pas vocalisés.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#ne-pas-vocaliser-les-elements-decoratifs-et-caches", "resultatTest": "nt", "priority": "P0", @@ -422,15 +440,15 @@ }, { "themes": "Navigation vocale", - "title": "La vocalisation d'un élément textuel contient-il au minimum le libellé visible à l'écran pour ce même élément ? ", + "title": "Le nom accessible de chaque composant contient-il au minimum le libellé visible à l'écran ?", "ID": "testID-051", "IDorigin": "testID-051", "wcag": [ "2.5.3 A" ], - "verifier": "Vérifier que le libellé de l'élément est présent (en premier si possible) dans la vocalisation de ce composant. Non applicable si l'élément n'a pas de libellé visible (icône sans texte par exemple).
", - "complement": "Exemple : pour un lien « démarrer », mettre une alternative « démarrer la lecture », mais pas « lancer la lecture »
", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-tous-les-elements-signifiants", + "verifier": "Le libellé visible de l'élément est présent dans la vocalisation de ce composant.
", + "complement": "Il est recommandé de restituer le contenu du libellé visible en premier dans le nom accessible. Exemple : pour un lien \"démarrer\", mettre une alternative \"démarrer la lecture\", mais pas \"lancer la lecture\"
", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-tous-les-elements-signifiants", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -442,11 +460,27 @@ "wcag": [ "1.3.1 A" ], - "verifier": "Si le tableau est un tableau de données :
Pour les tableaux de données :
Le lecteur d'écran change de langue pour les contenus textuels dont la langue ne correspond pas à la langue principale de la page
", + "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", + "group": "WebView", + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", + "resultatTest": "nt", + "priority": "P3", + "goodPractice": false + }, { "themes": "Navigation au clavier et Switch Access", "title": "Les fonctionnalités de l'écran sont-elles utilisables avec Switch Access ou avec un clavier ?", @@ -897,22 +931,6 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "title": "Les changements de langues sont-ils indiqués ?", - "ID": "testID-058", - "IDorigin": "testID-058", - "wcag": [ - "3.1.2 AA" - ], - "verifier": "Ce critère ne peut être vérifié que si on a accès à l'URL de la WebView.
Vérifier qu'un attribut lang
est renseigné pour les mots et expressions en langue étrangères.
Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, ne pas indiquer de changement de langue.
", - "group": "WebView", - "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", - "resultatTest": "nt", - "priority": "P3", - "goodPractice": false - }, { "themes": "WebView", "title": "Un mécanisme pour naviguer au sein de la WebView est-il présent ?", diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 6050a90..3e89943 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -51,7 +51,7 @@ }, { "themes": "Form field", - "title": "Are the form elements grouped where it is necessary? ?", + "title": "Are the form elements grouped where it is necessary?", "ID": "testID-002", "IDorigin": "testID-002", "wcag": { @@ -82,22 +82,6 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/" }, - { - "themes": "Form field", - "title": "Can the user authenticate without using a cognitive-based test?", - "ID": "testID-063", - "IDorigin": "testID-063", - "wcag": { - "0": "3.3.8 AA" - }, - "verifier": "Verify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:
Warning, remembering a username and password is a cognitive test.
The copy/paste function must be enabled on these fields.
If the username and password can be auto-filled, it is not considered a cognitive test.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", - "group": "Form field", - "resultatTest": "nt", - "priority": "P1", - "wcag22" : true, - "goodPractice": false - }, { "themes": "Form field", "title": "For the form fields which require a specific data format, is this expected data format clearly communicated to the user ?", @@ -113,7 +97,7 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/" }, - { + { "themes": "Form field", "title": "Is an autocomplete present for the form fields intended for personal information about the user?", "ID": "testID-005", @@ -127,6 +111,22 @@ "priority": "P3", "goodPractice": false }, + { + "themes": "Form field", + "title": "Can the user authenticate without using a cognitive-based test?", + "ID": "testID-063", + "IDorigin": "testID-063", + "wcag": { + "0": "3.3.8 AA" + }, + "verifier": "Verify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:
Warning, remembering a username and password is a cognitive test.
The copy/paste function must be enabled on these fields.
If the username and password can be auto-filled, it is not considered a cognitive test.
A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.
", + "group": "Form field", + "resultatTest": "nt", + "priority": "P1", + "wcag22" : true, + "goodPractice": false + }, { "themes": "Form field", "title": "Are the form fields in error identifiable and explicit?", @@ -191,7 +191,7 @@ }, { "themes": "Headers", - "title": "Does the screen have a relevant title?", + "title": "Does the screen have a unique and relevant title?", "ID": "testID-010", "IDorigin": "testID-010", "wcag": { @@ -203,6 +203,20 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#title-and-header" }, + { + "themes": "Headers", + "title": "Is the information structured by the use of relevant headings?", + "ID": "testID-076", + "IDorigin": "testID-076", + "wcag": [ + "2.4.6 AA" + ], + "verifier": "Headings should be relevant, help understand the content of the page, and accurately describe the section of content they present.
", + "exception":"The criterion is not applicable if no heading is present.", + "priority": "P1", + "resultatTest": "nt", + "goodPractice": false + }, { "themes": "Colors and constrasts", "title": "Is there sufficient contrast between the text color and the background color (except for special cases)? ?", @@ -254,14 +268,15 @@ "wcag": { "0": "1.3.3 A" }, - "verifier": "Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", + "verifier": "Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#alternative-text" }, { - "themes": "Elements magnification", + "themes": "Text enlargement", "title": "Can the text be enlarged without loss of content or functionality?", "ID": "testID-017", "IDorigin": "testID-017", @@ -269,7 +284,9 @@ "0": "1.4.4 AA", "1": "1.4.10 AA" }, - "verifier": "Verify that there is no loss of information (no unusable, truncated or hidden content or functionality) as a result of enlarging the text size to 235%.
", + "verifier": "The criterion is not applicable for captions and images of text.
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -283,7 +300,8 @@ "wcag": { "0": "1.1.1 A" }, - "verifier": "Verify that all significant elements are vocalized and accessible using Voice navigation.
All significant graphical elements are vocalized and accessible using voice navigation:
Check that the label of the input fields are well associated with them through the AccessbilityLabel
attribute. The labels must therefore be vocalized when navigating the input fields with which they are associated.
Check that:
Elements whose visual grouping is essential for understanding the information must be grouped within the same announcement block for vocalization.
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#grouping-elements" }, + { + "themes": "Voice navigation", + "title": "Are the elements presented as a list correctly rendered?", + "ID": "testID-021", + "IDorigin": "testID-021", + "wcag": { + "0": "1.3.1 A" + }, + "verifier": "Elements presented as a list form are rendered as a list or in a way that conveys a list structure.
", + "resultatTest": "nt", + "priority": "P2", + "goodPractice": false + }, { "themes": "Voice navigation", "title": "Are the section headers used in the header-based voice navigation?", @@ -340,7 +357,7 @@ "wcag": { "0": "2.4.6 AA" }, - "verifier": "Verify that with VoiceOver voice navigation and the header navigation setting set:
Verify that with screen reader and the header navigation mode:
Verify that using voice navigation, the content changes are vocalized to the user:
pop-up
) is vocalizedContent changes are vocally communicated to the user:
dialogs
) is vocalized.For all status messages (results of a reload, a notification, dialogue in a chat, temporary or error messages, change of significant element, upload of a file, product registration in a basket, progressive loading of a list... ):
Check that element states are vocalized (tabs, checkbox, radio button, etc).
", + "verifier": "Verify that there are no ghost elements using voice navigation.
", + "verifier": "There are no phantom (invisible) elements conveyed by screen reader.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -411,7 +428,7 @@ "wcag": { "0": "1.1.1 A" }, - "verifier": "Check that decorative elements (such as certain images) are not vocalized.
", + "verifier": "Decorative graphic elements are not vocalized.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -420,14 +437,14 @@ }, { "themes": "Voice navigation", - "title": "Does the vocalization of a text contain at least its label visible on the screen?", + "title": "Does the accessible name of each component include at least the visible label on the screen?", "ID": "testID-051", "IDorigin": "testID-051", "wcag": { "0": "2.5.3 A" }, - "verifier": "Check that the element's label is present (first if possible) in the vocalization of this component.
", - "complement": "For example: for a 'start' link, use an alternative 'start playing', but not 'begin playing'
", + "verifier": "The visible label of the element is included in the vocalization of that component.
", + "complement": "It is recommended to present the content of the visible label first in the accessible name. For example: for a link \"start,\" use an alternative \"start playback,\" but not \"launch playback.\"
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -441,11 +458,26 @@ "wcag": [ "1.3.1 A" ], - "verifier": "If the table is a data table :
For data tables:
The screen reader changes language for textual content that does not match the primary language of the page.
", + "exception": "For words or or proper namesin foreign languages that are commonly used (e.g., Google, newsletter), it is not necessary to indicate a language change.
", + "resultatTest": "nt", + "priority": "P3", + "goodPractice": false, + "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#change-the-vocalization-language" }, { "themes": "Switch control and keyboard navigation", @@ -890,22 +922,6 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "title": "Are changes in language clearly identified?", - "ID": "testID-058", - "IDorigin": "testID-058", - "wcag": { - "0": "3.1.2 AA" - }, - "verifier": "This criterion can only be verified if you have access to the URL of the WebView.
Check that a lang
attribute is present for words and expressions in a foreign language.
For words and expressions in a foreign language which are in everyday use (déjà vu, hors d'oeuvre…) or for proper nouns, do not indicate a change of language.
" - }, { "themes": "WebView", "title": "Is there a mechanism to navigate within the page?", diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index e5799d3..d49da1a 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -51,7 +51,7 @@ }, { "themes": "Champ de formulaire", - "title": "Les champs de même nature sont-ils regroupés ?", + "title": "Les champs de même nature sont-ils regroupés si nécessaire ?", "ID": "testID-002", "IDorigin": "testID-002", "wcag": { @@ -82,23 +82,6 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/" }, - { - "themes": "Champ de formulaire", - "title": " L'utilisateur peut-il s'authentifier sans utiliser un test s'appuyant sur des fonctions cognitives ?", - "ID": "testID-063", - "IDorigin": "testID-063", - "wcag": { - "0": "3.3.8 AA" - }, - "verifier": "Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif sauf si :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", - "complement":"Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", - "group": "Champ de formulaire", - "resultatTest": "nt", - "priority": "P1", - "wcag22" : true, - "goodPractice": false - }, { "themes": "Champ de formulaire", "title": "Pour les champs nécessitant un type ou un format de données précis, ce format de données est-il indiqué clairement à l'utilisateur ?", @@ -114,7 +97,7 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/" }, - { + { "themes": "Champ de formulaire", "title": "Un remplissage automatique est-il présent pour les champs de saisie destinés à contenir des informations sur l'utilisateur ?", "ID": "testID-005", @@ -128,6 +111,23 @@ "priority": "P3", "goodPractice": false }, + { + "themes": "Champ de formulaire", + "title": " L'utilisateur peut-il s'authentifier sans utiliser un test s'appuyant sur des fonctions cognitives ?", + "ID": "testID-063", + "IDorigin": "testID-063", + "wcag": { + "0": "3.3.8 AA" + }, + "verifier": "Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif sauf si :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", + "complement":"Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", + "group": "Champ de formulaire", + "resultatTest": "nt", + "priority": "P1", + "wcag22" : true, + "goodPractice": false + }, { "themes": "Champ de formulaire", "title": "Les champs en erreur sont-ils identifiables et explicites ?", @@ -192,7 +192,7 @@ }, { "themes": "Entêtes", - "title": "Le titre de la page est-il pertinent ?", + "title": "Le titre de la page est-il unique et pertinent ?", "ID": "testID-010", "IDorigin": "testID-010", "wcag": { @@ -213,6 +213,7 @@ "2.4.6 AA" ], "verifier": "Les entêtes doivent être pertinentes, aider à comprendre le contenu de la page et décrire précisement la section de contenu qu'elles présentent.
", + "exception":"Le critère est non-applicable si aucune entête n'est présente.", "priority": "P1", "resultatTest": "nt", "goodPractice": false, @@ -269,14 +270,15 @@ "wcag": { "0": "1.3.3 A" }, - "verifier": "L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) doit également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "verifier": "L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) doit également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/conception/#alternative-textuelle" }, { - "themes": "Agrandissement des éléments", + "themes": "Agrandissement de texte", "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", "ID": "testID-017", "IDorigin": "testID-017", @@ -284,11 +286,11 @@ "0": "1.4.4 AA", "1": "1.4.10 AA" }, - "verifier": "Non-applicable pour les sous-titres et textes sous forme d'image.
", + "exception": "Critère non-applicable pour les sous-titres et textes sous forme d'image.
", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/developpement/#taille-des-textes" }, @@ -347,8 +349,7 @@ "verifier": "Les éléments présentés sous forme de liste sont restitués en tant que liste ou de manière à comprendre une structure de liste.
", "resultatTest": "nt", "priority": "P2", - "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/developpement/#grouper-des-elements" + "goodPractice": false }, { "themes": "Navigation vocale", @@ -358,7 +359,7 @@ "wcag": { "0": "1.3.1 A" }, - "verifier": "À l'aide de la navigation vocale et le mode de navigation par entête :
À l'aide du lecteur d'écran et en mode de navigation par entête :
Il n'y a aucun élément fantôme (non-visible) restitué par la navigation vocale.
", + "verifier": "Il n'y a aucun élément fantôme (non-visible) restitué par le lecteur d'écran.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -437,14 +438,14 @@ }, { "themes": "Navigation vocale", - "title": "Le nom accessible de chaque composant contient-il au minimum le libellé visible à l'écran pour ce composant ? ", + "title": "Le nom accessible de chaque composant contient-il au minimum le libellé visible à l'écran ?", "ID": "testID-051", "IDorigin": "testID-051", "wcag": { "0": "2.5.3 A" }, "verifier": "Le libellé visible de l'élément est présent dans la vocalisation de ce composant.
", - "complement": "Il est recommandé de restituer le contenu du libellé visible en premier dans le nom accessible. Exemple : pour un lien « démarrer », mettre une alternative « démarrer la lecture », mais pas « lancer la lecture »
", + "complement": "Il est recommandé de restituer le contenu du libellé visible en premier dans le nom accessible. Exemple : pour un lien \"démarrer\", mettre une alternative \"démarrer la lecture\", mais pas \"lancer la lecture\"
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -452,13 +453,13 @@ }, { "themes": "Navigation vocale", - "title": "Les tableaux de données sont-ils correctement structurés ?", + "title": "Les tableaux sont-ils correctement structurés ?", "ID": "testID-070", "IDorigin": "testID-070", "wcag": [ "1.3.1 A" ], - "verifier": "Pour les tableaux de données :
Le lecteur d'écran change de langue pour les contenus textuels dont la langue ne correspond pas à la langue principale de la page
", + "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", "group": "Navigation vocale", "resultatTest": "nt", "priority": "P3", - "goodPractice": false, - "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
" + "goodPractice": false }, { "themes": "Navigation vocale", From 30d40d349159e82cb1cf819bbae51b1df5eb9d0d Mon Sep 17 00:00:00 2001 From: Pierre-Yves AyoulCheck that:
Check that the screen does not contain keyboard traps: if the focus is on an element, the user must be able to exit this element using the standard keys (escape, enter, arrows...). If the focus seems trapped in a component, there must be information explaining the procedure to exit (via keyboard or selector control)
", + "verifier": "The screen contains no traps:
If focus appears to be trapped in a component, there should be information explaining the procedure to exit (with keyboard and Switch Access).
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#keyboard-navigation-order", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Keyboard navigation and Switch Access", + "themes": "Switch Access and keyboard navigation", + "title": "If a keyboard shortcut using a single printable character is available, is it controllable by the user?", + "ID": "testID-075", + "IDorigin": "testID-075", + "wcag": { + "0": "2.1.4 A" + }, + "verifier": "One of the following conditions is met:
The criterion does not apply to keyboard shortcuts using a modifier key (non-printable character keys, e.g., Ctrl, Alt, or Shift).
", + "resultatTest": "nt", + "priority": "P0", + "goodPractice": false + }, + { + "themes": "Switch Access and keyboard navigation", "title": "Is the order in which focusable components receive focus logical and consistent?", "ID": "testID-029", "IDorigin": "testID-029", "wcag": [ "2.4.3 A" ], - "verifier": "Check that the focus order of the elements (buttons, links, form fields) is consistent and logical (usually equivalent to the visual order).", + "verifier": "The order of focus for elements (buttons, links, form fields) is consistent and logical (often equivalent to the visual order) with Switch Access and an external keyboard.", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#keyboard-navigation-order", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Keyboard navigation and Switch Access", + "themes": "Switch Access and keyboard navigation", "title": "When focus is received, is there a visible focus indicator?", "ID": "testID-030", "IDorigin": "testID-030", "wcag": [ "2.4.7 AA" ], - "verifier": "Check that the focus is clearly and easily visible.
", + "verifier": "The criterion is not applicable for native focus that is not modifiable.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#access-to-interactive-elements", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Keyboard navigation and Switch Access", + "themes": "Switch Access and keyboard navigation", "title": "Is the focus visible on all elements?", - "ID": "testID-062", - "IDorigin": "testID-062", - "wcag": [ - "2.4.11 AA" - ], - "verifier": "Check that the focus is clearly and easily visible.
", - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#access-to-interactive-elements", + "ID": "testID-061", + "IDorigin": "testID-061", + "wcag": { + "0": "2.4.11 AA" + }, + "verifier": "A component's focus is not completely obscured by page content during keyboard navigation.
", "resultatTest": "nt", "priority": "P1", "wcag22" : true, @@ -558,7 +602,7 @@ "wcag": [ "2.5.4 A" ], - "verifier": "The motion is essential for the function (e.g. pedometer)
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", @@ -573,7 +617,7 @@ "wcag": [ "2.5.1 A" ], - "verifier": "Check that for any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", + "verifier": "For any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", "complement": "Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", @@ -619,6 +663,7 @@ "1.3.4 AA" ], "verifier": "Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", + "exception": "If an orientation is deemed essential, the criterion is not applicable. Examples of essential displays include:
Check that components that have the same function are named identically from one screen to another, and within the same screen if a component is repeated.
", + "verifier": "Components that have the same function are named identically from one screen to another, and within the same screen if a component is repeated.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -661,7 +706,7 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Check that if one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", + "verifier": "If one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", "exception": "
The user initiated a change in the presentation of the help following the use of zoom or orientation.
", "resultatTest": "nt", @@ -677,8 +722,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "Check that one of the conditions below is met:
Check that one of the conditions below is met:
The criterion is not applicable in following cases:
When using forms or any interactive component, check that there is no change of context :
Context change is compliant if:
Major change in the screen content that, when done without the user's knowledge, can be disorienting.
Context changes include changes in:
The criterion is not applicable if, upon gaining focus, the context does not change. For example, the appearance of a menu or visual changes when hovering over a link are not considered context changes.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -721,7 +767,7 @@ "wcag": [ "2.2.2 A" ], - "verifier": "If content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.< /p>
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency .
Not applicable, if no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically
", + "verifier": "Stopping the animation only upon gaining focus or touch is not considered a mechanism for allowing the user to pause.
", "exception": "The criterion is not applicable in the following cases:
Compliant, if the flashes flash less than 3 times per second or on a very small area (less than 21 824 px²
i.e. a square of side 78 dp)
Compliant if the flashes flash less than 3 times per second or on a very small area (less than 21 824 px²
i.e. a square of side 78 dp)
Check that the navigation mechanisms are always located in the same place in a set of screens (between the different activities of the application).
", + "verifier": "Navigation mechanisms are always located in the same place in a set of screens (between the different screens of the application).
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -761,22 +807,21 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "Check that images and graphics elements are not used to display text.
", - "exception": "Images are not used to present text.
The criterion is compliant for the following exceptions:
The user should be able to determine if they wish to follow a link without having to move around the page to understand what it is.
The context of the link constitutes additional information that helps the user understand the purpose. Check that this additional information is located either:
The user must be able to understand the purpose of a link or button without having to navigate the page to comprehend its meaning.
The context of the link represents additional information that helps understand its label. Ensure that this additional information is positioned either:
The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
", + "verifier": "For each interactive component with a visible label, it must be sufficiently descriptive to allow the user to understand the function of the component.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -802,8 +847,8 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "when there is less than 3 or 4 screens and/or the content is short, this criterion is not applicable.
Check that at least 2 of the following mechanisms are present on the screen, to allow a user to determine their location on the application:
\nThere are several mechanisms to reach desired content and allow a user to navigate within the application:
tab bar
Not applicable:
Check that a complete transcript (text containing all the auditory information) is provided as text.
This text transcript should be:
For any pre-recorded audio-only media, a complete transcript (text containing all the auditory information) is provided as text.
This text transcript should be :
Subtitles not only communicate dialogue, but also all the other audio information needed to understand the content (e.g. identification of speakers, sound effects, etc.).
", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", "resultatTest": "nt", @@ -831,7 +877,7 @@ "wcag": [ "1.2.1 A" ], - "verifier": "Check that a complete transcript (text that provides an equivalent to what is presented visually) is provided as text.
This text transcript should be:
For any pre-recorded video without audio, a complete transcript (text containing all visual information) is provided in text form.
This textual transcription is then:
For any pre-recorded video (with or without audio):
For any video:
For any video with audio:
Subtitles are not necessary when the information presented in the video is also provided in text or textual alternative on the same page.
", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", "resultatTest": "nt", @@ -891,7 +938,7 @@ "wcag": [ "1.2.4 AA" ], - "verifier": "For any live video with audio:
The captions convey not only the content of spoken dialogue, but also equivalents for non-dialogue audio information needed to understand the program content, including sound effects, music, laughter, speaker identification and location.
", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", @@ -907,7 +954,7 @@ "wcag": [ "1.4.2 A" ], - "verifier": "If one of the mechanisms below is necessary for navigation, but absent from the page, then the test is non-compliant:
hn
)header
, main
…)This criterion can only be verified if you have access to the URL of the WebView.
lang
attribute present (N.B. the presence of the xml:lang
attribute is not sufficient to pass this test)lang
attribute should correspond to the primary language used on the pageCheck that the accessible name of each captcha image conveys the purpose of the image and not its content (e.g.: \"captcha (anti-spam image)\").
", + "verifier": "The alternative for each CAPTCHA image communicates the purpose of the image rather than its content (e.g., 'CAPTCHA (anti-spam image)').
", + "group": "CAPTCHA", "priority": "P2", "resultatTest": "nt", + "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/non-textual-content/#avoid-captcha", "goodPractice": false }, { - "themes": "Non-text Content", + "themes": "CAPTCHA", "title": "If a CAPTCHA is used, is there an alternative for visually impaired, blind and hearing impaired users?", "ID": "testID-066", "IDorigin": "testID-066", "wcag": [ "1.1.1 A" ], - "verifier": "Check that for each captcha which is exclusively visual or audio, one of the following alternatives is provided in addition:
For each CAPTCHA which is exclusively visual or audio, one of the following alternatives is provided in addition:
Le lecteur d'écran change de langue pour les contenus textuels dont la langue ne correspond pas à la langue principale de la page
", "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", - "group": "WebView", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", + "group": "Navigation vocale", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Navigation au clavier et Switch Access", - "title": "Les fonctionnalités de l'écran sont-elles utilisables avec Switch Access ou avec un clavier ?", + "themes": "Navigation vocale", + "title": "Un mécanisme pour naviguer au sein de la WebView est-il présent ?", + "ID": "testID-059", + "IDorigin": "testID-059", + "wcag": [ + "2.4.1 A" + ], + "verifier": "Si cela est jugé nécessaire, l'application doit proposer une navigation rapide à l'aide de TalkBack, par exemple :
Le lecteur d'écran restitue les contenus textuels dans la langue principale de la page.
", + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", + "resultatTest": "nt", + "group": "Navigation vocale", + "priority": "P3", + "goodPractice": false + }, + { + "themes": "Switch Access et navigation clavier", + "title": "Les fonctionnalités de l'écran sont-elles utilisables avec Switch Access ou avec un clavier externe ?", "ID": "testID-027", "IDorigin": "testID-027", "wcag": [ "2.1.1 A" ], - "verifier": "Vérifier que :
Vérifier que l'écran ne contient aucun piège clavier avec Switch Access ou en navigation au clavier: si le focus arrive sur un élément, l'utilisateur doit pouvoir sortir de cet élément en utilisant les touches standards (échap, entrée, flèches...). Si le focus semble piégé dans un composant, il doit y avoir une information expliquant la procédure pour sortir (via clavier ou contrôle de sélection)
", + "verifier": "L'écran ne contient aucun piège :
Si le focus semble piégé dans un composant, il doit y avoir une information expliquant la procédure pour sortir (avec le clavier et Switch Access)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#ordonner-la-navigation-au-clavier", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Navigation au clavier et Switch Access", + "themes": "Switch Access et navigation clavier", + "title": "Si un raccourci clavier utilisant un seul caractère imprimable est disponible, celui-ci est-il contrôlable par l'utilisateur ?", + "ID": "testID-075", + "IDorigin": "testID-075", + "wcag": { + "0": "2.1.4 A" + }, + "verifier": "Une des conditions ci-dessous est respectée :
Le critère n'est pas applicable aux raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, exemple : Ctrl, Alt ou Shift).
", + "resultatTest": "nt", + "priority": "P0", + "goodPractice": false + }, + { + "themes": "Switch Access et navigation clavier", "title": "L'ordre de prise de focus des éléments est-il logique et cohérent ?", "ID": "testID-029", "IDorigin": "testID-029", "wcag": [ "2.4.3 A" ], - "verifier": "Vérifier que l'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec Switch Access et la navigation au clavier.", + "verifier": "L'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec Switch Access et avec un clavier externe.", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#ordonner-la-navigation-au-clavier", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Navigation au clavier et Switch Access", + "themes": "Switch Access et navigation clavier", "title": "La prise de focus est-elle visible ?", "ID": "testID-030", "IDorigin": "testID-030", "wcag": [ "2.4.7 AA" ], - "verifier": "Vérifier que le focus est visible d'un coup d'oeil et qu'il se distingue bien du reste de l'écran, que ce soit avec Switch Access ou la navigation clavier.
", + "verifier": "Le critère est non-applicable pour le focus natif qui n'est pas modifiable.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#acceder-aux-elements-interactifs", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Navigation au clavier et Switch Access", + "themes": "Switch Access et navigation clavier", "title": "Le focus est-il visible sur tous les éléments?", - "ID": "testID-062", - "IDorigin": "testID-062", + "ID": "testID-061", + "IDorigin": "testID-061", "wcag": [ "2.4.11 AA" ], - "verifier": "Check that a component's focus is not completely obscured by page content during keyboard navigation.
", + "verifier": "Le focus d'un composant n'est pas complètement masqué par du contenu de la page lors de la navigation clavier.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#acceder-aux-elements-interactifs", "resultatTest": "nt", "priority": "", @@ -560,12 +605,11 @@ "wcag": [ "2.5.4 A" ], - "verifier": "Le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre)
", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", + "verifier": "Le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre)
" }, { "themes": "Navigation générale", @@ -575,7 +619,7 @@ "wcag": [ "2.5.1 A" ], - "verifier": "Vérifier que pour tout geste multipoints (nécessitant plusieurs doigts) et/ou nécessitant des trajectoires gestuelles, une alternative nécessitant un seul pointeur (un seul doigt) et sans trajectoire gestuelle est disponible.
", + "verifier": "Pour tout geste multipoints (nécessitant plusieurs doigts) et/ou nécessitant une trajectoire gestuelle, une alternative nécessitant un seul pointeur (un seul doigt) et sans trajectoire gestuelle est disponible (exemple : simple tap, double tap, tap prolongé)
", "complement": "Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de \"multi-points\", couvertes par le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", - "exception":"Le critère est non applicable :
Le critère est non applicable si :
Vérifier que le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'élément tronqué).
", + "exception": "Si une orientation est jugée essentielle, le critère est non-applicable. Exemple d'affichage jugé essentiel :
Vérifier que les composants qui ont la même fonction sont nommés de manière identique d'un écran à l'autre, et au sein d'un même écran si un composant est répété.
", + "verifier": "Les composants qui ont la même fonction ont un nom accessible similaire d'un écran à l'autre, et au sein d'un même écran si un composant est répété.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -663,10 +708,11 @@ "wcag": [ "3.2.6 A" ], - "verifier": "Vérifier que si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", - "resultatTest": "nt", + "verifier": "Si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", + "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc.
", "exception":"L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", + "resultatTest": "nt", "priority": "", "wcag22" : true, "goodPractice": false @@ -679,8 +725,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "Vérifier qu'une des conditions ci-dessous est respectée :
Vérifier qu'une des conditions ci-dessous est respectée :
Le critère est non-applicable dans les cas suivants :
Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -723,7 +770,9 @@ "wcag": [ "2.2.2 A" ], - "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
Non applicable, si aucun mouvement, pas défilement, pas de clignotement et pas de mise à jour ou rafraichissement automatique qui durent plus de 5 secondes ou démarre automatiquement
", + "verifier": "Le fait que l'animation s'arrête uniquement à la prise de focus ou au toucher n'est pas considéré comme un mécanisme permettant à l'utilisateur de faire une pause.
", + "exception": "Le critère est non-applicable pour les cas suivants :
Vérifier que les mécanismes de navigation sont toujours situés au même endroit dans un ensemble d'écrans (entre les différentes activités de l'application).
", + "verifier": "Les mécanismes de navigation sont toujours situés au même endroit dans un ensemble d'écrans (entre les différents écrans de l'application).
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -763,21 +812,21 @@ "wcag": [ "1.4.5 AA" ], - "verifier": "Vérifier que les images ne sont pas utilisées pour présenter du texte.
", - "exception": "Les images ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
L'utilisateur doit être capable de savoir s'il souhaite suivre un lien sans avoir à se déplacer dans la page pour comprendre de quoi il s'agit.
L'utilisateur doit être capable de comprendre l'objectif d'un lien ou d'un bouton sans avoir à se déplacer dans la page pour comprendre de quoi il s'agit.
Le contexte du lien représente les informations supplémentaires qui permettent de comprendre son intitulé. Vérifier que ces informations supplémentaires sont positionnées soit :
L'utilisateur doit connaitre la fonction d'un bouton grâce à son intitulé. Vérifier que l'action portée par le nom accessible de chaque bouton est pertinente.
", + "verifier": "Pour chaque composant intéractif possédant une étiquette visible, celle-ci doit être suffisamment descriptive pour permettre à l'utilisateur de comprendre la fonction du composant
", "priority": "P1", "resultatTest": "nt", "goodPractice": false @@ -804,8 +853,8 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "Lorsque le nombre d'écrans est inférieur à 3 ou 4 et/ou le contenu succinct, ce critère est non applicable.
\nVérifier qu'au moins 2 des mécanismes listés ci-dessous sont présents sur ll'écran, pour permettre à un utilisateur de se situer au sein de l'application :
Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :
tab bar
Non applicable :
Vérifier qu'un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute contenu préenregistré seulement audio, un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Les sous-titres ne communiquent pas uniquement les dialogues, mais également toutes les autres informations audio nécessaires à la compréhension du contenu (ex : identifications des interlocuteurs, effets sonores…).
", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -833,7 +883,7 @@ "wcag": [ "1.2.1 A" ], - "verifier": "Vérifier qu'un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute vidéo préenregistrée sans audio,un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute vidéo préenregistrée (avec ou sans audio) :
Pour toute vidéo :
Pour toute vidéo avec audio :
Les sous-titres ne sont pas nécessaires lorsque les informations présentes dans la vidéo sont également présentées sous forme de texte ou d'alternative textuelle sur la même page.
", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -893,8 +944,7 @@ "wcag": [ "1.2.4 AA" ], - "verifier": "Les sous-titres ne communiquent pas uniquement les dialogues, mais également toutes les autres informations audio nécessaires à la compréhension du contenu (ex : identifications des interlocuteurs, effets sonores…).
", + "verifier": "Pour toute vidéo en direct avec audio :
Ce critère ne peut être vérifié que si on a accès à l'URL de la WebView.
Si un des mécanismes ci-dessous est jugé nécessaire à la navigation, mais absent de la page, le test est alors non-conforme :
header
, main
…)Ce critère ne peut être vérifié que si on a accès à l'URL de la WebView.
lang
(attention l'attribut xml:lang
ne permet pas de valider le test)lang
doit correspondre à la langue principale de la pageVérifier que l'accessible name de chaque image captcha communique l'objectif de l'image et non son contenu (ex : « captcha (image anti-spam) » ).
", + "verifier": "L'alternative à chaque image CAPTCHA communique l'objectif de l'image et non son contenu (ex : « CAPTCHA (image anti-spam) » ).
", "priority": "P2", "resultatTest": "nt", + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-non-textuel/#eviter-les-captcha", "goodPractice": false }, { - "themes": "Contenu non-textuel", + "themes": "CAPTCHA", "title": "Si un CAPTCHA est utilisé, une alternative est-elle prévue pour les utilisateurs malvoyants, non-voyants et malentendants ?", "ID": "testID-066", "IDorigin": "testID-066", "wcag": [ "1.1.1 A" ], - "verifier": "Vérifier que pour tout captcha uniquement visuel ou sonore, une alternative ci-dessous est proposée en complément :
Pour tout CAPTCHA uniquement visuel ou sonore, l'une des alternatives ci-dessous est proposée en complément :
If deemed necessary, the application must offer quick navigation using the Rotor feature, for example:
Check that:
Check that the screen does not contain keyboard traps: if the focus is on an element, the user must be able to exit this element using the standard keys (escape, enter, arrows...). If the focus seems trapped in a component, there must be information explaining the procedure to exit (via keyboard or selector control)
", + "verifier": "The screen contains no traps:
If focus appears to be trapped in a component, there should be information explaining the procedure to exit (with keyboard and Switch Control).
", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Switch control and keyboard navigation", + "themes": "Switch Control and keyboard navigation", + "title": "If a keyboard shortcut using a single printable character is available, is it controllable by the user?", + "ID": "testID-075", + "IDorigin": "testID-075", + "wcag": { + "0": "2.1.4 A" + }, + "verifier": "One of the following conditions is met:
The criterion does not apply to keyboard shortcuts using a modifier key (non-printable character keys, e.g., Ctrl, Alt, or Shift).
", + "resultatTest": "nt", + "priority": "P0", + "goodPractice": false + }, + { + "themes": "Switch Control and keyboard navigation", "title": "Is the order in which focusable components receive focus logical and consistent ?", "ID": "testID-029", "IDorigin": "testID-029", "wcag": { "0": "2.4.3 A" }, - "verifier": "Check that the keyboard focus order of the elements (buttons, links, form fields) is consistent and logical (usually equivalent to the visual order).
", + "verifier": "The order of focus for elements (buttons, links, form fields) is consistent and logical (often equivalent to the visual order) with Switch Control and an external keyboard.", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Switch control and keyboard navigation", + "themes": "Switch Control and keyboard navigation", "title": "When keyboard focus is received, is there a visible focus indicator ?", "ID": "testID-030", "IDorigin": "testID-030", "wcag": { "0": "2.4.7 AA" }, - "verifier": "Check that the keyboard focus is clearly and easily visible.
", + "verifier": "The criterion is not applicable for native focus that is not modifiable.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Switch control and keyboard navigation", + "themes": "Switch Control and keyboard navigation", "title": "Is the focus visible on all elements?", "ID": "testID-061", "IDorigin": "testID-061", "wcag": { "0": "2.4.11 AA" }, - "verifier": "Check that a component's focus is not completely obscured by page content during keyboard navigation.
", + "verifier": "A component's focus is not completely obscured by page content during keyboard navigation.
", "resultatTest": "nt", "priority": "P1", "wcag22" : true, @@ -554,11 +598,11 @@ "wcag": { "0": "2.5.4 A" }, - "verifier": "Motion is essential to accomplish the feature (ex. : pedometer)
", "resultatTest": "nt", "priority": "P2", - "goodPractice": false, - "exception": "Motion is essential to accomplish the feature (ex. : pedometer)
" + "goodPractice": false }, { "themes": "Common navigation", @@ -568,7 +612,7 @@ "wcag": { "0": "2.5.1 A" }, - "verifier": "Check that for any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", + "verifier": "For any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -612,6 +656,7 @@ "0": "1.3.4 AA" }, "verifier": "Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", + "exception": "If an orientation is deemed essential, the criterion is not applicable. Examples of essential displays include:
Check that components that have the same function are named identically from one screen to another, and within the same screen if a component is repeated.
", + "verifier": "Components that have the same function are named identically from one screen to another, and within the same screen if a component is repeated.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -654,7 +699,7 @@ "wcag": { "0": "3.2.6 A" }, - "verifier": "Check that if one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", + "verifier": "If one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", "exception": "
The user has initiated a change in the presentation of the help following the use of the zoom or the orientation.
", "resultatTest": "nt", @@ -664,14 +709,14 @@ }, { "themes": "Common navigation", - "title": "Does an UI with a time limit have an adaptable timeframe?", + "title": "Does a time limit involving a change of context is adaptable?", "ID": "testID-036", "IDorigin": "testID-036", "wcag": { "0": "2.2.1 A" }, - "verifier": "Check that one of the conditions below is met:
Check that one of the conditions below is met:
The criterion is not applicable in following cases:
Check that:
When using forms or any interactive component, check that there is no change of context :
Context change is compliant if:
Major change in the screen content that, when done without the user's knowledge, can be disorienting.
Context changes include changes in:
The criterion is not applicable if, upon gaining focus, the context does not change. For example, the appearance of a menu or visual changes when hovering over a link are not considered context changes.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -714,7 +760,7 @@ "wcag": { "0": "2.2.2 A" }, - "verifier": "If content from part of the page, starting automatically and lasting more than 5 seconds, is moving, scrolling, blinking, there is a way to stop it, pause it or hide it.< /p>
For content on a part of the page that updates or is automatically refreshed, there is a way to stop it, pause it, hide it or play on its update frequency .
Not applicable, if no movement, no scrolling, no blinking and no automatic update or refresh that lasts more than 5 seconds or starts automatically
", + "verifier": "Stopping the animation only upon gaining focus or touch is not considered a mechanism for allowing the user to pause.
", "exception": "The criterion is not applicable in the following cases:
Compliant, if the flashes flash less than 3 times per second or on a very small area (less than 21 824 px²
i.e. a square of side 78 dp)
Compliant if the flashes flash less than 3 times per second or on a very small area (less than 21 824 px²
i.e. a square of side 78 dp)
Check that the navigation mechanisms are always located in the same place in a set of screens (between the different activities of the application).
", + "verifier": "Navigation mechanisms are always located in the same place in a set of screens (between the different screens of the application).
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -754,8 +800,7 @@ "wcag": { "0": "1.4.5 AA" }, - "verifier": "Check that images and graphics elements are not used to display text.
", - "exceptions": "Images are not used to present text.
The criterion is compliant for the following exceptions:
The user should be able to determine if they wish to follow a link without having to move around the screen to understand what it is.
The context of the link represents the additional information required to understand its title. Check that this additional information is positioned either:
The user must be able to understand the purpose of a link or button without having to navigate the page to comprehend its meaning.
The context of the link represents additional information that helps understand its label. Ensure that this additional information is positioned either:
The user must be able to find the button function with the button text. Check that the action carried by the accessible name of each button is relevant.
", + "verifier": "For each interactive component with a visible label, it must be sufficiently descriptive to allow the user to understand the function of the component.
", "priority": "P1", "resultatTest": "nt", "goodPractice": false, @@ -797,8 +842,8 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "when there is a limited number of screens and/or the content is short, this criterion is not applicable.
Check there are multiple mechanisms to reach a content and allow a user to locate himself on the application:
\nThere are several mechanisms to reach desired content and allow a user to navigate within the application:
tab bar
Not applicable:
Check that a complete transcript (text containing all the auditory information) is provided as text.
This text transcript should be :
For any pre-recorded audio-only media, a complete transcript (text containing all the auditory information) is provided as text.
This text transcript should be :
Subtitles not only communicate dialogue, but also all the other audio information needed to understand the content (e.g. identification of speakers, sound effects, etc.).
", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -826,7 +872,7 @@ "wcag": { "0": "1.2.1 A" }, - "verifier": "Check that a complete transcript (text that provides an equivalent to what is presented visually) is provided as text.
This text transcript should be :
For any pre-recorded video without audio, a complete transcript (text containing all visual information) is provided in text form.
This textual transcription is then:
For any pre-recorded video (with or without audio):
For any video:
For any video with audio:
Subtitles are not necessary when the information presented in the video is also provided in text or textual alternative on the same page.
", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -886,13 +933,12 @@ "wcag": { "0": "1.2.4 AA" }, - "verifier": "For any live video with audio:
Subtitles not only communicate dialogue, but also all the other audio information needed to understand the content (e.g. identification of speakers, sound effects, etc.).
" + "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/non-textual-content/#special-cases-of-animations-video-and-audio-content" }, { "themes": "Multimedia", @@ -902,7 +948,7 @@ "wcag": { "0": "1.4.2 A" }, - "verifier": "If one of the mechanisms below is necessary for navigation, but absent from the page, then the test is non-compliant:
hn
)header
, main
…)This criterion can only be verified if you have access to the URL of the WebView.
lang
attribute present (N.B. the presence of the xml:lang
attribute is not sufficient to pass this test)lang
attribute should correspond to the primary language used on the pageCheck that the accessible name of each captcha image conveys the purpose of the image and not its content (e.g.: \"captcha (anti-spam image)\").
", - "group": "Captcha", + "verifier": "The alternative for each CAPTCHA image communicates the purpose of the image rather than its content (e.g., 'CAPTCHA (anti-spam image)').
", + "group": "CAPTCHA", "priority": "P2", "resultatTest": "nt", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/non-textual-content/#avoid-captcha" }, { - "themes": "Non-text Content", + "themes": "CAPTCHA", "title": "If a CAPTCHA is used, is there an alternative for visually impaired, blind and hearing impaired users?", "ID": "testID-066", "IDorigin": "testID-066", "wcag": [ "1.1.1 A" ], - "verifier": "Check that for each captcha which is exclusively visual or audio, one of the following alternatives is provided in addition:
For each CAPTCHA which is exclusively visual or audio, one of the following alternatives is provided in addition:
L'écran ne contient aucun piège :
Si le focus semble piégé dans un composant, il doit y avoir une information expliquant la procédure pour sortir (via clavier ou contrôle de sélection)
", + "verifier": "L'écran ne contient aucun piège :
Si le focus semble piégé dans un composant, il doit y avoir une information expliquant la procédure pour sortir (avec clavier et contrôle de sélection)
", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { "themes": "Contrôle de sélection et navigation clavier", - "title": "Si un raccourci clavier utilisant une seule touche est disponible, celui-ci est-il contrôlable par l'utilisateur ?", + "title": "Si un raccourci clavier utilisant un seul caractère imprimable est disponible, celui-ci est-il contrôlable par l'utilisateur ?", "ID": "testID-075", "IDorigin": "testID-075", "wcag": { "0": "2.1.4 A" }, "verifier": "Une des conditions ci-dessous est respectée :
Le critère n'est pas applicable aux raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, exemple : Ctrl, Alt ou Shift).
", "resultatTest": "nt", "priority": "P0", "goodPractice": false @@ -556,7 +557,7 @@ "wcag": { "0": "2.4.3 A" }, - "verifier": "L'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec le contrôle de selection.", + "verifier": "L'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec le contrôle de selection et avec un clavier externe.", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -570,6 +571,7 @@ "0": "2.4.7 AA" }, "verifier": "Le critère est non-applicable pour le focus natif qui n'est pas modifiable.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -708,21 +710,35 @@ }, { "themes": "Navigation générale", - "title": "Une UI avec limite de temps a-t-elle son délai adaptable ?", + "title": "Une limite de temps impliquant un changement de contexte a-t-elle son délai adaptable ?", "ID": "testID-036", "IDorigin": "testID-036", "wcag": { "0": "2.2.1 A" }, - "verifier": "Vérifier qu'une des conditions ci-dessous est respectée :
Vérifier qu'une des conditions ci-dessous est respectée :
Le critère est non-applicable dans les cas suivants :
Vérifier que :
Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -746,7 +763,7 @@ }, "verifier": "Le fait que l'animation s'arrête uniquement à la prise de focus ou au toucher n'est pas considéré comme un mécanisme permettant à l'utilisateur de faire une pause.
", - "exception": "Exception si le mouvement, défilement, clignotement ou rafraichissement est essentiel au service
", + "exception": "Le critère est non-applicable pour les cas suivants :
Les images ne sont pas utilisées pour présenter du texte. Non applicable, si aucune image ne contient du texte.
", - "exception": "Les images ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
Vérifier qu'il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :
tab bar
Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :
tab bar
Non applicable :
Un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute contenu préenregistré seulement audio, un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Les sous-titres ne communiquent pas uniquement les dialogues, mais également toutes les autres informations audio nécessaires à la compréhension du contenu (ex : identifications des interlocuteurs, effets sonores…).
", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -909,8 +927,7 @@ "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/contenu-non-textuel/#cas-particuliers-des-animations-contenus-video-et-audio", - "complement": "Les sous-titres ne communiquent pas uniquement les dialogues, mais également toutes les autres informations audio nécessaires à la compréhension du contenu (ex : identifications des interlocuteurs, effets sonores…).
" + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/contenu-non-textuel/#cas-particuliers-des-animations-contenus-video-et-audio" }, { "themes": "Multimédia", @@ -925,8 +942,7 @@ "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/contenu-non-textuel/#cas-particuliers-des-animations-contenus-video-et-audio", - "complement": "Les sous-titres ne communiquent pas uniquement les dialogues, mais également toutes les autres informations audio nécessaires à la compréhension du contenu (ex : identifications des interlocuteurs, effets sonores…).
" + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/contenu-non-textuel/#cas-particuliers-des-animations-contenus-video-et-audio" }, { "themes": "Multimédia", @@ -943,35 +959,37 @@ "goodPractice": false }, { - "themes": "Contenu non-textuel", - "title": "Chaque image captcha a-t-elle une alternative ?", + "themes": "CAPTCHA", + "title": "Chaque image CAPTCHA a-t-elle une alternative ?", "ID": "testID-065", "IDorigin": "testID-065", "wcag": [ "1.1.1 A" ], - "verifier": "L'aternative à chaque image captcha communique l'objectif de l'image et non son contenu (ex : « captcha (image anti-spam) » ).
", + "verifier": "L'alternative à chaque image CAPTCHA communique l'objectif de l'image et non son contenu (ex : « CAPTCHA (image anti-spam) » ).
", + "group": "CAPTCHA", "priority": "P2", "resultatTest": "nt", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-non-textuel/#eviter-les-captcha" }, { - "themes": "Contenu non-textuel", + "themes": "CAPTCHA", "title": "Si un CAPTCHA est utilisé, une alternative est-elle prévue pour les utilisateurs malvoyants, non-voyants et malentendants ?", "ID": "testID-066", "IDorigin": "testID-066", "wcag": [ "1.1.1 A" ], - "verifier": "Pour tout captcha uniquement visuel ou sonore, l'une des alternatives ci-dessous est proposée en complément :
Pour tout CAPTCHA uniquement visuel ou sonore, l'une des alternatives ci-dessous est proposée en complément :
Vérifier que des contrôles sont présents pour interagir avec un média audio, un média vidéo, mais aussi avec un média basé sur le temps. Par exemple, un caroussel qui change de contenu automatiquement après un certain délai doit lui aussi proposer un sytème de contrôle pour pouvoir revenir au contenu précédent ou aller au contenu suivant.
", + "group": "Multimédia", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#controler-le-contenu-multimedia", + "resultatTest": "nt", + "priority": "P3", + "goodPractice": false + }, { "themes": "CAPTCHA", "title": "Chaque image CAPTCHA a-t-elle une alternative ?", From 4a155923e16b49612e85725619630356a6db3e00 Mon Sep 17 00:00:00 2001 From: Pierre-Yves AyoulUsing screen reader or voice control, check that all labels are properly linked to their fields
", "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Check that:
Check that:
When the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Check that the accessible name of each input field is relevant.
", + "verifier": "The accessible name of each input field is relevant.
", "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", "group": "Form field", "resultatTest": "nt", @@ -70,7 +70,7 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "Verify that the contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18sp
: contrast ratio 4.5:118sp
: contrast ratio 3:114sp
: contrast ratio 4.5:114sp
: contrast ratio 3:1Logo, decorative texts, and inactive elements do not need to meet this contrast ratio and therefore should not count towards the validation of this criteria.
", + "verifier": "The contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18sp
: contrast ratio 4.5:118sp
: contrast ratio 3:114sp
: contrast ratio 4.5:114sp
: contrast ratio 3:1This criterion is not applicable for logos, decorative texts and inactive elements.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/colors-and-contrasts/#ensure-sufficient-contrast-between-foreground-and-background-colors", "resultatTest": "nt", "priority": "P1", @@ -238,8 +238,8 @@ "wcag": [ "1.4.11 AA" ], - "verifier": "Verify that images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exception": "Images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", + "exception": "This criterion is not applicable for following cases:
Check that colour is not the only means of conveying the information:
Remarks:
Color is not the only means of conveying information:
Specific case of a link or button without formatting in text:
The criterion is not applicable in the following cases:
Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/colors-and-contrasts/#ensure-that-color-or-sensory-information-is-not-the-only-source-of-information", "resultatTest": "nt", @@ -315,7 +316,7 @@ "1.3.2 A", "2.4.3 A" ], - "verifier": "Verify that the elements follow a logical and understandable order using voice navigation.
", + "verifier": "The elements follow a logical and understandable order using voice navigation.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#manage-the-vocalization-order", "resultatTest": "nt", "priority": "P1", @@ -472,7 +473,7 @@ "3.1.2 AA" ], "verifier": "The screen reader changes language for textual content that does not match the primary language of the page.
", - "exception": "For words or or proper namesin foreign languages that are commonly used (e.g., Google, newsletter), it is not necessary to indicate a language change.
", + "exception": "It is not necessary to indicate a language change for words or or proper names in foreign languages that are commonly used (e.g., Google, rendez-vous).
", "group": "WebView", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", "resultatTest": "nt", @@ -487,7 +488,7 @@ "wcag": [ "2.4.1 A" ], - "verifier": "If deemed necessary, the application should offer quick navigation using TalkBack, for example:The order of focus for elements (buttons, links, form fields) is consistent and logical (often equivalent to the visual order) with Switch Access and an external keyboard.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#keyboard-navigation-order", "resultatTest": "nt", "priority": "P3", @@ -619,6 +620,7 @@ ], "verifier": "For any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", "complement": "Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.
", + "exception": "The criterion is not applicable for following cases:
Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", - "exception": "If an orientation is deemed essential, the criterion is not applicable. Examples of essential displays include:
If an orientation is deemed essential, the criterion is not applicable. Examples:
If one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", - "exception": "
The user initiated a change in the presentation of the help following the use of zoom or orientation.
", + "exception": "The criterion is not applicable if the user has initiated a change in the presentation of the help following the use of the zoom or the orientation.
", "resultatTest": "nt", "priority": "P1", "wcag22" : true, @@ -788,7 +790,7 @@ }, { "themes": "Common navigation", - "title": "The navigation mechanism is consistent with the other screens.", + "title": "Navigation mechanisms are consistent with the other screens.", "ID": "testID-056", "IDorigin": "testID-056", "wcag": [ @@ -848,7 +850,7 @@ "2.4.5 AA" ], "verifier": "There are several mechanisms to reach desired content and allow a user to navigate within the application:
tab bar
Not applicable:
The criterion is not applicable for following cases:
Verify that controls are displayed to interact with audio media, video media, but also with a time-based media. For example, a carousel that automatically changes content after a time period must also offer a control system to be able to return to the previous content or go to the next content.
", + "verifier": "If content in a part of the page starts automatically and lasts more than 5 seconds, is in motion, scrolls, or blinks, there is a way to stop, pause, or hide it.
For content in a part of the page that updates or refreshes automatically, there is a way to stop, pause, hide, or adjust its update frequency.
", + "exception": "The criterion is not applicable if there is no movement, scrolling, blinking, updating, or automatic refreshing lasting more than 5 seconds and starting automatically.
", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#control-multimedia-content", "resultatTest": "nt", @@ -1014,7 +1017,7 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Vérifier que :
Lorsque le champ de formulaire n'a pas de libellé visible mais que son rôle est évident (exemple : champ de recherche accompagné d'un bouton en forme de loupe, case à cocher pour sélectionner une ligne dans un tableau de données), c'est une exception et le critère est conforme.
", "complement": "Un placeholder
seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.
Vérifier que l'étiquette de chaque champ est pertinente.
", + "verifier": "L'étiquette de chaque champ est pertinente.
", "complement": "Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.
", "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", @@ -74,7 +74,7 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", @@ -90,7 +90,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "Vérifier que toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
Toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", "group": "Champ de formulaire", "resultatTest": "nt", @@ -152,7 +152,7 @@ "3.3.3 AA" ], "verifier": "Les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction des erreurs ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion (exemple: pour des questions de sécurité).
", + "exception":"Le critère est non-applicable lorsqu'il est impossible de faire une suggestion (exemple: pour des questions de sécurité).
", "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", "resultatTest": "nt", @@ -227,8 +227,8 @@ "wcag": [ "1.4.3 AA" ], - "verifier": "Vérifier que le contraste est suffisant pour comprendre l'information portée par tous les textes. Vérifier en mode clair et en mode sombre.
18sp
: contraste de 4,5:118sp
: contraste de 3:114sp
: contraste de 4,5:114sp
: contraste de 3:1Les logos, textes décoratifs, et les éléments inactifs n'ont pas besoin de respecter ce ratio de contraste et ne doivent donc pas entrer en compte pour la validation de ce critère.
", + "verifier": "Le contraste est suffisant pour comprendre l'information portée par tous les textes. Vérifier en mode clair et en mode sombre.
18sp
: contraste de 4,5:118sp
: contraste de 3:114sp
: contraste de 4,5:114sp
: contraste de 3:1Ce critère est non-applicable pour les logos, textes décoratifs et les éléments inactifs.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/couleurs-et-contrastes/#assurer-un-contraste-suffisant-entre-les-couleurs-de-premier-plan-et-de-fond", "resultatTest": "nt", "priority": "P1", @@ -242,8 +242,8 @@ "wcag": [ "1.4.11 AA" ], - "verifier": "Vérifier que les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "Les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", + "exception": "Ce critère est non-applicable pour les cas suivants :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Remarques :
La couleur n'est pas le seul moyen de convoyer une information :
Cas particulier d'un lien ou bouton sans mise en forme dans du texte :
Le critère est non-applicable pour les cas suivants :
Vérifier que l'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "verifier": "L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) peut également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Le critère est non-applicable si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/couleurs-et-contrastes/#sassurer-que-la-couleur-ou-linformation-sensorielle-ne-sont-pas-les-seules-sources-dinformation", "resultatTest": "nt", "priority": "P2", @@ -319,7 +320,7 @@ "1.3.2 A", "2.4.3 A" ], - "verifier": "Vérifier que les éléments suivent un ordre logique et compréhensible en utilisant la navigation vocale.
", + "verifier": "Les éléments suivent un ordre logique et compréhensible en utilisant la navigation vocale.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#gerer-lordre-de-lecture-avec-la-navigation-vocale", "resultatTest": "nt", "priority": "P1", @@ -448,6 +449,7 @@ ], "verifier": "Le libellé visible de l'élément est présent dans la vocalisation de ce composant.
", "complement": "Il est recommandé de restituer le contenu du libellé visible en premier dans le nom accessible. Exemple : pour un lien \"démarrer\", mettre une alternative \"démarrer la lecture\", mais pas \"lancer la lecture\"
", + "exception": "Le critère est non-applicable si l'élément n'a pas de libellé visible (icône sans texte par exemple).
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-tous-les-elements-signifiants", "resultatTest": "nt", "priority": "P1", @@ -474,7 +476,7 @@ "3.1.2 AA" ], "verifier": "Le lecteur d'écran change de langue pour les contenus textuels dont la langue ne correspond pas à la langue principale de la page
", - "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", + "exception": "Il n'est pas nécessaire d'indiquer de changement de langue pour les mots ou expressions en langue étrangère passés dans l'usage courant (newsletter, week-end, etc.) ou les noms propres (Google, Apple, etc.)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#indiquer-la-langue-principale-et-les-changements-de-langue", "group": "Navigation vocale", "resultatTest": "nt", @@ -483,13 +485,13 @@ }, { "themes": "Navigation vocale", - "title": "Un mécanisme pour naviguer au sein de la WebView est-il présent ?", + "title": "Un mécanisme pour naviguer au sein de la page est-il présent ?", "ID": "testID-059", "IDorigin": "testID-059", "wcag": [ "2.4.1 A" ], - "verifier": "Si cela est jugé nécessaire, l'application doit proposer une navigation rapide à l'aide de TalkBack, par exemple :
Si cela est jugé nécessaire, l'application doit proposer une navigation rapide à l'aide de TalkBack, par exemple :
L'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec Switch Access et avec un clavier externe.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#ordonner-la-navigation-au-clavier", "resultatTest": "nt", "priority": "P3", @@ -613,7 +615,7 @@ }, { "themes": "Navigation générale", - "title": "Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?", + "title": "Les gestes complexes disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire?", "ID": "testID-032", "IDorigin": "testID-032", "wcag": [ @@ -621,6 +623,7 @@ ], "verifier": "Pour tout geste multipoints (nécessitant plusieurs doigts) et/ou nécessitant une trajectoire gestuelle, une alternative nécessitant un seul pointeur (un seul doigt) et sans trajectoire gestuelle est disponible (exemple : simple tap, double tap, tap prolongé)
", "complement": "Le critère est non-applicable dans les cas suivants :
Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de \"multi-points\", couvertes par le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\"
", - "exception":"Le critère est non applicable si :
Le critère est non-applicable si :
Vérifier que le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'élément tronqué).
", - "exception": "Si une orientation est jugée essentielle, le critère est non-applicable. Exemple d'affichage jugé essentiel :
Le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'élément tronqué).
", + "exception": "Si une orientation est jugée essentielle, le critère est non-applicable. Exemples :
Vérifier que chaque élément interactif respecte la surface minimale de 48dp (recommandations Google) dans toutes les conditions d'affichage (zoom, orientation).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Critère non-applicable si :
Si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", "complement":"Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc.
", - "exception":"L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", + "exception": "le critère est non applicable si l'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "resultatTest": "nt", "priority": "", "wcag22" : true, @@ -756,8 +759,8 @@ "3.2.2 A" ], "verifier": "Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", + "complement": "Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non-applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -793,7 +796,7 @@ }, { "themes": "Navigation générale", - "title": "Le mécanisme de navigation est cohérent avec les autres écrans de l'application", + "title": "Les mécanismes de navigation sont cohérents avec les autres écrans de l'application", "ID": "testID-056", "IDorigin": "testID-056", "wcag": [ @@ -813,7 +816,7 @@ "1.4.5 AA" ], "verifier": "Les images ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :
tab bar
Non applicable :
Le critère est non-applicable pour le cas suivants :
Pour toute vidéo préenregistrée sans audio,un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute vidéo préenregistrée sans audio, un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Vérifier que des contrôles sont présents pour interagir avec un média audio, un média vidéo, mais aussi avec un média basé sur le temps. Par exemple, un caroussel qui change de contenu automatiquement après un certain délai doit lui aussi proposer un sytème de contrôle pour pouvoir revenir au contenu précédent ou aller au contenu suivant.
", + "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
", + "exception": "Le critère est non-applicable si aucun mouvement, défilement, clignotement, mise à jour ou rafraichissement automatique durant plus de 5 secondes et démarrant automatiquement.
", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#controler-le-contenu-multimedia", "resultatTest": "nt", @@ -1017,7 +1021,7 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Verify that the contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18pt
: contrast ratio 4.5:118pt
: contrast ratio 3:114pt
: contrast ratio 4.5:114pt
: contrast ratio 3:1Logo, decorative texts, and inactive elements do not need to meet this contrast ratio and therefore should not count towards the validation of this criteria.
", + "verifier": "Verify that the contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18pt
: contrast ratio 4.5:118pt
: contrast ratio 3:114pt
: contrast ratio 4.5:114pt
: contrast ratio 3:1This criterion is not applicable for logos, decorative texts and inactive elements.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -240,8 +240,8 @@ "wcag": { "0": "1.4.11 AA" }, - "verifier": "Verify that images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", - "exception": "Images of text, as well as graphics, icons and interactive components have a minimum contrast ratio of 3:1 in order to communicate the information
", + "exception": "This criterion is not applicable for following cases:
Check that colour is not the only means of conveying the information:
Remarks:
Color is not the only means of conveying information:
Specific case of a link or button without formatting in text:
The criterion is not applicable in the following cases:
Check that the information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The information conveyed by a sensory characteristic (shape, size, position, orientation, sound) can also be obtained with a text or an explicit message.
Examples of non-conformities:
The criterion is not applicable if no information is conveyed with the use of sound, orientation, size, shape or position
", "resultatTest": "nt", "priority": "P2", @@ -316,7 +317,7 @@ "0": "1.3.2 A", "1": "2.4.3 A" }, - "verifier": "Verify that the elements follow a logical and understandable order using voice navigation.
", + "verifier": "The elements follow a logical and understandable order using voice navigation.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -473,7 +474,7 @@ "0": "3.1.2 AA" }, "verifier": "The screen reader changes language for textual content that does not match the primary language of the page.
", - "exception": "For words or or proper namesin foreign languages that are commonly used (e.g., Google, newsletter), it is not necessary to indicate a language change.
", + "exception": "It is not necessary to indicate a language change for words or or proper names in foreign languages that are commonly used (e.g., Google, rendez-vous).
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -487,7 +488,7 @@ "wcag": { "0": "2.4.1 A" }, - "verifier": "If deemed necessary, the application must offer quick navigation using the Rotor feature, for example:
If deemed necessary, the application must offer quick navigation using the Rotor feature, for example:
The order of focus for elements (buttons, links, form fields) is consistent and logical (often equivalent to the visual order) with Switch Control and an external keyboard.
", + "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#reading-order", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -606,17 +608,18 @@ }, { "themes": "Common navigation", - "title": "Do multipoint or path-based gestures have an alternative that can be operated with a single pointer without a path-based gesture ? (exemple zoom map)", + "title": "Do multipoint or path-based gestures have an alternative that can be operated with a single pointer without a path-based gesture?", "ID": "testID-032", "IDorigin": "testID-032", "wcag": { "0": "2.5.1 A" }, "verifier": "For any multipoint gesture (requiring several fingers) and / or requiring path-based gestures, an alternative is available that requires only a single pointer (a single finger) and without a path-based gesture.
", + "complement": "Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.
", + "exception": "The criterion is not applicable for following cases:
Check that the content and functionalities are available in both orientations (no loss of information, no truncated elements).
", - "exception": "If an orientation is deemed essential, the criterion is not applicable. Examples of essential displays include:
If an orientation is deemed essential, the criterion is not applicable. Examples:
If one or more help devices are offered, these must always be located in the same place, presented in the same way and in the same order on all screens.
", "complement": "Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc. p>", - "exception": "
The user has initiated a change in the presentation of the help following the use of the zoom or the orientation.
", + "exception": "The criterion is not applicable if the user has initiated a change in the presentation of the help following the use of the zoom or the orientation.
", "resultatTest": "nt", "priority": "P1", "wcag22" : true, @@ -843,7 +846,7 @@ "2.4.5 AA" ], "verifier": "There are several mechanisms to reach desired content and allow a user to navigate within the application:
tab bar
Not applicable:
The criterion is not applicable for following cases:
Verify that controls are displayed to interact with audio media, or video media.
", + "verifier": "If content in a part of the page starts automatically and lasts more than 5 seconds, is in motion, scrolls, or blinks, there is a way to stop, pause, or hide it.
For content in a part of the page that updates or refreshes automatically, there is a way to stop, pause, hide, or adjust its update frequency.
", + "exception": "The criterion is not applicable if there is no movement, scrolling, blinking, updating, or automatic refreshing lasting more than 5 seconds and starting automatically.
", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -1006,7 +1010,7 @@ "wcag": [ "1.1.1 A" ], - "verifier": "Le critère est non-applicable si le caractère obligatoire d'un champ est évident et pour lequel l'élément visuel devient donc facultatif (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe).
", "resultatTest": "nt", @@ -119,8 +119,7 @@ "wcag": { "0": "3.3.8 AA" }, - "verifier": "Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif sauf si :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
L'élément visuel est facultatif dans le cas où le caractère obligatoire des champs est évident (ex: champ de recherche, inscription à une newsletter, identifiant / mot de passe)
", + "verifier": "Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif, sauf si :
Attention, la mémorisation d'un nom utilisateur et d'un mot de passe est un test cognitif.
La fonction de copier/coller doit être autorisée sur ces champs.
Si le nom d'utilisateur et le mot de passe peuvent être remplis automatiquement, ce n'est pas considéré comme un test cognitif.
Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.
", "group": "Champ de formulaire", "resultatTest": "nt", @@ -153,7 +152,7 @@ "0": "3.3.3 AA" }, "verifier": "Les messages d'erreurs donnent les informations nécessaires à la correction des saisies, par exemple, avec une aide complémentaire facilitant la correction des erreurs ou en faisant des suggestions parmi une liste limitée de valeurs.
", - "exception":"Le critère est non applicable lorsqu'il est impossible de faire une suggestion (exemple : pour des questions de sécurité).
", + "exception":"Le critère est non-applicable lorsqu'il est impossible de faire une suggestion (exemple : pour des questions de sécurité).
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P3", @@ -227,8 +226,8 @@ "wcag": { "0": "1.4.3 AA" }, - "verifier": "Vérifier que le contraste est suffisant pour comprendre l'information portée par tous les textes. Vérifier en mode clair et en mode sombre.
18pt
: contraste de 4,5:118pt
: contraste de 3:114pt
: contraste de 4,5:114pt
: contraste de 3:1Les logos, textes décoratifs, et les éléments inactifs n'ont pas besoin de respecter ce ratio de contraste et ne doivent donc pas entrer en compte pour la validation de ce critère.
", + "verifier": "Le contraste est suffisant pour comprendre l'information portée par tous les textes. Vérifier en mode clair et en mode sombre.
18pt
: contraste de 4,5:118pt
: contraste de 3:114pt
: contraste de 4,5:114pt
: contraste de 3:1Ce critère est non-applicable pour les logos, textes décoratifs et les éléments inactifs.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -242,8 +241,8 @@ "wcag": { "0": "1.4.11 AA" }, - "verifier": "Vérifier que les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", - "exception": "Les textes sous forme d'images, les graphiques, les icônes et les composants interactifs ont un contraste minimum de 3:1 pour transmettre l'information.
", + "exception": "Ce critère est non-applicable pour les cas suivants :
Vérifier que la couleur n'est pas le seul moyen de convoyer une information :
Remarques :
La couleur n'est pas le seul moyen de convoyer une information :
Cas particulier d'un lien ou bouton sans mise en forme dans du texte :
Le critère est non-applicable pour les cas suivants :
L'information transmise par une caractéristique sensorielle (forme, taille, position, orientation, son) doit également être obtenue par un texte ou un message explicite.
Exemples de non conformités :
Non applicable, si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", + "exception": "Le critère est non-applicable si aucune information n'est portée par de le son, l'orientation, la taille, la forme ou la position
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -318,7 +318,7 @@ "0": "1.3.2 A", "1": "2.4.3 A" }, - "verifier": "Vérifier que les éléments suivent un ordre logique et compréhensible en utilisant la navigation vocale.
", + "verifier": "Les éléments suivent un ordre logique et compréhensible en utilisant la navigation vocale.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -449,7 +449,7 @@ "resultatTest": "nt", "priority": "P1", "goodPractice": false, - "exception": "Non applicable si l'élément n'a pas de libellé visible (icône sans texte par exemple).
" + "exception": "Le critère est non-applicable si l'élément n'a pas de libellé visible (icône sans texte par exemple).
" }, { "themes": "Navigation vocale", @@ -474,7 +474,7 @@ "0": "3.1.2 AA" }, "verifier": "Le lecteur d'écran change de langue pour les contenus textuels dont la langue ne correspond pas à la langue principale de la page
", - "exception": "Pour les mots ou expressions en langue étrangère passés dans l'usage courant (Google, newsletter…) ou les noms propres, il n'est pas nécessaire d'indiquer de changement de langue.
", + "exception": "Il n'est pas nécessaire d'indiquer de changement de langue pour les mots ou expressions en langue étrangère passés dans l'usage courant (newsletter, week-end, etc.) ou les noms propres (Google, Apple, etc.)
", "group": "Navigation vocale", "resultatTest": "nt", "priority": "P3", @@ -516,7 +516,7 @@ "wcag": { "0": "2.1.1 A" }, - "verifier": "L'ordre de prise de focus des éléments (boutons, liens, champs de formulaires) est cohérent et logique (souvent équivalent à l'ordre visuel) avec le contrôle de selection et avec un clavier externe.
", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/developpement/#ordre-de-lecture", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -606,18 +607,19 @@ }, { "themes": "Navigation générale", - "title": "Les gestes complexes disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ? (exemple zoom map)", + "title": "Les gestes complexes disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire?", "ID": "testID-032", "IDorigin": "testID-032", "wcag": { "0": "2.5.1 A" }, - "verifier": "Pour tout geste multipoints (nécessitant plusieurs doigts) et/ou nécessitant une trajectoire gestuelle, une alternative nécessitant un seul pointeur (un seul doigt) et sans trajectoire gestuelle est disponible (exemple : simple tap, double tap, tap prolongé)
", + "verifier": "Pour tout geste multipoints (nécessitant plusieurs doigts) et/ou nécessitant une trajectoire gestuelle, une alternative nécessitant un seul pointeur (un seul doigt) et sans trajectoire gestuelle est disponible (exemple : simple tap, double tap, tap prolongé)
", + "complement": "Le geste complexe est indispensable à la fonctionnalité
", + "exception": "Le critère est non-applicable dans les cas suivants :
Les fonctionnalités de type glisser-déposer, doivent avoir une alternative ne nécessitant pas une dextérité propre à ce type de mouvement (action à pointage unique).
", "complement": "Ce critère ne vise que les actions dont seuls les points de départ et d'arrivée sont pris en compte, (glisser puis déposer un ticket dans un tableau Kanban par exemple) et ne tient pas compte des actions dit de \"multi-points\", couvertes par le critère \"WCAG 2.5.1 - Les gestes multipoints ou basés sur une trajectoire disposent-ils d'une alternative nécessitant un seul pointeur sans trajectoire ?\".
", - "exception":"Le critère est non applicable si :
Le critère est non-applicable si :
Le contenu et les fonctionnalités sont disponibles dans les deux orientations (pas de perte d'information, pas d'élément tronqué).
", "resultatTest": "nt", "priority": "P2", - "exception": "Si une orientation est jugée essentielle, le critère est non-applicable. Exemple d'affichage jugé essentiel :
Si une orientation est jugée essentielle, le critère est non-applicable. Exemples :
Vérifier que chaque élément interactif respecte la surface minimale de 44pt (recommandations Apple) dans toutes les conditions d'affichage (zoom, orientation).
Le critère est également conforme pour les exceptions suivantes :
Critère non applicable si :
Critère non-applicable si :
Si un ou plusieurs dispositifs d'aide sont proposés, ceux-ci doivent toujours être localisés au même endroit, présentés de la même manière et dans le même ordre sur tous les écrans.
", "complement": "Les mécanismes d'aide peuvent être une adresse mail, un numéro de téléphone, un formulaire de contact, un chat, une FAQ, etc.
", - "exception": "L'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", + "exception": "Le critère est non applicable si l'utilisateur est à l'initiative d'un changement de la présentation de l'aide suite à l'usage du zoom ou de l'orientation.
", "resultatTest": "nt", "priority": "P1", "wcag22" : true, @@ -746,8 +748,8 @@ "1": "3.2.2 A" }, "verifier": "Lors de l'utilisation de formulaire ou de tout composant interactif, vérifier l'absence de changement de contexte, sans avertissement de l'utilisateur :
Le changement de contexte est conforme si :
Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", + "complement": "Changement majeur dans le contenu de l'écran qui, lorsqu'il est effectué à l'insu de l'utilisateur, peut désorienter.
Les changements de contexte incluent les changements de :
Le critère est non-applicable si, à la prise de focus, le contexte ne change pas. Par exemple, l'apparition d'un menu ou encore la modification visuelle lors du survol d'un lien ne sont pas des changements de contexte.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -804,7 +806,7 @@ "0": "1.4.5 AA" }, "verifier": "Les images ne sont pas utilisées pour présenter du texte.
Le critère est conforme pour les exceptions suivantes :
Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :
tab bar
Non applicable :
Le critère est non-applicable pour le cas suivants :
Pour toute vidéo préenregistrée sans audio,un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Pour toute vidéo préenregistrée sans audio, un transcrit complet (texte contenant l'ensemble des informations visuelles) est fourni sous forme de texte.
Cette transcription textuelle est alors :
Vérifier que des contrôles sont présents pour interagir avec un média audio, un média vidéo, mais aussi avec un média basé sur le temps. Par exemple, un caroussel qui change de contenu automatiquement après un certain délai doit lui aussi proposer un sytème de contrôle pour pouvoir revenir au contenu précédent ou aller au contenu suivant.
", + "verifier": "Si un contenu d'une partie de la page, démarrant automatiquement et durant plus de 5 secondes, est en mouvement, défile, clignote, il existe un moyen de l'arrêter, le mettre en pause ou le cacher.
Pour du contenu d'une partie de la page qui se met à jour qui ou est rafraichi automatiquement, il existe un moyen de l'arrêter, le mettre en pause masquer ou jouer sur sa fréquence de mise à jour.
", + "exception": "Le critère est non-applicable si aucun mouvement, défilement, clignotement, mise à jour ou rafraichissement automatique durant plus de 5 secondes et démarrant automatiquement.
", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#controler-le-contenu-multimedia", "resultatTest": "nt", From 57ecd1035dd6e0ab4259bc5c764f639a5f231cc2 Mon Sep 17 00:00:00 2001 From: Pierre-Yves AyoulWhen the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
The accessible name of each input field is relevant.
", - "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", + "verifier": "The accessible name of each form field is relevant.
", + "complement":"It is important to check the relevance of the visible label and the accessible name of the form field.
", "group": "Form field", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Does each form field have an accessible name?", "ID": "testID-072", "IDorigin": "testID-072", @@ -47,7 +47,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Are the form elements grouped where it is necessary?", "ID": "testID-002", "IDorigin": "testID-002", @@ -55,15 +55,16 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "Are the elements grouped when it is necessary, for example:
RadioButton
list, use of RadioGroup
property is necessaryCheckbox
listFields of the same nature are grouped, for example:
autofill
attribute is presentautofill
attribute is appropriate with respect to the type of information expectedautofill
attribute is presentautofill
attribute is appropriate with respect to the type of information expectedFor form field that: :
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", + "verifier": "For form fields that:
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of a checkbox).
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -194,7 +195,7 @@ "wcag": [ "2.4.2 A" ], - "verifier": "Verify that :
The elements follow a logical and understandable order using voice navigation.
", + "verifier": "Using the screen reader, the elements follow a logical and understandable order.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#manage-the-vocalization-order", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Voice navigation", - "title": "Are the linked elements gathered in the same announcement block for vocalization?", + "themes": "Screen reader", + "title": "Are the linked elements read together?", "ID": "testID-020", "IDorigin": "testID-020", "wcag": [ @@ -338,7 +339,7 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the elements presented as a list correctly rendered?", "ID": "testID-021", "IDorigin": "testID-021", @@ -351,7 +352,7 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the section headers used in the header-based voice navigation?", "ID": "testID-022", "IDorigin": "testID-022", @@ -359,28 +360,28 @@ "1.3.1 A", "2.4.6 AA" ], - "verifier": "Verify that with screen reader and the header navigation mode:
Verify that with screen reader and header navigation mode:
Content changes are vocally communicated to the user:
dialogs
) is vocalized.Content changes are announced to the user:
dialogs
).There are no phantom (invisible) elements conveyed by screen reader.
", + "verifier": "There are no ghost (invisible) elements conveyed by screen reader.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#do-not-vocalize-the-decorative-and-hidden-elements", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are decorative elements ignored when using voice navigation?", "ID": "testID-026", "IDorigin": "testID-026", @@ -437,22 +438,23 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Does the accessible name of each component include at least the visible label on the screen?", "ID": "testID-051", "IDorigin": "testID-051", "wcag": [ "2.5.3 A" ], - "verifier": "Check that the element's label is present (first if possible) in the vocalization of this component. Not applicable if the element has no visible label (icon without text for example).
", + "verifier": "The visible label of the element is included in the vocalization of that component.
", "complement": "It is recommended to present the content of the visible label first in the accessible name. For example: for a link \"start,\" use an alternative \"start playback,\" but not \"launch playback.\"
", + "exception": "Not applicable if the element has no visible label (icon without text for example).
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-all-significant-elements", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the tables structured properly?", "ID": "testID-070", "IDorigin": "testID-070", @@ -465,7 +467,7 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are changes in language clearly identified?", "ID": "testID-058", "IDorigin": "testID-058", @@ -481,14 +483,14 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Is there a mechanism to navigate within the page?", "ID": "testID-059", "IDorigin": "testID-059", "wcag": [ "2.4.1 A" ], - "verifier": "If deemed necessary, the application should offer quick navigation using TalkBack, for example:If deemed necessary, the application should offer quick navigation using TalkBack, for example:
The screen reader conveys textual content in the primary language of the page.
", "group": "Voice navigation", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes", "resultatTest": "nt", @@ -604,7 +606,7 @@ "2.5.4 A" ], "verifier": "The motion is essential for the function (e.g. pedometer)
", + "exception": "The criterion is not applicable if the motion is essential to accomplish the feature (ex. : pedometer)
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", "priority": "P2", @@ -645,7 +647,7 @@ }, { "themes": "Common navigation", - "title": "Can click (or touch) errors be cancelled?", + "title": "Can touch or click errors be cancelled?", "ID": "testID-033", "IDorigin": "testID-033", "wcag": [ @@ -702,7 +704,7 @@ }, { "themes": "Common navigation", - "title": "If help is offered and repeated on several pages, is it presented in a coherent manner?", + "title": "If help is offered and repeated on several pages, is it presented in a consistent manner?", "ID": "testID-063", "IDorigin": "testID-063", "wcag": [ @@ -763,7 +765,7 @@ }, { "themes": "Common navigation", - "title": "If content on the page is moving, scrolling, blinking or updating, lasting more than 5 seconds and starting automatically, does the user have the option to stop, pause, hide or modify its update frequency of this content?", + "title": "Does the user have control over content that is moving, scrolling, blinking, or updating for more than 5 seconds and starting automatically?", "ID": "testID-039", "IDorigin": "testID-039", "wcag": [ @@ -803,7 +805,7 @@ }, { "themes": "Common navigation", - "title": "No image is used to display text?", + "title": "Is there any image used to display text?", "ID": "testID-052", "IDorigin": "testID-052", "wcag": [ @@ -830,7 +832,7 @@ }, { "themes": "Common navigation", - "title": "Each button label is relevant?", + "title": "Is each button label relevant?", "ID": "testID-068", "IDorigin": "testID-068", "wcag": [ @@ -843,7 +845,7 @@ }, { "themes": "Common navigation", - "title": "Does the application have at least 2 means of navigation?", + "title": "Does the application have at least two means of navigation?", "ID": "testID-069", "IDorigin": "testID-069", "wcag": [ diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index 070eef2..bb993db 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -60,7 +60,7 @@ ], "verifier": "Les champs de même nature sont regroupés, par exemple :
Les changements de contenu sont restitués vocalement à l'utilisateur :
dialogs
) est vocaliséeLes changements de contenu sont annoncés à l'utilisateur :
dialogs
).Check that:
When the form field has no visible label but its role is obvious (example: search field accompanied by a magnifying glass button, checkbox to select a line in a data array), this is an exception and the criterion is considered compliant.
", "complement": "A placeholder
alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text near the form field.
Check that the accessible name of each form field is relevant.
", - "complement":"It is important to check the relevance of the visible label and the accessible name of the input field.
", + "verifier": "The accessible name of each form field is relevant.
", + "complement":"It is important to check the relevance of the visible label and the accessible name of the form field.
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -33,7 +33,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#form" }, { - "themes": "Form field", + "themes": "Form fields", "title": "Does each form field have an accessible name?", "ID": "testID-072", "IDorigin": "testID-072", @@ -50,7 +50,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#form" }, { - "themes": "Form field", + "themes": "Form fields", "title": "Are the form elements grouped where it is necessary?", "ID": "testID-002", "IDorigin": "testID-002", @@ -58,7 +58,7 @@ "0": "1.3.1 A", "1": "3.3.2 A" }, - "verifier": "Are the elements grouped when it is necessary, for example :
Switch
Fields of the same nature are grouped, for example:
For form field that: :
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of checkbox).
", + "verifier": "For form fields that:
Check that the user can modify or cancel before and after validation unless the validation is explicit (e.g. use of a checkbox).
", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -197,7 +197,7 @@ "wcag": { "0": "2.4.2 A" }, - "verifier": "Verify that :
Verify that the contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18pt
: contrast ratio 4.5:118pt
: contrast ratio 3:114pt
: contrast ratio 4.5:114pt
: contrast ratio 3:1The contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.
18pt
: contrast ratio 4.5:118pt
: contrast ratio 3:114pt
: contrast ratio 4.5:114pt
: contrast ratio 3:1This criterion is not applicable for logos, decorative texts and inactive elements.
", "resultatTest": "nt", "priority": "P1", @@ -234,7 +234,7 @@ }, { "themes": "Colors and constrasts", - "title": "Is there sufficient contrast between the colors that are used in the interface components or graphic elements which convey information ?", + "title": "Is there sufficient contrast between the colors that are used in the interface components or graphic elements which convey information?", "ID": "testID-014", "IDorigin": "testID-014", "wcag": { @@ -249,7 +249,7 @@ }, { "themes": "Colors and constrasts", - "title": "Is the information also conveyed to the user by a means other than colour? ?", + "title": "Is the information also conveyed to the user by a means other than colour?", "ID": "testID-015", "IDorigin": "testID-015", "wcag": { @@ -263,7 +263,7 @@ }, { "themes": "Colors and constrasts", - "title": "Is the information also transmitted to the user by a means other than a sensory characteristic ?", + "title": "Is the information also transmitted to the user by a means other than a sensory characteristic?", "ID": "testID-016", "IDorigin": "testID-016", "wcag": { @@ -294,8 +294,8 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#text-size" }, { - "themes": "Voice navigation", - "title": "Are all the significant elements vocalized and relevant ?", + "themes": "Screen reader", + "title": "Are all the significant elements vocalized and relevant?", "ID": "testID-018", "IDorigin": "testID-018", "wcag": { @@ -309,23 +309,23 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#element-trait" }, { - "themes": "Voice navigation", - "title": "Is the order of vocalisation of the elements logical and understandable?", + "themes": "Screen reader", + "title": "Is the reading order of the elements logical and understandable?", "ID": "testID-019", "IDorigin": "testID-019", "wcag": { "0": "1.3.2 A", "1": "2.4.3 A" }, - "verifier": "The elements follow a logical and understandable order using voice navigation.
", + "verifier": "Using the screen reader, the elements follow a logical and understandable order.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#reading-order" }, { - "themes": "Voice navigation", - "title": "Are the linked elements gathered in the same announcement block for vocalization?", + "themes": "Screen reader", + "title": "Are the linked elements read together?", "ID": "testID-020", "IDorigin": "testID-020", "wcag": { @@ -338,7 +338,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#grouping-elements" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the elements presented as a list correctly rendered?", "ID": "testID-021", "IDorigin": "testID-021", @@ -351,35 +351,35 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the section headers used in the header-based voice navigation?", "ID": "testID-022", "IDorigin": "testID-022", "wcag": { "0": "2.4.6 AA" }, - "verifier": "Verify that with screen reader and the header navigation mode:
Verify that with screen reader and header navigation mode:
Content changes are vocally communicated to the user:
dialogs
) is vocalized.Content changes are announced to the user:
dialogs
).There are no phantom (invisible) elements conveyed by screen reader.
", + "verifier": "There are no ghost (invisible) elements conveyed by screen reader.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#modal-view" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are decorative elements ignored when using voice navigation?", "ID": "testID-026", "IDorigin": "testID-026", @@ -437,7 +437,7 @@ }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Does the accessible name of each component include at least the visible label on the screen?", "ID": "testID-051", "IDorigin": "testID-051", @@ -446,13 +446,13 @@ }, "verifier": "The visible label of the element is included in the vocalization of that component.
", "complement": "It is recommended to present the content of the visible label first in the accessible name. For example: for a link \"start,\" use an alternative \"start playback,\" but not \"launch playback.\"
", + "exception": "Not applicable if the element has no visible label (icon without text for example).
", "resultatTest": "nt", "priority": "P1", - "goodPractice": false, - "exception": "Not applicable if the element has no visible label (icon without text for example).
" + "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the tables structured properly?", "ID": "testID-070", "IDorigin": "testID-070", @@ -466,7 +466,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#reading-order" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are changes in language clearly identified?", "ID": "testID-058", "IDorigin": "testID-058", @@ -481,7 +481,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#change-the-vocalization-language" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Is there a mechanism to navigate within the page?", "ID": "testID-059", "IDorigin": "testID-059", @@ -495,14 +495,14 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Is the content of the page conveyed in the primary language of the page?", "ID": "testID-060", "IDorigin": "testID-060", "wcag": { "0": "3.1.1 A" }, - "verifier": "The screen reader conveys textual content in the primary language of the page.", + "verifier": "The screen reader conveys textual content in the primary language of the page.
", "group": "Voice navigation", "resultatTest": "nt", "priority": "P3", @@ -525,7 +525,7 @@ }, { "themes": "Switch Control and keyboard navigation", - "title": "The screen does not contain keyboard traps ? ", + "title": "The screen does not contain keyboard traps? ", "ID": "testID-028", "IDorigin": "testID-028", "wcag": { @@ -552,7 +552,7 @@ }, { "themes": "Switch Control and keyboard navigation", - "title": "Is the order in which focusable components receive focus logical and consistent ?", + "title": "Is the order in which focusable components receive focus logical and consistent?", "ID": "testID-029", "IDorigin": "testID-029", "wcag": { @@ -566,7 +566,7 @@ }, { "themes": "Switch Control and keyboard navigation", - "title": "When keyboard focus is received, is there a visible focus indicator ?", + "title": "When keyboard focus is received, is there a visible focus indicator?", "ID": "testID-030", "IDorigin": "testID-030", "wcag": { @@ -601,7 +601,7 @@ "0": "2.5.4 A" }, "verifier": "Motion is essential to accomplish the feature (ex. : pedometer)
", + "exception": "The criterion is not applicable if the motion is essential to accomplish the feature (ex. : pedometer)
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -639,7 +639,7 @@ }, { "themes": "Common navigation", - "title": "Can click (or touch) errors be cancelled? ?", + "title": "Can touch or click errors be cancelled?", "ID": "testID-033", "IDorigin": "testID-033", "wcag": { @@ -652,7 +652,7 @@ }, { "themes": "Common navigation", - "title": "Is the content displayed regardless of the screen orientation (portrait or landscape)? ?", + "title": "Is the content displayed regardless of the screen orientation (portrait or landscape)?", "ID": "testID-034", "IDorigin": "testID-034", "wcag": { @@ -696,7 +696,7 @@ }, { "themes": "Common navigation", - "title": "If help is offered and repeated on several pages, is it presented in a coherent manner?", + "title": "If help is offered and repeated on several pages, is it presented in a consistent manner?", "ID": "testID-062", "IDorigin": "testID-062", "wcag": { @@ -757,7 +757,7 @@ }, { "themes": "Common navigation", - "title": "If content on the page is moving, scrolling, blinking or updating, lasting more than 5 seconds and starting automatically, does the user have the option to stop, pause, hide or modify its update frequency of this content?", + "title": "Does the user have control over content that is moving, scrolling, blinking, or updating for more than 5 seconds and starting automatically?", "ID": "testID-039", "IDorigin": "testID-039", "wcag": { @@ -784,7 +784,7 @@ }, { "themes": "Common navigation", - "title": "The navigation mechanism is consistent with the other screens.", + "title": "Navigation mechanisms are consistent with the other screens.", "ID": "testID-056", "IDorigin": "testID-056", "wcag": { @@ -797,7 +797,7 @@ }, { "themes": "Common navigation", - "title": "No image is used to display text?", + "title": "Is there any image used to display text?", "ID": "testID-052", "IDorigin": "testID-052", "wcag": { @@ -825,7 +825,7 @@ }, { "themes": "Common navigation", - "title": "Each button label is relevant?", + "title": "Is each button label relevant?", "ID": "testID-068", "IDorigin": "testID-068", "wcag": [ @@ -839,7 +839,7 @@ }, { "themes": "Common navigation", - "title": "Does the application have at least 2 means of navigation?", + "title": "Does the application have at least two means of navigation?", "ID": "testID-069", "IDorigin": "testID-069", "wcag": [ @@ -853,7 +853,7 @@ }, { "themes": "Multimedia", - "title": "For pre-recorded audio-only media: is an equivalent text transcript provided ?", + "title": "For pre-recorded audio-only media: is an equivalent text transcript provided?", "ID": "testID-041", "IDorigin": "testID-041", "wcag": { @@ -869,7 +869,7 @@ }, { "themes": "Multimedia", - "title": "Pre-recorded video-only media without audio : is a text transcript or an audio track that presents equivalent information provided ?", + "title": "Pre-recorded video-only media without audio : is a text transcript or an audio track that presents equivalent information provided?", "ID": "testID-042", "IDorigin": "testID-042", "wcag": { @@ -884,7 +884,7 @@ }, { "themes": "Multimedia", - "title": "Pre-recorded video (with or without audio) : is a text transcript or an audio description provided ?", + "title": "Pre-recorded video (with or without audio) : is a text transcript or an audio description provided?", "ID": "testID-043", "IDorigin": "testID-043", "wcag": { @@ -899,7 +899,7 @@ }, { "themes": "Multimedia", - "title": "Pre-recorded video (with or without audio) : is an audio description provided ?", + "title": "Pre-recorded video (with or without audio) : is an audio description provided?", "ID": "testID-044", "IDorigin": "testID-044", "wcag": { @@ -914,7 +914,7 @@ }, { "themes": "Multimedia", - "title": "Pre-recorded video with audio: are captions provided for all the content ?", + "title": "Pre-recorded video with audio: are captions provided for all the content?", "ID": "testID-045", "IDorigin": "testID-045", "wcag": { @@ -930,7 +930,7 @@ }, { "themes": "Multimedia", - "title": "Live video content with audio: are captions provided for all the content ?", + "title": "Live video content with audio: are captions provided for all the content?", "ID": "testID-046", "IDorigin": "testID-046", "wcag": { @@ -945,7 +945,7 @@ }, { "themes": "Multimedia", - "title": "If any audio plays automatically for more than 3 seconds, does the user have a mechanism to control it ?", + "title": "If any audio plays automatically for more than 3 seconds, does the user have a mechanism to control it?", "ID": "testID-047", "IDorigin": "testID-047", "wcag": { diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index a905ccb..6ddf99f 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -220,7 +220,7 @@ }, { "themes": "Couleurs et contrastes", - "title": "Le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé (hors cas particuliers) ?", + "title": "Le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé ?", "ID": "testID-013", "IDorigin": "testID-013", "wcag": { @@ -373,7 +373,7 @@ "wcag": { "0": "3.2.2 A" }, - "verifier": "Les changements de contenu sont restitués vocalement à l'utilisateur :
dialogs
) est vocaliséeLes changements de contenu sont annoncés à l'utilisateur :
dialogs
).