From f3303927bc9171b65ac09b7a522315c10c1d2e29 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 4 Feb 2025 10:54:42 +0100 Subject: [PATCH 01/17] Add info about placeholder in forms + update consistent title --- json/criteres-wcag-ease-en.json | 26 +++++++------- json/criteres-wcag-ease-fr.json | 62 +++++++++++++++++---------------- 2 files changed, 46 insertions(+), 42 deletions(-) diff --git a/json/criteres-wcag-ease-en.json b/json/criteres-wcag-ease-en.json index 992614b..d33f468 100644 --- a/json/criteres-wcag-ease-en.json +++ b/json/criteres-wcag-ease-en.json @@ -9,6 +9,7 @@ ], "verifier": "", "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": "
Additionally

A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field.

", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P0", @@ -40,6 +41,7 @@ "4.1.2 A" ], "verifier": "", + "complement": "
Additionally

A placeholder alone is not sufficient to provide an accessible name; it must be accompanied by one of the techniques listed above.

", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P1", @@ -55,7 +57,7 @@ "1.3.1 A" ], "verifier": "", - "complement": "
Additionally:

Group elements only when it is necessary, for example:

", + "complement": "
Additionally

Group elements only when it is necessary, for example:

", "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": "", - "complement":"
Complement

It is important to check the relevance of the visible label and the accessible name of the input field.

", + "complement":"
Additionally

It is important to check the relevance of the visible label and the accessible name of the input field.

", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P0", @@ -166,7 +168,7 @@ "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.

", - "complement":"
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)

", + "complement":"
Additionally

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":"
  1. An activity (memory game) where re-entering information is essential
  2. Security information such as double-entering a user-created password
  3. Previously provided information that is no longer valid
", "group": "Form", "moreInfo": "", @@ -186,7 +188,7 @@ ], "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": "
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.

", + "complement": "
Additionally

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", "priority": "P0", @@ -205,7 +207,7 @@ ], "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": "
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.

", + "complement": "
Additionally

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", "priority": "P0", @@ -224,7 +226,7 @@ ], "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.

", "exception": "", - "complement": "
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.

", + "complement": "
Additionally

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", "priority": "P0", @@ -271,7 +273,7 @@ ], "verifier": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "complement":"
Additionally:

This criterion does not require the use of a title, if no title is present this criterion is not applicable.

", + "complement":"
Additionally

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 @@ -286,7 +288,7 @@ ], "verifier": "", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "complement":"
Additionally:

This criterion does not require the use of a title, if no title is present this criterion is not applicable.

", + "complement":"
Additionally

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 @@ -356,7 +358,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "

If the table is a presentation table, remove any semantic tag or attribute of a table (caption, summary, th, scope, headers…) and add a role='presentation' attribute to the table and therefore this table becomes not applicable for this criterion

If the table is a data array:

  1. If a data table has a title (or a caption), check that the title is programmatically linked to the table using one of the following techniques:
    • Caption tag
    • Aria-label on the table element *
    • Aria-labelledby on the element pointing to the title’s ID *
    • Title on the table element *
    • * Warning: In addition, the technique must be validated with a functional test on the specific environment(s) (browser or technical assistance) targeted by the audit.
  2. If the data table has a title, check that the title is relevant.
    • The title isn’t empty
    • The title helps the user to understand the nature of the data in the table
  3. If the table includes a summary, check that it is programmatically linked to the table using one of the following techniques:
    • HTML5: presence of a summary, in accessible masking if necessary or display:none, linked to the table with a aria-describedby
    • Older HTML version: the summary is in a summary attribute
  4. If a summary is provided, check that it is:
    • relevant
    • different from the title
  5. Single header table (a row, or a column header only), check that there are headers (th)
  6. Headers th must not be empty
  7. Double header table (a row and a column header):
    • For each th check that there is a scope='col' attribute for the column headers,
    • and that there is a scope='row' attribute for the row headers
  8. Complex tables (multiple and irregular headers), check that there are headers (th) and/or id and headers attributes
", + "verifier": "

If the table is a presentation table, remove any semantic tag or attribute of a table (caption, summary, th, scope, headers…) and add a role='presentation' attribute to the table and therefore this table becomes not applicable for this criterion

If the table is a data array:

  1. If a data table has a title (or a caption), check that the title is programmatically linked to the table using one of the following techniques:
    • Caption tag
    • Aria-label on the table element *
    • Aria-labelledby on the element pointing to the title's ID *
    • Title on the table element *
    • * Warning: In addition, the technique must be validated with a functional test on the specific environment(s) (browser or technical assistance) targeted by the audit.
  2. If the data table has a title, check that the title is relevant.
    • The title isn't empty
    • The title helps the user to understand the nature of the data in the table
  3. If the table includes a summary, check that it is programmatically linked to the table using one of the following techniques:
    • HTML5: presence of a summary, in accessible masking if necessary or display:none, linked to the table with a aria-describedby
    • Older HTML version: the summary is in a summary attribute
  4. If a summary is provided, check that it is:
    • relevant
    • different from the title
  5. Single header table (a row, or a column header only), check that there are headers (th)
  6. Headers th must not be empty
  7. Double header table (a row and a column header):
    • For each th check that there is a scope='col' attribute for the column headers,
    • and that there is a scope='row' attribute for the row headers
  8. Complex tables (multiple and irregular headers), check that there are headers (th) and/or id and headers attributes
", "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": "", - "complement": "
Complement
", + "complement": "
Additionally
", "moreInfo": "", "priority": "P2", "resultTest": "nt", @@ -503,7 +505,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Check that colour is not the only means of conveying the information:

Remarks:

", + "verifier": "

Check that colour is not the only means of conveying the information:

Remarks:

", "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": "

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:

", - "complement":"
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- 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?”

", + "complement":"
Additionally

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", "priority": "P2", diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index cee4a1c..c5c91b2 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -7,8 +7,9 @@ "wcag": [ "3.3.2 A" ], - "verifier": "", - "exception": "

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.

", + "verifier": "", + "exception": "

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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximté du champ de formulaire.

", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P0", @@ -40,6 +41,7 @@ "4.1.2 A" ], "verifier": "", + "complement": "
Complément d'information

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", @@ -55,7 +57,7 @@ "1.3.1 A" ], "verifier": "", - "complement": "
Complément :

On regroupe uniquement lorsque nécessaire, par exemple :

", + "complement": "
Complément d'information

On regroupe uniquement lorsque nécessaire, par exemple :

", "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": "", - "complement":"
Complément

Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.

", + "complement":"
Complément d'information

Il est important de vérifier la pertinence de l'étiquette visible et du nom accessible du champ.

", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P0", @@ -166,7 +168,7 @@ "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.

", - "complement":"
Complément

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)

", + "complement":"
Complément d'information

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":"
  1. Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  2. Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  3. Des informations préalablement renseignées qui ne sont plus valides
", "group": "Formulaire", "moreInfo": "", @@ -186,7 +188,7 @@ ], "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": "
Complément :

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.

", + "complement": "
Complément d'information

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", "priority": "P0", @@ -203,9 +205,9 @@ "3.3.8 AA", "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)

", + "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": "
Complément :

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.

", + "complement": "
Complément d'information

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", "priority": "P0", @@ -224,7 +226,7 @@ ], "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.

", "exception": "", - "complement": "
Complément :

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.

", + "complement": "
Complément d'information

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", "priority": "P0", @@ -271,7 +273,7 @@ ], "verifier": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "complement":"
Complément

Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.

", + "complement":"
Complément d'information

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 @@ -286,7 +288,7 @@ ], "verifier": "", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "complement":"
Complément

Ce critère n'oblige pas l'utilisation de titre, si aucun titre n'est présent ce critère est non-applicable.

", + "complement":"
Complément d'information

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 @@ -356,7 +358,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "

Si le tableau est un tableau de présentation, enlever toute balise ou attribut à valeur sémantique de tableau (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

Si le tableau est un tableau de données :

  1. Si un titre de tableau est présent, vérifier que celui-ci est lié de manière programmatique au tableau par l’une des techniques ci-dessous 
    * 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.
    • Balise Caption
    • Aria-label sur l’élément table *
    • Aria-labelledby sur l’élément pointant vers l’ID du titre *
    • Title sur l’élément table *
  2. Si un titre de tableau est présent, vérifier que celui-ci est pertinent
    • Le titre n’est pas vide
    • Le titre permet de comprendre la nature des données présentées dans le tableau
  3. Si un résumé de tableau est présent, vérifier que celui-ci est lié de manière programmatique par l’une des techniques ci-dessous&nrbsp;:
    • HTML5 : présence d'un résumé, si nécessaire en masquage accessible ou display:none, lié au tableau via un aria-describedby
    • Version antérieure : résumé présent dans un attribut summary
  4. Si un résumé est présent, vérifier que celui-ci est :
    • pertinent
    • différent du titre
  5. Les entêtes th ne doivent pas être vides
  6. Tableau à simple entête (une ligne, ou une colonne d’entête uniquement), vérifier la présence d'entêtes (th)
  7. Tableau à double entêtes (une ligne et une colonne d’entête) :
    • Pour chaque th vérifier la présence d'un attribut scope='col' pour les entêtes de colonnes,
    • et la présence d'un scope='row' pour les entêtes de lignes
  8. Tableaux complexes (entêtes multiples et irrégulières), vérifier la présence d'entêtes th et / ou d'attributs id et headers
", + "verifier": "

Si le tableau est un tableau de présentation, enlever toute balise ou attribut à valeur sémantique de tableau (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

Si le tableau est un tableau de données :

  1. Si un titre de tableau est présent, vérifier que celui-ci est lié de manière programmatique au tableau par l'une des techniques ci-dessous 
    * 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.
    • Balise Caption
    • Aria-label sur l'élément table *
    • Aria-labelledby sur l'élément pointant vers l'ID du titre *
    • Title sur l'élément table *
  2. Si un titre de tableau est présent, vérifier que celui-ci est pertinent
    • Le titre n'est pas vide
    • Le titre permet de comprendre la nature des données présentées dans le tableau
  3. Si un résumé de tableau est présent, vérifier que celui-ci est lié de manière programmatique par l'une des techniques ci-dessous&nrbsp;:
    • HTML5 : présence d'un résumé, si nécessaire en masquage accessible ou display:none, lié au tableau via un aria-describedby
    • Version antérieure : résumé présent dans un attribut summary
  4. Si un résumé est présent, vérifier que celui-ci est :
    • pertinent
    • différent du titre
  5. Les entêtes th ne doivent pas être vides
  6. Tableau à simple entête (une ligne, ou une colonne d'entête uniquement), vérifier la présence d'entêtes (th)
  7. Tableau à double entêtes (une ligne et une colonne d'entête) :
    • Pour chaque th vérifier la présence d'un attribut scope='col' pour les entêtes de colonnes,
    • et la présence d'un scope='row' pour les entêtes de lignes
  8. Tableaux complexes (entêtes multiples et irrégulières), vérifier la présence d'entêtes th et / ou d'attributs id et headers
", "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": "", + "verifier": "", "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": "", - "complement": "
Complément
", + "complement": "
Complément d'information
", "moreInfo": "", "priority": "P2", "resultatTest": "nt", @@ -517,7 +519,7 @@ "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, 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 :

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", @@ -562,7 +564,7 @@ "wcag": [ "2.4.9 AAA" ], - "verifier": "

L’utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.

", + "verifier": "

L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.

", "exception": "

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", @@ -572,11 +574,11 @@ }, { "themes": "Navigation générale", - "title": "Chaque libellé de lien permettant d’ouvrir/télécharger un document est-il compréhensible ?", + "title": "Chaque libellé de lien permettant d'ouvrir/télécharger un document est-il compréhensible ?", "ID": "testID-071", "IDorigin": "testID-071", "wcag": [], - "verifier": "

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 :

", + "verifier": "

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 :

", "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": "

Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix :

", + "verifier": "

Vérifier que l'ouverture d'une nouvelle fenêtre est mentionnée aux utilisateurs, au choix :

", "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": "", @@ -639,7 +641,7 @@ }, { "themes": "Navigation générale", - "title": "Des liens d’évitement sont-ils présents ? ", + "title": "Des liens d'évitement sont-ils présents ? ", "ID": "testID-074", "IDorigin": "testID-074", "wcag": [], @@ -727,13 +729,13 @@ }, { "themes": "Navigation générale", - "title": "Des informations sur l’emplacement de l’utilisateur dans un ensemble de page sont-elles disponibles ? ", + "title": "Des informations sur l'emplacement de l'utilisateur dans un ensemble de page sont-elles disponibles ? ", "ID": "testID-075", "IDorigin": "testID-075", "wcag": [ "2.4.8 AAA" ], - "verifier": "

Vérifier que la position courante de l'utilisateur au sein d'un site est matérialisée visuellement et programmatiquement :

", + "verifier": "

Vérifier que la position courante de l'utilisateur au sein d'un site est matérialisée visuellement et programmatiquement :

", "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": "

Le critère est non applicable :

", + "exception": "

Le critère est non applicable :

", "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": "", "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).

", - "complement": "
Complément

La présence de raccourcis peut être détectée en utilisant ce bookmarklet raccourcis clavier

", + "complement": "
Complément d'information

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", "resultatTest": "nt", @@ -867,7 +869,7 @@ "2.4.7 AA" ], "verifier": "

Le focus doit toujours être présent et suffisament visible sur tous les éléments focusables.

", - "complement": "
Complément

Si le focus par défaut du navigateur est désactivé, un focus personnalisé doit être affiché en remplacement.

", + "complement": "
Complément d'information

Si le focus par défaut du navigateur est désactivé, un focus personnalisé doit être affiché en remplacement.

", "moreInfo":"https://a11y-guidelines.orange.com/fr/web/developper/navigation-clavier/#rendre-visible-le-focus-en-toute-circonstance", "priority": "P2", "resultatTest": "nt", @@ -970,7 +972,7 @@ "1.3.2 A" ], "verifier": "

Si un ordre de lecture spécifique est obligatoire pour comprendre un contenu de la page :
quand le CSS est désactivé, vérifier que ce contenu lu de façon linéaire reste compréhensible.

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.

", - "complement": "
Compléments d'information

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 :

", + "complement": "
Compléments d'information

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 :

", "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": "

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 :

", - "complement":"
Complément

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 :

", + "complement":"
Complément d'information

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", "priority": "P2", @@ -1201,7 +1203,7 @@ "1.4.2 A" ], "verifier": "

Il est possible de :

", - "complement":"
Complément

Le mécanisme doit être facilement atteignable

", + "complement":"
Complément d'information

Le mécanisme doit être facilement atteignable

", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-non-textuel/#rendre-accessible-les-pistes-audio-ou-video", "priority": "P3", From bc19f4342cb873d20d7c822f99db3ca1feef5140 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 4 Feb 2025 10:56:39 +0100 Subject: [PATCH 02/17] update --- json/criteres-wcag-ease-fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index c5c91b2..bcabb8a 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -9,7 +9,7 @@ ], "verifier": "", "exception": "

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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximté du champ de formulaire.

", + "complement": "
Complément d'information

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", "priority": "P0", From c39f0aad2b183ee982f237dee25f5b85d559665b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 4 Feb 2025 14:16:45 +0100 Subject: [PATCH 03/17] reorganize exceptions cases --- json/criteres-wcag-ease-en.json | 11 +++++------ json/criteres-wcag-ease-fr.json | 13 ++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/json/criteres-wcag-ease-en.json b/json/criteres-wcag-ease-en.json index d33f468..51d3927 100644 --- a/json/criteres-wcag-ease-en.json +++ b/json/criteres-wcag-ease-en.json @@ -7,8 +7,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
  • A label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", - "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.

", + "verifier": "
  • A label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.

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": "
Additionally

A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field.

", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", @@ -90,8 +89,9 @@ "3.3.2 A" ], "verifier": "
  • A text or a visual element (symbol such as an asterisk, an image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • In the code, one of the techniques must be implemented:
    • The text or visual element must be embedded in the label tag or linked to the form field (e.g. with a aria-labelledby...)
    • presence of the required attribute or aria-required
", + "complement": "
Additionally

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)

", + "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.", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#make-form-fields-accessible", "priority": "P1", "resultatTest": "nt", @@ -136,7 +136,7 @@ "3.3.1 A" ], "verifier": "

Check that:

  • an error message is present visually,
  • the field in error is precisely identified by the error message,
  • the nature of the error is clear (e.g., required phone field, invalid email format…).
", - "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.

", + "complement":"

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).

", "group": "Form", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections", "priority": "P2", @@ -167,9 +167,8 @@ "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.

", + "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:

  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password
  • Previously provided information that is no longer valid
", "complement":"
Additionally

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":"
  1. An activity (memory game) where re-entering information is essential
  2. Security information such as double-entering a user-created password
  3. Previously provided information that is no longer valid
", "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": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ de formulaire possède un attribut title
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", - "exception": "

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.

", + "verifier": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ de formulaire possède un attribut title
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.

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.

", "complement": "
Complément d'information

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", @@ -41,7 +40,7 @@ "4.1.2 A" ], "verifier": "
  • Toutes les étiquettes sont bien liées à leurs champs, grâce à :
    • un attribut ARIA aria-labelledby dans le champ
    • un attribut ARIA aria-label dans le champ
    • une balise label avec un attribut for référençant l'id du champ
    • un attribut title dans la balise input du champ
  • Tous les formats de données présents sont bien liés à leurs champs, en l'intégrant :
    • directement dans la balise label
    • en modifiant l'attribut aria-label du champ
    • en ajoutant l'ID du format dans l'attribut aria-labelledby du champ
    • en modifiant l'accessible description du champ avec l'attribut aria-describedby
", - "complement": "
Complément d'information

Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné par une des techniques citées ci-dessus.

", + "complement": "
Complément d'information

Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné d'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", @@ -90,7 +89,8 @@ "3.3.2 A" ], "verifier": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Dans le code, l'une des techniques doit être implémentée :
    • Le texte ou l'élément visuel doit être intégré dans la balise label ou lié au champ du formulaire (ex: avec un aria-labelledby...)
    • présence de l'attribut required ou aria-required
", - "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)

", + "complement":"
Complément d'information

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.

", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#rendre-accessibles-les-champs-de-formulaire", "priority": "P1", @@ -136,7 +136,7 @@ "3.3.1 A" ], "verifier": "

Vérifier que :

  • le message d'erreur est présent visuellement,
  • il permet d'identifier explicitement le champ en erreur,
  • la nature de l'erreur est claire (ex. : champ téléphone obligatoire, format de l'email invalide…).
", - "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.

", + "complement": "

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).

", "group": "Formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#detecter-identifier-les-erreurs-et-suggerer-des-corrections", "priority": "P2", @@ -167,9 +167,8 @@ "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.

", + "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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "complement":"
Complément d'information

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":"
  1. Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  2. Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  3. Des informations préalablement renseignées qui ne sont plus valides
", "group": "Formulaire", "moreInfo": "", "priority": "P3", From 641e301a24070d8f9f953064b8e75ab03c97c96b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Fri, 7 Feb 2025 17:18:42 +0100 Subject: [PATCH 04/17] updates --- json/criteres-wcag-ease-en.json | 87 ++++++++++++++++----------------- json/criteres-wcag-ease-fr.json | 87 ++++++++++++++++----------------- 2 files changed, 86 insertions(+), 88 deletions(-) diff --git a/json/criteres-wcag-ease-en.json b/json/criteres-wcag-ease-en.json index 51d3927..83daa78 100644 --- a/json/criteres-wcag-ease-en.json +++ b/json/criteres-wcag-ease-en.json @@ -88,10 +88,9 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "
  • A text or a visual element (symbol such as an asterisk, an image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • In the code, one of the techniques must be implemented:
    • The text or visual element must be embedded in the label tag or linked to the form field (e.g. with a aria-labelledby...)
    • presence of the required attribute or aria-required
", - "complement": "
Additionally

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": "
  • A text or a visual element (symbol such as an asterisk, an image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • In the code, one of the techniques must be implemented:
    • The text or visual element must be embedded in the label tag or linked to the form field (e.g. with a aria-labelledby...)
    • presence of the 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:

  • an alternate authentication method
  • help for the user
  • a cognitive test that consists in recognizing objects (images, video, audio)
  • a cognitive test that consists in identifying non-textual personal content (images, video, audio) that the user has previously provided to the website

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": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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 user:
    • to paste the verification code
    • to plug in a USB key and click a button to enter a code available for a limited time
    • to scan a QR code via an application on their device to confirm their identity
    • to receive a notification on their device to confirm their identity (e.g., by a user-defined PIN code, fingerprint, facial recognition)
  • a user agent to automatically enter the verification code

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": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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.

  • In the case of a two-factor authentication process based on the recognition of a non-textual personal content, the security conditions must prevent a third party from guessing which image to be recognized.
  • If the user has to transcribe text (e.g.: creating a password for the 1st time, which will then be saved in password management software), the option of showing the characters entered must be proposed.
", - "exception": "", "complement": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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": "
  • Check that elements resembling headings use the correct heading tags (hn, role='heading')
  • Check that the heading levels are prioritized in a logical oder (without strict requirement of a single heading level skip)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "complement":"
Additionally

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": "
  • Level headings should be relevant and help understand the content of the page.
  • Headings should accurately describe the section of content they present.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "complement":"
Additionally

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.

", - "exceptions": "

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": "
  • Check that image and graphics elements (img, input / object type='image', embed, canvas) are not used to present text.
\n

Not applicable if there is no image containing text

", - "exceptions": "
  • SVG (real text),
  • special cases (e.g.: logo, captcha, tradename)
  • The item is essential
  • The image is customizable by the user
", + "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:

  • SVG (real text),
  • special cases (e.g.: logo, captcha, tradename)
  • The item is essential
  • The image is customizable by the user
", + "exception": "Not applicable if there is no image containing text.", "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", @@ -445,7 +440,7 @@ "4.1.2 A" ], "verifier": "

Check that the value of the title attribute describes the content or the purpose of the iframe or frame element.

", - "exception": "
  • A properly masked non-informative frame or iframe does not need a title.
  • A 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.
", + "exception": "The criterion is not applicable fow following cases:
  • A properly masked non-informative frame or iframe does not need a title.
  • A 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.
", "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", @@ -460,7 +455,7 @@ "1.4.3 AA" ], "verifier": "
  • Check that the contrast is sufficient in order that the information communicated by a text or by an image containing a text (text image) can be understood.
    • For regular text:
      • Font size less than 24 CSS pixels : contrast ratio 4.5:1
      • Font size greater than or equal to 24 CSS pixels : contrast ratio 3:1
    • For bold text
      • Font size less than 18.5 CSS pixels : contrast ratio 4.5:1
      • Font size greater than or equal to 18.5 CSS pixels : contrast ratio 3:1
  • For non-underlined links, check that there is sufficient contrast between the body text and the link text
", - "exception": "

Logos 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": "
  • logos
  • if text, such as a label or data table, provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • inactive components or its display is managed as is by the user agent
", + "exception": "The criterion is not applicable for followinf cases:
  • logos
  • if text, such as a label or data table, provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • inactive components or its display is managed as is by the user agent
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#provide-enough-contrast-between-front-and-background-colors", "priority": "P1", "resultatTest": "nt", @@ -504,7 +499,8 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a website's navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", + "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)
", + "exception":"The criterion is not applicable for following cases:
  • Links that are explicit in nature, for example links that are in a website's navigation areas (page headers and footers, menus or link lists…)
  • If no information is conveyed by the use of colour
", "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", @@ -518,7 +514,8 @@ "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, an alternative or an explicit message.

Examples of non-conformities:

  • identification of an information only with its position: \"to go to the next page, press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"

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:

  • identification of an information only with its position: \"to go to the next page, press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
", + "exception":"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", @@ -532,7 +529,8 @@ "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 )

\n

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 )

", + "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'

", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "P3", @@ -548,7 +546,7 @@ "2.4.4 A" ], "verifier": "

Users should be able to determine, with the help of the context, if they want to follow a link to understand his destination.

  • check that there is not any identical link text pointing to different locations (URLs)
  • check that it is possible to determine the action or destination of a link only by its accessible name
  • If none of these above points are compliant, ensure that the target of a link can be inferred from its context
", - "exception": "

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": "
How to determine the context of the link:

The context of the link constitutes additional information that helps the user understand the purpose. check that this additional information is located either:

  • in the same phrase
  • in the same paragraph (p)
  • in the same list element (li)
  • in the same table cell (td)
  • in the table header cell (th), associated with the cell of the link (td)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "P3", @@ -564,7 +562,7 @@ "2.4.9 AAA" ], "verifier": "

The user must be able to understand the destination of links even taken out of their context.

  • check that it is possible to determine the action or the destination of a link only from its accessible name
  • check that there are no identical labels pointing to different destinations
", - "exception": "

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:

  • must be able to dismiss this additional content without moving the focus nor the mouse pointer
  • must be able to hover over it with the mouse (without this additional content disappearing)
  • it must remain displayed as long as the user does not trigger its closure (by moving the mouse, the focus, ESCAPE key…) and as long as this content remains valid
", - "exceptions": "
  • Additional content controlled by the user agent, e.g.: tooltip generated by the use of a title attribute.
  • If the additional content does not mask informative content, the criterion is not applicable
", + "exception": "The criterion is not applicable for following cases:
  • additional content controlled by the user agent, e.g.: tooltip generated by the use of a title attribute.
  • additional content which does not mask informative content
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -674,8 +672,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "

Check that one of the conditions below is met:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
", - "exceptions": "
  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
  • 20 hour exception: the time limit is longer than 20 hours.
", + "verifier": "

Check that one of the conditions below is met:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
  • 20 hour exception: the time limit is longer than 20 hours.
", + "exception": "The criterion is not applicable for following cases:
  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -689,8 +687,9 @@ "wcag": [ "3.2.1 A" ], - "verifier": "

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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", + "verifier": "

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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -704,8 +703,8 @@ "wcag": [ "3.2.2 A" ], - "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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", + "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.

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", + "complement": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

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:

\n
  • a main navigation menu
  • a table of contents
  • a sitemap
  • a search feature
", - "exception": "

Except 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:

\n
  • a main navigation menu
  • a table of contents
  • a sitemap
  • a search feature
", + "exception": "The criterion is not applicable for following cases:
  • there is less than 3 or 4 pages and/or the content is short
  • 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", @@ -763,7 +762,8 @@ "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": "

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:

  • An element is not visually positioned in the same place but in the same order (according to the source code) compared to the other common elements on the page.
  • The repositioning of help elements is caused by a display change initiated by the user (change of orientation, page resolution, activation of zoom, etc.).
  • An element such as an ad-hoc promotional link, which only appears on a single page and modifies the relative order of the help mechanism on this single page, can be ignored.
", "complement": "
Complément d'information
  • Help mechanisms can be an email address, a telephone number, a contact form, a chat, an FAQ, etc.
  • This criterion does not require the presence of help mechanisms. If they are present, check that their relative positioning is the same on the different pages of the site or application.
  • If the structure of the pages is modified according to user profiles (e.g., visitor profile or logged-in profile), check each profile separately.
", - "exception": "
  • Compliant: An element is not visually positioned in the same place but in the same order (according to the source code) compared to the other common elements on the page.
  • Compliant: The repositioning of help elements is caused by a display change initiated by the user (change of orientation, page resolution, activation of zoom, etc.).
  • Compliant: An element such as an ad-hoc promotional link, which only appears on a single page and modifies the relative order of the help mechanism on this single page, can be ignored.
  • Not applicable: Pages that would have nothing to do with each other from a visual and functional point of view (e.g., on an e-shop website, during payment process, the template may change and the payment page is functionally and visually completely different).
  • Not applicable if a help mechanism is only present on one page OR if the help mechanism is absent from the current page.
", + "exception": "The criterion is not applicable for following cases:
  • pages that would have nothing to do with each other from a visual and functional point of view (e.g., on an e-shop website, during payment process, the template may change and the payment page is functionally and visually completely different).
  • the help mechanism is only present on one page OR the help mechanism is absent from the current page.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/common-navigation/#ensure-that-the-help-elements-are-placed-in-the-same-relative-order-on-the-pages-that-include-them", "priority": "P1", "resultatTest": "nt", @@ -808,8 +808,8 @@ "wcag": [ "2.1.1 A" ], - "verifier": "
  • Check that the functionalities available by using the mouse can also be accessed using only the keyboard
  • Check that the content displayed on hover (e.g.: popin, tooltip) is also displayed when focus is received

Criteria is not applicable for tooltips generated by the user agent (for example, that of the title attribute)

", - "exception": "

Criteria is not applicable:

  • for user-agent generated tooltips (e.g.: title attribute)
  • for the case where the underlying function requires the user to execute a path and not just the two endpoints
", + "verifier": "
  • Check that the functionalities available by using the mouse can also be accessed using only the keyboard
  • Check that the content displayed on hover (e.g.: popin, tooltip) is also displayed when focus is received

Criteria is not applicable for tooltips generated by the user agent (for example, that of the title attribute)

", + "exception": "The criterion is not applicable for following cases:
  • user-agent generated tooltips (e.g.: title attribute)
  • the underlying function requires the user to execute a path and not just the two endpoints
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/keyboard-navigation/#allow-the-use-of-the-main-features-of-the-application-with-the-keyboard", "priority": "P0", "resultatTest": "nt", @@ -838,7 +838,7 @@ "2.1.4 A" ], "verifier": "
  • the shortcut can be disabled by the user
  • the shortcut is only active when the interface component has focus
  • A mechanism is available to remap the shortcut to include one or more non-printable keyboard keys (Ctrl, Alt…)
", - "exception": "

Keyboard shortcuts that include accesskey or a modifier key are not affected (non-printable character key, for instance Ctrl, Alt or Shift).

", + "exception": "The criterion is not applicable to keyboard shortcuts that include accesskey or a modifier key (non-printable character key, for instance Ctrl, Alt or Shift).", "complement": "
Additional information

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:

  • If the interactive element has a target size smaller than the minimum of 24*24 CSS pixels but is placed so that a circle with a diameter of 24 CSS pixels centered on the target does not overlap with another target or the circle for an undersized target.
  • If the target size of the interactive element is less than 24*24 CSS pixels but there is a compliant alternative in the page that allows the same action.
  • If the interactive element is embedded in a sentence or its size is constrained by the line height of surrounding non-interactive text.
", - "exception":"

Not applicable if:

  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by legal obligations. In this case, it is still recommended to provide alternatives when possible.
", + "exception":"The criterion is not applicable if:
  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by legal obligations. In this case, it is still recommended to provide alternatives when possible.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/layout/#define-sensitive-areas-of-sufficient-size", "priority": "P2", "resultatTest": "nt", @@ -1045,8 +1045,7 @@ "wcag": [ "2.5.2 A" ], - "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):

  • Check that no action is triggered on the down-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.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • For complex actions (e.g.: drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.
", - "exceptions": "

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):

  • Check that no action is triggered on the '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.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • For complex actions (e.g.: drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.

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.

", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#allow-to-cancel-the-triggering-of-gestural-interactions", "priority": "P1", "resultatTest": "nt", @@ -1061,7 +1060,7 @@ "2.5.4 A" ], "verifier": "
  • Check that these actions can also be operated by user interface components (e.g.: button)
  • Check that it is possible to disable the motion detection
", - "exceptions": "

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:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native and unmodified< /li>
", + "exception": "The criterion is not applicable for following cases:
  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native and unmodified< /li>
", "complement":"
Additionally

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:

  • a bank check
  • an application for playing the piano
  • slides for a television or projector...
", + "exception": "The criterion is not applicable if an orientation is considered essential, examples:
  • a bank check
  • an application for playing the piano
  • slides for a television or projector...
", "group": "Touch Screen", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#give-access-to-the-content-regardless-of-the-orientation-of-the-screen", "priority": "P3", diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index 0906b0a..fd22e63 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -88,9 +88,8 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Dans le code, l'une des techniques doit être implémentée :
    • Le texte ou l'élément visuel doit être intégré dans la balise label ou lié au champ du formulaire (ex: avec un aria-labelledby...)
    • présence de l'attribut required ou aria-required
", - "complement":"
Complément d'information

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": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Dans le code, l'une des techniques doit être implémentée :
    • Le texte ou l'élément visuel doit être intégré dans la balise label ou lié au champ du formulaire (ex: avec un aria-labelledby...)
    • présence de l'attribut 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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", + "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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "complement":"
Complément d'information

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 :

  • une autre méthode d'authentification
  • une aide pour l'utilisateur
  • un test cognitif qui consiste à reconnaitre des objets (images, vidéo, audio)
  • un test cognitif qui consiste à identifier le contenu personnel non textuel (images, vidéo, audio) que l'utilisateur a fourni préalablement au site Web

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": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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 :

  • à l'utilisateur :
    • de coller le code de vérification
    • de brancher une clé USB où il lui suffit d'appuyer sur un bouton pour entrer un jeton valable pendant une durée limitée
    • de scanner un QR code par une application présente sur son appareil pour confirmer son identité
    • de recevoir une notification sur son appareil qui lui permet de confirmer son identité (par exemple, par un code PIN défini par l'utilisateur, une empreinte digitale, une reconnaissance faciale)
  • à un agent utilisateur de renseigner automatiquement le code de vérification

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": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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.

  • S'il s'agit d'une authentification à double facteur qui se fait par la reconnaissance d'un contenu personnel non textuel, les conditions de sécurité doivent permettre d'éviter à une tierce personne de deviner quelle est l'image à reconnaitre.
  • Dans le cas où l'utilisateur est obligé de transcrire du texte (ex : création pour la première fois d'un mot de passe qui sera ensuite enregistré dans un logiciel de gestion de mot de passe), la possibilité de montrer les caractères saisis doit être proposée.
", - "exception": "", "complement": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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": "
  • vérifier que les éléments qui ressemblent visuellement à des titres sont bien balisés comme tels (hn, role='heading')
  • vérifier que les niveaux de titres sont hiérarchisés de manière logique (sans obligation stricte d'un seul saut de niveau de titre)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "complement":"
Complément d'information

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": "
  • Les titres de niveaux doivent être pertinents et aider à comprendre le contenu de la page.
  • Les titres doivent décrire précisement la section de contenu qu'ils présentent.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "complement":"
Complément d'information

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.

", - "exception": "

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": "
  • vérifier que des images (img, input / object type='image', embed, canvas) ne sont pas utilisées pour présenter du texte.
\n

Non applicable, si aucune image ne contient de texte

", - "exception": "
  • SVG (vrai texte)
  • cas particuliers (ex : logo, captcha, dénomination commerciale)
  • l'élément est nécessaire
  • l'image est visuellement modifiable par l'utilisateur
", + "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 :

  • SVG (vrai texte)
  • cas particuliers (ex : logo, captcha, dénomination commerciale)
  • l'élément est nécessaire
  • l'image est visuellement modifiable par l'utilisateur
", + "exception": "Non applicable, si aucune image ne contient de texte", "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", @@ -445,7 +440,7 @@ "4.1.2 A" ], "verifier": "

Vérifier que la valeur des attributs title décrit le contenu ou la fonction de iframe ou frame.

", - "exception": "
  • Une frame ou iframe non-informative masquée convenablement n'a pas besoin de title.
  • Un 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.
", + "exception": "Critère non-applicable pour les cas suivants :
  • Une frame ou iframe non-informative masquée convenablement n'a pas besoin de title.
  • Un 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.
", "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", @@ -460,7 +455,7 @@ "1.4.3 AA" ], "verifier": "
  • vérifier que le contraste est suffisant pour comprendre l'information portée par tous les textes et les textes sous forme d'images.
    • Pour texte standard :
      • Taille inférieure à 24 px CSS : contraste de 4,5:1
      • Taille supérieure ou égale à 24 px CSS : contraste de 3:1
    • Pour les textes gras
      • Taille inférieure à 18,5 px CSS : contraste de 4,5:1
      • Taille supérieure ou égale à 18,5 px CSS : contraste de 3:1
  • vérifier que les liens non-soulignés ont un rapport de contraste suffisant avec le texte environnant
  • vérifier que le rapport de contraste est suffisant au survol de la souris et au focus
", - "exception":"

Les 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": "
  • les logos
  • si un texte, comme un label ou un tableau de données, apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", + "exception": "Le critère n'est pas applicable pour les cas suivants:
  • les logos
  • si un texte, comme un label ou un tableau de données, apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", "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", @@ -504,7 +499,8 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • cas particuliers des liens non soulignés dans du texte :
    • le lien doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)

Remarques :

  • sont exclus les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • critère non applicable, si aucune information n'est portée par de la couleur
", + "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • cas particuliers des liens non soulignés dans du texte :
    • le lien doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", + "exception":"Le critère est non-applicable pour les cas suivants :
  • Les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • Si aucune information n'est portée par de la couleur
", "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", @@ -518,7 +514,8 @@ "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, une alternative ou un message explicite.

Exemples de non conformités :

  • identification d'une information uniquement par sa position : \" pour aller à la page suivante appuyez sur le bouton à droite \", ou \" choisissez un des liens affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  • identification d'une information uniquement par sa position : \" pour aller à la page suivante appuyez sur le bouton à droite \", ou \" choisissez un des liens affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
", + "exception":"Le critère est 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", @@ -532,8 +529,9 @@ "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

\n

Non 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 »

", + "exception":"Le critère est non-applicable si aucun composant d'interface n'a de libellé texte visible (icônes sans texte, par exemple)", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P3", "resultatTest": "nt", @@ -548,7 +546,7 @@ "2.4.4 A" ], "verifier": "

L'utilisateur doit savoir s'il souhaite suivre un lien avec, si besoin, le contexte pour en comprendre la destination.

  • vérifier qu'il n'y a pas de libellés identiques pointant vers des destinations différentes
  • vérifier qu'il est possible de déterminer la destination d'un lien uniquement à partir de son nom accessible
  • si aucun des points précédents n'est respecté, vérifier que la cible d'un lien est au moins compréhensible grâce à son contexte.
", - "exception": "

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": "
Comment déterminer le contexte de lien :

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 :

  • dans la même phrase
  • dans le même paragraphe (p)
  • dans le même élément de liste (li)
  • dans la même cellule de tableau (td)
  • dans la cellule d'entête du tableau (th), associée à la cellule du lien (td)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P3", @@ -564,7 +562,7 @@ "2.4.9 AAA" ], "verifier": "

L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.

  • vérifier qu'il est possible de déterminer l'action ou la destination d'un lien, uniquement à partir de son nom accessible
  • vérifier qu'il n'y a pas de libellés identiques pointant vers des destinations différentes
", - "exception": "

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 :

  • intitulé du lien incluant la mention « nouvelle fenêtre »
  • présence d'un indice visuel (title, icône dans l'intitulé…) et de la mention « nouvelle fenêtre » dans le nom accessible.
", - "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

", + "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 :

  • doit pouvoir être masqué sans déplacer le focus ou le pointeur de la souris
  • doit pouvoir être survolé à la souris (sans entraîner sa disparition)
  • doit rester affiché tant que l'utilisateur ne déclenche pas sa fermeture (en déplaçant la souris, le focus, touche Échap.…) et tant que ce contenu reste valide
", - "exception": "
  • Les contenus additionnels contrôlés par l'agent utilisateur, par exemple : infobulle générée par l'utilisation d'un attribut title.
  • Si le contenu additionnel ne masque pas de contenu informatif, le critère est non applicable
", + "exception": "Le critère est non-applicable dans les cas suivants :
  • les contenus additionnels contrôlés par l'agent utilisateur, par exemple : infobulle générée par l'utilisation d'un attribut title.
  • les contenus additionnels ne masquant pas de contenu informatif
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -674,8 +672,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "

Vérifier qu'une des conditions ci-dessous est respectée :

  • possibilité de supprimer la limite de temps
  • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
  • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
", - "exception": "
  • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
  • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
  • l'exception des 20 heures : la limite de temps est supérieure à 20 heures.
", + "verifier": "

Vérifier qu'une des conditions ci-dessous est respectée :

  • possibilité de supprimer la limite de temps
  • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
  • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
  • la limite de temps est supérieure à 20 heures.
", + "exception": "Le critère est non-applicable dans les cas suivants :
  • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
  • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -689,7 +687,8 @@ "wcag": [ "3.2.1 A" ], - "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.

", + "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 de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", @@ -704,8 +703,8 @@ "wcag": [ "3.2.2 A" ], - "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 de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", + "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)

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", + "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web

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.

\n

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 :

  • un menu de navigation principal
  • une table des matières
  • un plan de site
  • un mécanisme de recherche
", - "exception": "

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 :

  • un menu de navigation principal
  • une table des matières
  • un plan de site
  • un mécanisme de recherche
", + "exception": "Le critère est non-applicable dans les cas suivants :
  • Le nombre de pages est inférieur à 3 ou 4 et/ou le contenu succinct
  • 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", @@ -763,7 +762,8 @@ "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": "

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 :

  • Un élément n'est pas positionné visuellement au même endroit mais pourtant dans le même ordre (selon le code source) par rapport aux autres éléments communs de la page.
  • Le repositionnement des éléments d'aide est engendré par un changement d'affichage à l'initiative de l'utilisateur (changement d'orientation, de résolution de la page, activation du zoom, etc.).
  • Un élément comme un lien promotionnel ad-hoc, qui n'apparaît que sur une seule page et modifie l'ordre relatif du mécanisme d'aide sur cette seule page, peut être ignoré.
", "complement": "
Complément d'information
  • 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.
  • Ce critère n'impose pas la présence de mécanismes d'aide. S'ils sont présents, vérifier que leur positionnement relatif est le même sur les différents pages du site ou de l'application.
  • Si la structure des pages est modifiée selon les profils d'utilisation (par exemple profil visiteur ou profil connecté), il convient de faire la vérification indépendamment pour chaque profil.
", - "exception": "
  • Conforme : Un élément n'est pas positionné visuellement au même endroit mais pourtant dans le même ordre (selon le code source) par rapport aux autres éléments communs de la page.
  • Conforme : Le repositionnement des éléments d'aide est engendré par un changement d'affichage à l'initiative de l'utilisateur (changement d'orientation, de résolution de la page, activation du zoom, etc.).
  • Conforme : Un élément comme un lien promotionnel ad-hoc, qui n'apparaît que sur une seule page et modifie l'ordre relatif du mécanisme d'aide sur cette seule page, peut être ignoré.
  • Non-applicable : Des pages qui n'auraient rien à voir d'un point de vue visuel et fonctionnel (exemple : sur un site de e-commerce, lors du processus de paiement, le template peut changer et la page de paiement est fonctionnellement et visuellement totalement différente).
  • Non applicable si un mécanisme d'aide n'est présent que sur une seule page OU si le mécanisme d'aide est absent de la page en cours.
", + "exception": "Le critère n'est pas applicable dans les cas suivants :
  • des pages qui n'auraient rien à voir d'un point de vue visuel et fonctionnel (exemple : sur un site de e-commerce, lors du processus de paiement, le template peut changer et la page de paiement est fonctionnellement et visuellement totalement différente).
  • le mécanisme d'aide n'est présent que sur une seule page OU le mécanisme d'aide est absent de la page en cours.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/navigation-generale/#sassurer-que-les-elements-daide-sont-places-dans-le-meme-ordre-relatif-sur-les-pages-qui-les-integrent", "priority": "P1", "resultatTest": "nt", @@ -809,7 +809,7 @@ "2.1.1 A" ], "verifier": "
  • vérifier que les fonctionnalités disponibles à la souris sont également disponibles au clavier
  • vérifier que les contenus apparaissant au survol (exemple : popin, modale, infobulle) apparaissent également au focus
", - "exception": "

Le critère est non applicable :

  • pour les infobulles générés par l'agent utilisateur (par exemple, celui de l'attribut title)
  • pour le cas où la fonction sous-jacente nécessite l'exécution d'un chemin par l'utilisateur et pas seulement des deux points terminaux
", + "exception": "Le critère est non applicable pour les cas suivants :
  • les infobulles sont générées par l'agent utilisateur (par exemple, celui de l'attribut title)
  • la fonction sous-jacente nécessite l'exécution d'un chemin par l'utilisateur et pas seulement des deux points terminaux
", "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 +838,7 @@ "2.1.4 A" ], "verifier": "
  • le raccourci peut être désactivé par l'utilisateur
  • le raccourci est actif uniquement à la prise de focus du composant de l'interface
  • le raccourci peut être modifié, avec la possibilité d'ajouter un ou plusieurs caractères non-imprimables (Ctrl, Alt…) à la combinaison
", - "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).

", + "exception": "Le critère n'est pas applicable aux raccourcis par accesskey ni aux raccourcis clavier utilisant une touche de modification (touche de caractère non imprimables, par exemple Ctrl, Alt ou Shift).", "complement": "
Complément d'information

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 :

  • Si l'élément interactif a une surface inférieure à la surface minimale de 24*24 px CSS mais est placé de manière à ce qu'un cercle de 24 px CSS de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
  • Si la surface de l'élément interactif est inférieure à 24*24 px CSS mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
  • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
", - "exception":"

Critère non applicable si :

  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", + "exception":"Critère non applicable si :
  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/mise-en-page/#definir-des-zones-sensibles-de-taille-suffisante", "priority": "P2", "resultatTest": "nt", @@ -1045,8 +1045,7 @@ "wcag": [ "2.5.2 A" ], - "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 :

  • vérifier qu'aucune action n'est déclenchée sur le 'down event' (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.
  • si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur.
  • pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple
", - "exception": "

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 :

  • vérifier qu'aucune action n'est déclenchée sur un événement '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.
  • si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur.
  • pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple

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.

", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#permettre-dannuler-le-declenchement-des-interactions", "priority": "P1", "resultatTest": "nt", @@ -1061,7 +1060,7 @@ "2.5.4 A" ], "verifier": "
  • vérifier que ces actions sont également disponibles depuis un composant d'interface (ex. : bouton)
  • vérifier qu'il est possible de désactiver la détection de mouvement
", - "exception": "

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 :

  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native et non modifiée
", + "exception": "Le critère est non applicable dans les cas suivants :
  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native et non modifiée
", "complement":"
Complément d'information

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 :

  • un chèque bancaire
  • une application pour du piano
  • des diapositives pour un téléviseur ou projecteur..
", + "exception" : "Le critère est non-applicable si une orientation est jugé essentielle, exemples :
  • un chèque bancaire
  • une application pour du piano
  • des diapositives pour un téléviseur ou projecteur..
", "group": "Tactile", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#donner-acces-au-contenu-quelle-que-soit-lorientation-de-lecran", "priority": "P3", From 8f93a0cf367ab428414516e2a7def38a98e4a44c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 11 Feb 2025 14:04:26 +0100 Subject: [PATCH 05/17] fix #187 --- json/criteres-wcag-ease-en.json | 2 +- json/criteres-wcag-ease-fr.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/json/criteres-wcag-ease-en.json b/json/criteres-wcag-ease-en.json index 83daa78..29b7b69 100644 --- a/json/criteres-wcag-ease-en.json +++ b/json/criteres-wcag-ease-en.json @@ -499,7 +499,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)
", + "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • colors conveying information should be well differentiated by hue and brightness (i.e., the contrast between colors must be greater than 3:1). For example: light green and dark red.

Particular case of non-underlined links in text:

  • the link must have at least a 3:1 contrast ratio with the surrounding text
  • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)
", "exception":"The criterion is not applicable for following cases:
  • Links that are explicit in nature, for example links that are in a website's navigation areas (page headers and footers, menus or link lists…)
  • If no information is conveyed by the use of colour
", "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", diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index fd22e63..06db2be 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -499,7 +499,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • cas particuliers des liens non soulignés dans du texte :
    • le lien doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", + "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • les couleurs portant l'information sont bien différenciées selon leur teinte et leur luminosité (i.e le contraste entre les couleurs doit être supérieure à 3:1). Par exemple : vert clair et rouge foncé

Cas particuliers des liens non soulignés dans du texte :

  • le lien doit avoir un contraste de 3:1 avec le texte environnant
  • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", "exception":"Le critère est non-applicable pour les cas suivants :
  • Les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • Si aucune information n'est portée par de la couleur
", "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", From 5462a2d7a2f07126a635c03b3b43ccac87276434 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 11 Feb 2025 14:05:49 +0100 Subject: [PATCH 06/17] update --- json/criteres-wcag-ease-fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index 06db2be..8cd20be 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -499,7 +499,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • les couleurs portant l'information sont bien différenciées selon leur teinte et leur luminosité (i.e le contraste entre les couleurs doit être supérieure à 3:1). Par exemple : vert clair et rouge foncé

Cas particuliers des liens non soulignés dans du texte :

  • le lien doit avoir un contraste de 3:1 avec le texte environnant
  • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", + "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • les couleurs portant l'information sont bien différenciées selon leur teinte et leur luminosité (i.e le contraste entre les couleurs doit être supérieur à 3:1). Par exemple : vert clair et rouge foncé

Cas particuliers des liens non soulignés dans du texte :

  • le lien doit avoir un contraste de 3:1 avec le texte environnant
  • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", "exception":"Le critère est non-applicable pour les cas suivants :
  • Les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • Si aucune information n'est portée par de la couleur
", "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", From fda61efe1c44262872d4d97104c9354a16698462 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Tue, 11 Feb 2025 15:26:16 +0100 Subject: [PATCH 07/17] update tests after web --- json/criteres-wcag-android-en.json | 11 ++++++----- json/criteres-wcag-android-fr.json | 21 +++++++++++---------- json/criteres-wcag-ios-en.json | 15 ++++++++------- json/criteres-wcag-ios-fr.json | 29 +++++++++++++++-------------- 4 files changed, 40 insertions(+), 36 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 0cba8ca..99a7181 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -8,7 +8,8 @@ "3.3.2 A" ], "verifier": "

Check that:

  • a label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", - "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.

", + "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": "
Additional information

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:

  • another method of authentication
  • help is available for the user
  • the cognitive test consists of recognizing objects
  • the cognitive test consists of identifying the non-textual content that the user has provided to the mobile application

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.

", - "complement": "
Complementary information

A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.

", + "complement": "
Additional information

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": "
  • logos
  • if text provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • disabled components
", + "exception": "
  • logos
  • if text provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • the lack of contrast is necessary to convey information
  • disabled components
  • display is managed by the user agent
", "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", @@ -248,7 +249,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a webviews’s navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", + "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a webviews's navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", "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", @@ -565,7 +566,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": "
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": "
Additional information

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:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native is unmodified
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index 8e2391f..3eae256 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -7,10 +7,11 @@ "wcag": [ "3.3.2 A" ], - "verifier": "

Vérifier que :

  • une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d’un texte qui devient visible à la prise de focus.
", - "exception": "

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 :

  • une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", + "exception": "

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": "
Complément d'information

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 :

  • une autre méthode d'authentification
  • une aide est disponible pour l'utilisateur
  • le test cognitif consiste à reconnaitre des objets
  • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au application mobile

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.

", - "complement":"
Compléments d'information

Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.

", + "complement":"
Complément d'information

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":"
Compléments d'information

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":"
Complément d'information

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":"
  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", @@ -238,7 +239,7 @@ "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 logos
  • si un texte apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • Le manque de contraste est nécessaire pour convoyer l'information
  • les composants inactifs
", + "exception": "
  • les logos
  • si un texte apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", "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", @@ -266,7 +267,7 @@ "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 :

  • identification d’une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l’image pour en savoir plus \"
  • identification d’une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  • identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  1. Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d’identifier la nature des données présentées dans le tableau).
  2. Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau)
  3. Les entêtes ne doivent pas être vides
  4. Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données
", + "verifier": "

Si le tableau est un tableau de données :

  1. Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  2. Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau)
  3. Les entêtes ne doivent pas être vides
  4. Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données
", "priority": "P2", "resultatTest": "nt", "goodPractice": false @@ -568,7 +569,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": "
Complément

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": "
Complément d'information

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 :

  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native est non modifiée
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", @@ -642,7 +643,7 @@ ], "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", - "complement":"
Compléments d'information

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":"
Complément d'information

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:

  • a label is visually present near the form field,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", - "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.

", + "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": "
Additional information

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:

  • another method of authentication
  • help is available for the user
  • the cognitive test consists of recognizing objects
  • the cognitive test consists of identifying the non-textual content that the user has provided to the mobile application

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.

", - "complement": "
Complementary information

A cognitive test is a task that requires the user to memorize, manipulate or transcribe information.

", + "complement": "
Additional information

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": "
  • logos
  • if text provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • disabled components
", + "exception": "
  • logos
  • if text provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • the lack of contrast is necessary to convey information
  • disabled components
  • display is managed by the user agent
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -252,7 +253,7 @@ "wcag": { "0": "1.4.1 A" }, - "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a webviews’s navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", + "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a webviews's navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -547,11 +548,11 @@ "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. 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": "
Exemple

Zoom sur une carte : des boutons (+ / -) sont disponibles, en alternative au pincé.

" + "complement": "
Example

Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.

" }, { "themes": "Common navigation", @@ -562,7 +563,7 @@ "0": "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 point action).

", - "complement": "
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": "
Additional information

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:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native is unmodified
", "resultatTest": "nt", "priority": "P3", diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index 81df2df..077ce41 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -7,8 +7,9 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d’un texte qui devient visible à la prise de focus.
", - "exception": "

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": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", + "exception": "

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": "
Complément d'information

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 :

  • une autre méthode d'authentification est proposée
  • une aide est disponible pour l'utilisateur
  • le test cognitif consiste à reconnaitre des objets
  • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au site Web.

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.

", "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)

", - "complement":"
Compléments d'information

Un test cognitif est une tâche qui oblige l'utilisateur à mémoriser, manipuler ou transcrire des informations.

", + "complement":"
Complément d'information

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":"
Compléments d'information

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":"
Complément d'information

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": "
  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe
  • Des informations préalablement renseignées qui ne sont plus valides
", "group": "Champ de formulaire", "resultatTest": "nt", @@ -253,7 +254,7 @@ "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 logos
  • si un texte apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • Le manque de contraste est nécessaire pour convoyer l'information
  • les composants inactifs
", + "exception": "
  • les logos
  • si un texte apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -280,7 +281,7 @@ "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 :

  • Identification d’une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l’image pour en savoir plus \"
  • Identification d’une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  • Identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • Identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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": "
  • Sur iOS, suite à l'agrandissement de texte à 235%, les textes de taille \"standard\" doivent s'agrandir conformément aux réglages natifs (ex. texte 17pt agrandi à 40pt d'après les spécifications Apple).
  • Le contenu est présenté sans perte d’information ni de fonctionnalité(contenu tronqué, masqué ou superposé) et sans nécessité de défilement dans les deux dimensions.
", - "complement": "
Compléments d'information
  • Certains textes comme les titres peuvent être agrandis de moins de 200% en fonction de leur taille d'origine (ex. titre 28pt agrandi à 48pt d'après les spécifications Apple)
  • De même, certains éléments natifs tels que la barre d'onglets peuvent ne pas s'agrandir (limitation de l'OS).
", + "verifier": "
  • Sur iOS, suite à l'agrandissement de texte à 235%, les textes de taille \"standard\" doivent s'agrandir conformément aux réglages natifs (ex. texte 17pt agrandi à 40pt d'après les spécifications Apple).
  • Le contenu est présenté sans perte d'information ni de fonctionnalité(contenu tronqué, masqué ou superposé) et sans nécessité de défilement dans les deux dimensions.
", + "complement": "
Complément d'information
  • Certains textes comme les titres peuvent être agrandis de moins de 200% en fonction de leur taille d'origine (ex. titre 28pt agrandi à 48pt d'après les spécifications Apple)
  • De même, certains éléments natifs tels que la barre d'onglets peuvent ne pas s'agrandir (limitation de l'OS).
", "resultatTest": "nt", "priority": "P2", - "exception": "

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 :

  • Chaque élément graphique porteur d'information est vocalisé de façon pertinente.
  • Les images contenant du texte ont une alternative reprenant au moins le texte visible.
  • Les images complexes ont une alternative détaillée fournie par un contenu adjacent.
  • Chaque élément interactif est restitué au moins par un nom pertinent.
  • Les contenus multimédias pré-enregistrés sont facilement identifiables (par une alternative pertinente ou un contenu textuel adjacent).
", - "complement": "
Compléments d'information
  • Si le contenu non textuel est un test ou un exercice qui serait invalide s’il était présenté sous forme de texte, alors l'alternative fournit au moins une description succinte de ce contenu.
  • Si le contenu non textuel est principalement destiné à créer une expérience sensorielle spécifique, alors l'alternative textuelle fournit au moins une description succinte de ce contenu.
", + "complement": "
Complément d'information
  • Si le contenu non textuel est un test ou un exercice qui serait invalide s'il était présenté sous forme de texte, alors l'alternative fournit au moins une description succinte de ce contenu.
  • Si le contenu non textuel est principalement destiné à créer une expérience sensorielle spécifique, alors l'alternative textuelle fournit au moins une description succinte de ce contenu.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -469,7 +470,7 @@ "wcag": [ "1.3.1 A" ], - "verifier": "
  • Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d’identifier la nature des données présentées dans le tableau).
  • Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau).
  • Les entêtes ne doivent pas être vides.
  • Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données.
", + "verifier": "
  • Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  • Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau).
  • Les entêtes ne doivent pas être vides.
  • Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données.
", "priority": "P2", "resultatTest": "nt", "goodPractice": false, @@ -636,7 +637,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": "
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": "
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 :

  • L'action de glisser/déposer est essentielle (jeux de dexterité par exemple)
  • La fonctionalité est native et non modifiée
", "resultatTest": "nt", "priority": "P3", @@ -709,7 +710,7 @@ "0": "3.2.6 A" }, "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": "
Compléments d'information

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": "
Complément d'information

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 Ayoul Date: Tue, 11 Feb 2025 15:50:36 +0100 Subject: [PATCH 08/17] remove web files --- json/criteres-wcag-ease-en.json | 96 +++++++++++++++++---------------- json/criteres-wcag-ease-fr.json | 94 ++++++++++++++++---------------- 2 files changed, 97 insertions(+), 93 deletions(-) diff --git a/json/criteres-wcag-ease-en.json b/json/criteres-wcag-ease-en.json index 29b7b69..efe4058 100644 --- a/json/criteres-wcag-ease-en.json +++ b/json/criteres-wcag-ease-en.json @@ -7,8 +7,9 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
  • A label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.

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": "
Additionally

A placeholder alone is not sufficient to provide a visible label ; it must be accompanied by a persistent text neat the form field.

", + "verifier": "
  • A label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", + "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": "
Additionally

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": "
  • A text or a visual element (symbol such as an asterisk, an image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • In the code, one of the techniques must be implemented:
    • The text or visual element must be embedded in the label tag or linked to the form field (e.g. with a aria-labelledby...)
    • presence of the 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": "
  • A text or a visual element (symbol such as an asterisk, an image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • In the code, one of the techniques must be implemented:
    • The text or visual element must be embedded in the label tag or linked to the form field (e.g. with a aria-labelledby...)
    • presence of the required attribute or aria-required
", "group": "Form", - "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).", + "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)

", "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:

  • an error message is present visually,
  • the field in error is precisely identified by the error message,
  • the nature of the error is clear (e.g., required phone field, invalid email format…).
", - "complement":"

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:

  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password
  • Previously provided information that is no longer valid
", + "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.

", "complement":"
Additionally

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":"
  1. An activity (memory game) where re-entering information is essential
  2. Security information such as double-entering a user-created password
  3. Previously provided information that is no longer valid
", "group": "Form", "moreInfo": "", "priority": "P3", @@ -185,6 +187,7 @@ "3.3.9 AAA" ], "verifier": "

Check that no step in an login/password authentication process relies on a cognitive test, unless that step provides:

  • an alternate authentication method
  • help for the user
  • a cognitive test that consists in recognizing objects (images, video, audio)
  • a cognitive test that consists in identifying non-textual personal content (images, video, audio) that the user has previously provided to the website

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": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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 user:
    • to paste the verification code
    • to plug in a USB key and click a button to enter a code available for a limited time
    • to scan a QR code via an application on their device to confirm their identity
    • to receive a notification on their device to confirm their identity (e.g., by a user-defined PIN code, fingerprint, facial recognition)
  • a user agent to automatically enter the verification code

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": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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.

  • In the case of a two-factor authentication process based on the recognition of a non-textual personal content, the security conditions must prevent a third party from guessing which image to be recognized.
  • If the user has to transcribe text (e.g.: creating a password for the 1st time, which will then be saved in password management software), the option of showing the characters entered must be proposed.
", + "exception": "", "complement": "
Additionally

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:

  • object recognition
  • identification of non-textual personal content (images, video, audio) previously supplied to the website by the user.

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": "
  • Check that elements resembling headings use the correct heading tags (hn, role='heading')
  • Check that the heading levels are prioritized in a logical oder (without strict requirement of a single heading level skip)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "exception":"The criterion is not applicable if no title is present.", + "complement":"
Additionally

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": "
  • Level headings should be relevant and help understand the content of the page.
  • Headings should accurately describe the section of content they present.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#start-sections-with-headings", - "exception":"The criterion is not applicable if no title is present.", + "complement":"
Additionally

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.

", + "exceptions": "

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:

  • SVG (real text),
  • special cases (e.g.: logo, captcha, tradename)
  • The item is essential
  • The image is customizable by the user
", - "exception": "Not applicable if there is no image containing text.", + "verifier": "
  • Check that image and graphics elements (img, input / object type='image', embed, canvas) are not used to present text.
\n

Not applicable if there is no image containing text

", + "exceptions": "
  • SVG (real text),
  • special cases (e.g.: logo, captcha, tradename)
  • The item is essential
  • The image is customizable by the user
", "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", @@ -440,7 +446,7 @@ "4.1.2 A" ], "verifier": "

Check that the value of the title attribute describes the content or the purpose of the iframe or frame element.

", - "exception": "The criterion is not applicable fow following cases:
  • A properly masked non-informative frame or iframe does not need a title.
  • A 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.
", + "exception": "
  • A properly masked non-informative frame or iframe does not need a title.
  • A 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.
", "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", @@ -455,7 +461,7 @@ "1.4.3 AA" ], "verifier": "
  • Check that the contrast is sufficient in order that the information communicated by a text or by an image containing a text (text image) can be understood.
    • For regular text:
      • Font size less than 24 CSS pixels : contrast ratio 4.5:1
      • Font size greater than or equal to 24 CSS pixels : contrast ratio 3:1
    • For bold text
      • Font size less than 18.5 CSS pixels : contrast ratio 4.5:1
      • Font size greater than or equal to 18.5 CSS pixels : contrast ratio 3:1
  • For non-underlined links, check that there is sufficient contrast between the body text and the link text
", - "exception": "The criterion is not applicable for logos, purely decorative text elements or text of inactive interface components.", + "exception": "

Logos 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:
  • logos
  • if text, such as a label or data table, provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • inactive components or its display is managed as is by the user agent
", + "exceptions": "
  • logos
  • if text, such as a label or data table, provides the same information as the icon or graphic element
  • if the lack of image contrast does not prevent the user from understanding the content or its purpose
  • The lack of contrast is necessary to convey information
  • inactive components or its display is managed as is by the user agent
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/colors-and-contrasts/#provide-enough-contrast-between-front-and-background-colors", "priority": "P1", "resultatTest": "nt", @@ -499,8 +505,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • colors conveying information should be well differentiated by hue and brightness (i.e., the contrast between colors must be greater than 3:1). For example: light green and dark red.

Particular case of non-underlined links in text:

  • the link must have at least a 3:1 contrast ratio with the surrounding text
  • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)
", - "exception":"The criterion is not applicable for following cases:
  • Links that are explicit in nature, for example links that are in a website's navigation areas (page headers and footers, menus or link lists…)
  • If no information is conveyed by the use of colour
", + "verifier": "

Check that colour is not the only means of conveying the information:

  • the information can also be obtained in text form
  • one (or more) visual aids are available to convey the same information (e.g.: icons using the same colours, but different shapes)
  • Particular case of non-underlined links in text:
    • the link must have at least a 3:1 contrast ratio with the surrounding text
    • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link or hovers over it with the mouse (e.g.: underlined)

Remarks:

  • are excluded links that are explicit in nature, for example links that are in a website's navigation areas (page headers and footers, menus or link lists…)
  • the criterion is not applicable if no information is conveyed by the use of colour
", "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", @@ -514,8 +519,7 @@ "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, an alternative or an explicit message.

Examples of non-conformities:

  • identification of an information only with its position: \"to go to the next page, press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
", - "exception":"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:

  • identification of an information only with its position: \"to go to the next page, press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"

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 )

\n

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'

", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "P3", @@ -546,7 +549,7 @@ "2.4.4 A" ], "verifier": "

Users should be able to determine, with the help of the context, if they want to follow a link to understand his destination.

  • check that there is not any identical link text pointing to different locations (URLs)
  • check that it is possible to determine the action or destination of a link only by its accessible name
  • If none of these above points are compliant, ensure that the target of a link can be inferred from its context
", - "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.", + "exception": "

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": "
How to determine the context of the link:

The context of the link constitutes additional information that helps the user understand the purpose. check that this additional information is located either:

  • in the same phrase
  • in the same paragraph (p)
  • in the same list element (li)
  • in the same table cell (td)
  • in the table header cell (th), associated with the cell of the link (td)
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#text-of-links-and-buttons-must-be-accessible", "priority": "P3", @@ -562,7 +565,7 @@ "2.4.9 AAA" ], "verifier": "

The user must be able to understand the destination of links even taken out of their context.

  • check that it is possible to determine the action or the destination of a link only from its accessible name
  • check that there are no identical labels pointing to different destinations
", - "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.", + "exception": "

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:

  • must be able to dismiss this additional content without moving the focus nor the mouse pointer
  • must be able to hover over it with the mouse (without this additional content disappearing)
  • it must remain displayed as long as the user does not trigger its closure (by moving the mouse, the focus, ESCAPE key…) and as long as this content remains valid
", - "exception": "The criterion is not applicable for following cases:
  • additional content controlled by the user agent, e.g.: tooltip generated by the use of a title attribute.
  • additional content which does not mask informative content
", + "exceptions": "
  • Additional content controlled by the user agent, e.g.: tooltip generated by the use of a title attribute.
  • If the additional content does not mask informative content, the criterion is not applicable
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -672,8 +675,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "

Check that one of the conditions below is met:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
  • 20 hour exception: the time limit is longer than 20 hours.
", - "exception": "The criterion is not applicable for following cases:
  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
", + "verifier": "

Check that one of the conditions below is met:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
", + "exceptions": "
  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
  • 20 hour exception: the time limit is longer than 20 hours.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -687,9 +690,8 @@ "wcag": [ "3.2.1 A" ], - "verifier": "

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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", + "verifier": "

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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interactions", "priority": "P2", "resultatTest": "nt", @@ -703,8 +705,8 @@ "wcag": [ "3.2.2 A" ], - "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.

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", - "complement": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

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": "
Change of context

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 user agent (opening an application from the browser)
  • the viewport (other part of the displayed page, open a new window)
  • the focus position (focus sequence)
  • content that changes the meaning of the web page

The context switch is compliant if:

  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#ensure-the-user-keeps-control-during-interaction", "priority": "P2", "resultatTest": "nt", @@ -718,8 +720,8 @@ "wcag": [ "2.4.5 AA" ], - "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:

\n
  • a main navigation menu
  • a table of contents
  • a sitemap
  • a search feature
", - "exception": "The criterion is not applicable for following cases:
  • there is less than 3 or 4 pages and/or the content is short
  • the Web page is the result of, or a step in a process.
", + "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:

\n
  • a main navigation menu
  • a table of contents
  • a sitemap
  • a search feature
", + "exception": "

Except 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:

  • An element is not visually positioned in the same place but in the same order (according to the source code) compared to the other common elements on the page.
  • The repositioning of help elements is caused by a display change initiated by the user (change of orientation, page resolution, activation of zoom, etc.).
  • An element such as an ad-hoc promotional link, which only appears on a single page and modifies the relative order of the help mechanism on this single page, can be ignored.
", + "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.

", "complement": "
Complément d'information
  • Help mechanisms can be an email address, a telephone number, a contact form, a chat, an FAQ, etc.
  • This criterion does not require the presence of help mechanisms. If they are present, check that their relative positioning is the same on the different pages of the site or application.
  • If the structure of the pages is modified according to user profiles (e.g., visitor profile or logged-in profile), check each profile separately.
", - "exception": "The criterion is not applicable for following cases:
  • pages that would have nothing to do with each other from a visual and functional point of view (e.g., on an e-shop website, during payment process, the template may change and the payment page is functionally and visually completely different).
  • the help mechanism is only present on one page OR the help mechanism is absent from the current page.
", + "exception": "
  • Compliant: An element is not visually positioned in the same place but in the same order (according to the source code) compared to the other common elements on the page.
  • Compliant: The repositioning of help elements is caused by a display change initiated by the user (change of orientation, page resolution, activation of zoom, etc.).
  • Compliant: An element such as an ad-hoc promotional link, which only appears on a single page and modifies the relative order of the help mechanism on this single page, can be ignored.
  • Not applicable: Pages that would have nothing to do with each other from a visual and functional point of view (e.g., on an e-shop website, during payment process, the template may change and the payment page is functionally and visually completely different).
  • Not applicable if a help mechanism is only present on one page OR if the help mechanism is absent from the current page.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/common-navigation/#ensure-that-the-help-elements-are-placed-in-the-same-relative-order-on-the-pages-that-include-them", "priority": "P1", "resultatTest": "nt", @@ -808,8 +809,8 @@ "wcag": [ "2.1.1 A" ], - "verifier": "
  • Check that the functionalities available by using the mouse can also be accessed using only the keyboard
  • Check that the content displayed on hover (e.g.: popin, tooltip) is also displayed when focus is received

Criteria is not applicable for tooltips generated by the user agent (for example, that of the title attribute)

", - "exception": "The criterion is not applicable for following cases:
  • user-agent generated tooltips (e.g.: title attribute)
  • the underlying function requires the user to execute a path and not just the two endpoints
", + "verifier": "
  • Check that the functionalities available by using the mouse can also be accessed using only the keyboard
  • Check that the content displayed on hover (e.g.: popin, tooltip) is also displayed when focus is received

Criteria is not applicable for tooltips generated by the user agent (for example, that of the title attribute)

", + "exception": "

Criteria is not applicable:

  • for user-agent generated tooltips (e.g.: title attribute)
  • for the case where the underlying function requires the user to execute a path and not just the two endpoints
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/keyboard-navigation/#allow-the-use-of-the-main-features-of-the-application-with-the-keyboard", "priority": "P0", "resultatTest": "nt", @@ -838,7 +839,7 @@ "2.1.4 A" ], "verifier": "
  • the shortcut can be disabled by the user
  • the shortcut is only active when the interface component has focus
  • A mechanism is available to remap the shortcut to include one or more non-printable keyboard keys (Ctrl, Alt…)
", - "exception": "The criterion is not applicable to keyboard shortcuts that include 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).

", "complement": "
Additional information

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:

  • If the interactive element has a target size smaller than the minimum of 24*24 CSS pixels but is placed so that a circle with a diameter of 24 CSS pixels centered on the target does not overlap with another target or the circle for an undersized target.
  • If the target size of the interactive element is less than 24*24 CSS pixels but there is a compliant alternative in the page that allows the same action.
  • If the interactive element is embedded in a sentence or its size is constrained by the line height of surrounding non-interactive text.
", - "exception":"The criterion is not applicable if:
  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by legal obligations. In this case, it is still recommended to provide alternatives when possible.
", + "exception":"

Not applicable if:

  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by legal obligations. In this case, it is still recommended to provide alternatives when possible.
", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/layout/#define-sensitive-areas-of-sufficient-size", "priority": "P2", "resultatTest": "nt", @@ -1045,7 +1046,8 @@ "wcag": [ "2.5.2 A" ], - "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):

  • Check that no action is triggered on the '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.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • For complex actions (e.g.: drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.

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.

", + "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):

  • Check that no action is triggered on the down-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.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • For complex actions (e.g.: drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.
", + "exceptions": "

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": "
  • Check that these actions can also be operated by user interface components (e.g.: button)
  • Check that it is possible to disable the motion detection
", - "exception": "The criterion is not applicable if the motion is essential for the function (e.g.: pedometer)", + "exceptions": "

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 drag and drop action is essential (dexterity games for example)
  • The functionality is native and unmodified< /li>
", + "exceptions": "

The criterion is not applicable:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native and unmodified< /li>
", "complement":"
Additionally

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:
  • a bank check
  • an application for playing the piano
  • slides for a television or projector...
", + "exception": "

If an orientation is considered essential, the criterion is not applicable.

Example of display deemed essential:

  • a bank check
  • an application for playing the piano
  • slides for a television or projector...
", "group": "Touch Screen", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/touch-and-interactions/#give-access-to-the-content-regardless-of-the-orientation-of-the-screen", "priority": "P3", diff --git a/json/criteres-wcag-ease-fr.json b/json/criteres-wcag-ease-fr.json index 8cd20be..bcabb8a 100644 --- a/json/criteres-wcag-ease-fr.json +++ b/json/criteres-wcag-ease-fr.json @@ -7,7 +7,8 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ de formulaire possède un attribut title
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.

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": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ de formulaire possède un attribut title
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", + "exception": "

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": "
Complément d'information

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": "
  • Toutes les étiquettes sont bien liées à leurs champs, grâce à :
    • un attribut ARIA aria-labelledby dans le champ
    • un attribut ARIA aria-label dans le champ
    • une balise label avec un attribut for référençant l'id du champ
    • un attribut title dans la balise input du champ
  • Tous les formats de données présents sont bien liés à leurs champs, en l'intégrant :
    • directement dans la balise label
    • en modifiant l'attribut aria-label du champ
    • en ajoutant l'ID du format dans l'attribut aria-labelledby du champ
    • en modifiant l'accessible description du champ avec l'attribut aria-describedby
", - "complement": "
Complément d'information

Un placeholder seul ne suffit pas à fournir un nom accessible, il doit être accompagné d'une des techniques citées ci-dessus.

", + "complement": "
Complément d'information

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": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Dans le code, l'une des techniques doit être implémentée :
    • Le texte ou l'élément visuel doit être intégré dans la balise label ou lié au champ du formulaire (ex: avec un aria-labelledby...)
    • présence de l'attribut 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": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Dans le code, l'une des techniques doit être implémentée :
    • Le texte ou l'élément visuel doit être intégré dans la balise label ou lié au champ du formulaire (ex: avec un aria-labelledby...)
    • présence de l'attribut required ou aria-required
", + "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)

", "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 message d'erreur est présent visuellement,
  • il permet d'identifier explicitement le champ en erreur,
  • la nature de l'erreur est claire (ex. : champ téléphone obligatoire, format de l'email invalide…).
", - "complement": "

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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", + "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.

", "complement":"
Complément d'information

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":"
  1. Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  2. Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  3. Des informations préalablement renseignées qui ne sont plus valides
", "group": "Formulaire", "moreInfo": "", "priority": "P3", @@ -185,6 +187,7 @@ "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 :

  • une autre méthode d'authentification
  • une aide pour l'utilisateur
  • un test cognitif qui consiste à reconnaitre des objets (images, vidéo, audio)
  • un test cognitif qui consiste à identifier le contenu personnel non textuel (images, vidéo, audio) que l'utilisateur a fourni préalablement au site Web

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": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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 :

  • à l'utilisateur :
    • de coller le code de vérification
    • de brancher une clé USB où il lui suffit d'appuyer sur un bouton pour entrer un jeton valable pendant une durée limitée
    • de scanner un QR code par une application présente sur son appareil pour confirmer son identité
    • de recevoir une notification sur son appareil qui lui permet de confirmer son identité (par exemple, par un code PIN défini par l'utilisateur, une empreinte digitale, une reconnaissance faciale)
  • à un agent utilisateur de renseigner automatiquement le code de vérification

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": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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.

  • S'il s'agit d'une authentification à double facteur qui se fait par la reconnaissance d'un contenu personnel non textuel, les conditions de sécurité doivent permettre d'éviter à une tierce personne de deviner quelle est l'image à reconnaitre.
  • Dans le cas où l'utilisateur est obligé de transcrire du texte (ex : création pour la première fois d'un mot de passe qui sera ensuite enregistré dans un logiciel de gestion de mot de passe), la possibilité de montrer les caractères saisis doit être proposée.
", + "exception": "", "complement": "
Complément d'information

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 :

  • la reconnaissance d'objets
  • l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur.

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": "
  • vérifier que les éléments qui ressemblent visuellement à des titres sont bien balisés comme tels (hn, role='heading')
  • vérifier que les niveaux de titres sont hiérarchisés de manière logique (sans obligation stricte d'un seul saut de niveau de titre)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "exception":"Le critère est non-applicable si aucun titre n'est présent.", + "complement":"
Complément d'information

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": "
  • Les titres de niveaux doivent être pertinents et aider à comprendre le contenu de la page.
  • Les titres doivent décrire précisement la section de contenu qu'ils présentent.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/contenu-textuel/#donner-des-titres-aux-rubriques", - "exception":"Le critère est non-applicable si aucun titre n'est présent.", + "complement":"
Complément d'information

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.

", + "exception": "

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 :

  • SVG (vrai texte)
  • cas particuliers (ex : logo, captcha, dénomination commerciale)
  • l'élément est nécessaire
  • l'image est visuellement modifiable par l'utilisateur
", - "exception": "Non applicable, si aucune image ne contient de texte", + "verifier": "
  • vérifier que des images (img, input / object type='image', embed, canvas) ne sont pas utilisées pour présenter du texte.
\n

Non applicable, si aucune image ne contient de texte

", + "exception": "
  • SVG (vrai texte)
  • cas particuliers (ex : logo, captcha, dénomination commerciale)
  • l'élément est nécessaire
  • l'image est visuellement modifiable par l'utilisateur
", "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", @@ -440,7 +446,7 @@ "4.1.2 A" ], "verifier": "

Vérifier que la valeur des attributs title décrit le contenu ou la fonction de iframe ou frame.

", - "exception": "Critère non-applicable pour les cas suivants :
  • Une frame ou iframe non-informative masquée convenablement n'a pas besoin de title.
  • Un 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.
", + "exception": "
  • Une frame ou iframe non-informative masquée convenablement n'a pas besoin de title.
  • Un 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.
", "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", @@ -455,7 +461,7 @@ "1.4.3 AA" ], "verifier": "
  • vérifier que le contraste est suffisant pour comprendre l'information portée par tous les textes et les textes sous forme d'images.
    • Pour texte standard :
      • Taille inférieure à 24 px CSS : contraste de 4,5:1
      • Taille supérieure ou égale à 24 px CSS : contraste de 3:1
    • Pour les textes gras
      • Taille inférieure à 18,5 px CSS : contraste de 4,5:1
      • Taille supérieure ou égale à 18,5 px CSS : contraste de 3:1
  • vérifier que les liens non-soulignés ont un rapport de contraste suffisant avec le texte environnant
  • vérifier que le rapport de contraste est suffisant au survol de la souris et au focus
", - "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.", + "exception":"

Les 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:
  • les logos
  • si un texte, comme un label ou un tableau de données, apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", + "exception": "
  • les logos
  • si un texte, comme un label ou un tableau de données, apporte la même information que l'icône ou le graphique
  • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
  • le manque de contraste est nécessaire pour convoyer l'information
  • le composant est inactif
  • l'affichage par défaut de l'agent utilisateur n'est pas modifié
", "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", @@ -499,8 +505,7 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • les couleurs portant l'information sont bien différenciées selon leur teinte et leur luminosité (i.e le contraste entre les couleurs doit être supérieur à 3:1). Par exemple : vert clair et rouge foncé

Cas particuliers des liens non soulignés dans du texte :

  • le lien doit avoir un contraste de 3:1 avec le texte environnant
  • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)
", - "exception":"Le critère est non-applicable pour les cas suivants :
  • Les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • Si aucune information n'est portée par de la couleur
", + "verifier": "

Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

  • l'information peut également être obtenue par un texte
  • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
  • cas particuliers des liens non soulignés dans du texte :
    • le lien doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus et au survol de la souris (ex. : souligné)

Remarques :

  • sont exclus les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
  • critère non applicable, si aucune information n'est portée par de la couleur
", "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", @@ -514,8 +519,7 @@ "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, une alternative ou un message explicite.

Exemples de non conformités :

  • identification d'une information uniquement par sa position : \" pour aller à la page suivante appuyez sur le bouton à droite \", ou \" choisissez un des liens affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
", - "exception":"Le critère est 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 :

  • identification d'une information uniquement par sa position : \" pour aller à la page suivante appuyez sur le bouton à droite \", ou \" choisissez un des liens affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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

\n

Non 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 »

", - "exception":"Le critère est non-applicable si aucun composant d'interface n'a de libellé texte visible (icônes sans texte, par exemple)", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P3", "resultatTest": "nt", @@ -546,7 +549,7 @@ "2.4.4 A" ], "verifier": "

L'utilisateur doit savoir s'il souhaite suivre un lien avec, si besoin, le contexte pour en comprendre la destination.

  • vérifier qu'il n'y a pas de libellés identiques pointant vers des destinations différentes
  • vérifier qu'il est possible de déterminer la destination d'un lien uniquement à partir de son nom accessible
  • si aucun des points précédents n'est respecté, vérifier que la cible d'un lien est au moins compréhensible grâce à son contexte.
", - "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.", + "exception": "

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": "
Comment déterminer le contexte de lien :

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 :

  • dans la même phrase
  • dans le même paragraphe (p)
  • dans le même élément de liste (li)
  • dans la même cellule de tableau (td)
  • dans la cellule d'entête du tableau (th), associée à la cellule du lien (td)
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#rendre-les-intitules-des-liens-et-des-boutons-accessibles", "priority": "P3", @@ -562,7 +565,7 @@ "2.4.9 AAA" ], "verifier": "

L'utilisateur doit pouvoir comprendre la destination des liens même sortis de leur contexte.

  • vérifier qu'il est possible de déterminer l'action ou la destination d'un lien, uniquement à partir de son nom accessible
  • vérifier qu'il n'y a pas de libellés identiques pointant vers des destinations différentes
", - "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", + "exception": "

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 :

  • intitulé du lien incluant la mention « nouvelle fenêtre »
  • présence d'un indice visuel (title, icône dans l'intitulé…) et de la mention « nouvelle fenêtre » dans le nom accessible.
", - "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.

", + "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 :

  • doit pouvoir être masqué sans déplacer le focus ou le pointeur de la souris
  • doit pouvoir être survolé à la souris (sans entraîner sa disparition)
  • doit rester affiché tant que l'utilisateur ne déclenche pas sa fermeture (en déplaçant la souris, le focus, touche Échap.…) et tant que ce contenu reste valide
", - "exception": "Le critère est non-applicable dans les cas suivants :
  • les contenus additionnels contrôlés par l'agent utilisateur, par exemple : infobulle générée par l'utilisation d'un attribut title.
  • les contenus additionnels ne masquant pas de contenu informatif
", + "exception": "
  • Les contenus additionnels contrôlés par l'agent utilisateur, par exemple : infobulle générée par l'utilisation d'un attribut title.
  • Si le contenu additionnel ne masque pas de contenu informatif, le critère est non applicable
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -672,8 +675,8 @@ "wcag": [ "2.2.1 A" ], - "verifier": "

Vérifier qu'une des conditions ci-dessous est respectée :

  • possibilité de supprimer la limite de temps
  • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
  • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
  • la limite de temps est supérieure à 20 heures.
", - "exception": "Le critère est non-applicable dans les cas suivants :
  • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
  • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
", + "verifier": "

Vérifier qu'une des conditions ci-dessous est respectée :

  • possibilité de supprimer la limite de temps
  • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
  • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
", + "exception": "
  • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
  • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
  • l'exception des 20 heures : la limite de temps est supérieure à 20 heures.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -687,8 +690,7 @@ "wcag": [ "3.2.1 A" ], - "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.", + "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 de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", @@ -703,8 +705,8 @@ "wcag": [ "3.2.2 A" ], - "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)

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", - "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web

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 de contexte

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 :

  • d'agent utilisateur (ouverture d'une application depuis le navigateur)
  • de viewport (autre partie de la page affichée, ouverture d'une nouvelle fenêtre)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de la page Web

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#sassurer-que-lutilisateur-garde-le-controle-lors-des-interactions", "priority": "P2", "resultatTest": "nt", @@ -718,8 +720,8 @@ "wcag": [ "2.4.5 AA" ], - "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 :

  • un menu de navigation principal
  • une table des matières
  • un plan de site
  • un mécanisme de recherche
", - "exception": "Le critère est non-applicable dans les cas suivants :
  • Le nombre de pages est inférieur à 3 ou 4 et/ou le contenu succinct
  • Une page résultat ou étape d'un processus à étapes.
", + "verifier": "

Lorsque le nombre de pages est inférieur à 3 ou 4 et/ou le contenu succinct, ce critère est non applicable.

\n

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 :

  • un menu de navigation principal
  • une table des matières
  • un plan de site
  • un mécanisme de recherche
", + "exception": "

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 :

  • Un élément n'est pas positionné visuellement au même endroit mais pourtant dans le même ordre (selon le code source) par rapport aux autres éléments communs de la page.
  • Le repositionnement des éléments d'aide est engendré par un changement d'affichage à l'initiative de l'utilisateur (changement d'orientation, de résolution de la page, activation du zoom, etc.).
  • Un élément comme un lien promotionnel ad-hoc, qui n'apparaît que sur une seule page et modifie l'ordre relatif du mécanisme d'aide sur cette seule page, peut être ignoré.
", + "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.

", "complement": "
Complément d'information
  • 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.
  • Ce critère n'impose pas la présence de mécanismes d'aide. S'ils sont présents, vérifier que leur positionnement relatif est le même sur les différents pages du site ou de l'application.
  • Si la structure des pages est modifiée selon les profils d'utilisation (par exemple profil visiteur ou profil connecté), il convient de faire la vérification indépendamment pour chaque profil.
", - "exception": "Le critère n'est pas applicable dans les cas suivants :
  • des pages qui n'auraient rien à voir d'un point de vue visuel et fonctionnel (exemple : sur un site de e-commerce, lors du processus de paiement, le template peut changer et la page de paiement est fonctionnellement et visuellement totalement différente).
  • le mécanisme d'aide n'est présent que sur une seule page OU le mécanisme d'aide est absent de la page en cours.
", + "exception": "
  • Conforme : Un élément n'est pas positionné visuellement au même endroit mais pourtant dans le même ordre (selon le code source) par rapport aux autres éléments communs de la page.
  • Conforme : Le repositionnement des éléments d'aide est engendré par un changement d'affichage à l'initiative de l'utilisateur (changement d'orientation, de résolution de la page, activation du zoom, etc.).
  • Conforme : Un élément comme un lien promotionnel ad-hoc, qui n'apparaît que sur une seule page et modifie l'ordre relatif du mécanisme d'aide sur cette seule page, peut être ignoré.
  • Non-applicable : Des pages qui n'auraient rien à voir d'un point de vue visuel et fonctionnel (exemple : sur un site de e-commerce, lors du processus de paiement, le template peut changer et la page de paiement est fonctionnellement et visuellement totalement différente).
  • Non applicable si un mécanisme d'aide n'est présent que sur une seule page OU si le mécanisme d'aide est absent de la page en cours.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/designer/navigation-generale/#sassurer-que-les-elements-daide-sont-places-dans-le-meme-ordre-relatif-sur-les-pages-qui-les-integrent", "priority": "P1", "resultatTest": "nt", @@ -809,7 +810,7 @@ "2.1.1 A" ], "verifier": "
  • vérifier que les fonctionnalités disponibles à la souris sont également disponibles au clavier
  • vérifier que les contenus apparaissant au survol (exemple : popin, modale, infobulle) apparaissent également au focus
", - "exception": "Le critère est non applicable pour les cas suivants :
  • les infobulles sont générées par l'agent utilisateur (par exemple, celui de l'attribut title)
  • la fonction sous-jacente nécessite l'exécution d'un chemin par l'utilisateur et pas seulement des deux points terminaux
", + "exception": "

Le critère est non applicable :

  • pour les infobulles générés par l'agent utilisateur (par exemple, celui de l'attribut title)
  • pour le cas où la fonction sous-jacente nécessite l'exécution d'un chemin par l'utilisateur et pas seulement des deux points terminaux
", "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 +839,7 @@ "2.1.4 A" ], "verifier": "
  • le raccourci peut être désactivé par l'utilisateur
  • le raccourci est actif uniquement à la prise de focus du composant de l'interface
  • le raccourci peut être modifié, avec la possibilité d'ajouter un ou plusieurs caractères non-imprimables (Ctrl, Alt…) à la combinaison
", - "exception": "Le critère n'est pas applicable aux raccourcis par 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).

", "complement": "
Complément d'information

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 :

  • Si l'élément interactif a une surface inférieure à la surface minimale de 24*24 px CSS mais est placé de manière à ce qu'un cercle de 24 px CSS de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
  • Si la surface de l'élément interactif est inférieure à 24*24 px CSS mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
  • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
", - "exception":"Critère non applicable si :
  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", + "exception":"

Critère non applicable si :

  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/mise-en-page/#definir-des-zones-sensibles-de-taille-suffisante", "priority": "P2", "resultatTest": "nt", @@ -1045,7 +1046,8 @@ "wcag": [ "2.5.2 A" ], - "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 :

  • vérifier qu'aucune action n'est déclenchée sur un événement '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.
  • si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur.
  • pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple

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.

", + "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 :

  • vérifier qu'aucune action n'est déclenchée sur le 'down event' (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.
  • si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur.
  • pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple
", + "exception": "

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": "
  • vérifier que ces actions sont également disponibles depuis un composant d'interface (ex. : bouton)
  • vérifier qu'il est possible de désactiver la détection de mouvement
", - "exception": "Le critère n'est pas applicable si le mouvement est essentiel à l'accomplissement de la fonctionnalité (ex. : podomètre).", + "exception": "

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 :
  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native et non modifiée
", + "exception": "

Le critère est non applicable :

  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native et non modifiée
", "complement":"
Complément d'information

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 :
  • un chèque bancaire
  • une application pour du piano
  • des diapositives pour un téléviseur ou projecteur..
", + "exception" : "

Si une orientation est jugé essentielle, le critère est non-applicable.

Exemple d'affichage jugé essentiel :

  • un chèque bancaire
  • une application pour du piano
  • des diapositives pour un téléviseur ou projecteur..
", "group": "Tactile", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/tactile-et-interactions/#donner-acces-au-contenu-quelle-que-soit-lorientation-de-lecran", "priority": "P3", From be309bb3be9cfe2462e07d1d6ba4c6b91eea0e93 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Wed, 12 Feb 2025 16:41:04 +0100 Subject: [PATCH 09/17] missing paragraph --- json/criteres-wcag-android-en.json | 2 +- json/criteres-wcag-android-fr.json | 2 +- json/criteres-wcag-ios-en.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 99a7181..ad238b7 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -37,7 +37,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": "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 Ayoul Date: Thu, 13 Feb 2025 16:25:00 +0100 Subject: [PATCH 10/17] =?UTF-8?q?m=C3=A0j=20Formulaires=20+=20target=20siz?= =?UTF-8?q?e=20+=20change=20context?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- json/criteres-wcag-android-en.json | 55 +++++++++++--------------- json/criteres-wcag-android-fr.json | 56 +++++++++++---------------- json/criteres-wcag-ios-en.json | 62 ++++++++++++------------------ json/criteres-wcag-ios-fr.json | 58 +++++++++++----------------- 4 files changed, 92 insertions(+), 139 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index ad238b7..119435c 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -8,7 +8,7 @@ "3.3.2 A" ], "verifier": "

Check that:

  • a label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", - "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.

", + "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": "
Additional information

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":"
Additional information

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": "
Additional information

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", @@ -68,7 +71,7 @@ "3.3.2 A" ], "verifier": "
  • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • Verify that the requirement is properly vocalized with voice navigation.
  • Check that the form cannot be validated if the mandatory field is not filled in.
", - "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)

", + "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:

  • either by adding text near each field
  • or by displaying a message listing the different errors (e.g., at the beginning of the form)

The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)

", + "complement": "
Additional information

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": "
Additional information

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": "
  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password 'user
  • Previously entered information that is no longer valid
", + "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:

  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password
  • Previously provided information that is no longer valid
", + "complement":"
Additional information

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:

  • modify or delete data,
  • submit user test responses,
  • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

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: :

  • modify or delete data,
  • submit user test responses,\n
  • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

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": "
Additional information

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": "
Additional information

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:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native is unmodified
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", @@ -609,8 +598,8 @@ "wcag": [ "2.5.8 AA" ], - "verifier": "

Check that:

  • interactive elements have a click area greater than or equal to 26dp
  • Interactive elements have a margin that separates them from other elements or edges of the screen
  • If several click zones perform the same action, only one of these zones must respect the size necessary to validate the criterion
", - "exception": "

There are two exceptions to this rule:

  • There is another element on the screen that performs the same action, and meets the required size. In this specific case, it is accepted that the element is too small.
  • The interactive element is in a sentence or block of text (e.g. links).
", + "verifier": "

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:

  • If the interactive element has an area smaller than the minimum area of 48dp but is positioned so that a circle of 48dp in diameter centered on the element does not overlap another interactive element or the circle of an undersized element.
  • If the area of the interactive element is less than 48dp but there is a compliant alternative on the page that allows for the same action.
  • If the interactive element is embedded in a sentence or if its size is constrained by the line height of the surrounding non-interactive text.
", + "exception": "

Criterion not applicable if:

  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by a legal requirement. In this case, it is still recommended to provide alternatives when possible.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#have-sufficiently-large-click-areas", "resultatTest": "nt", "priority": "P2", @@ -639,7 +628,7 @@ "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.

", - "complement": "
Additional information

Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc)", + "complement": "

Additional information

Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", "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:

  • when a component receives focus
  • when entering data
  • when activating a form element other than a button
", - "complement": "
Context changes

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:

  • the user agent (opening an other application)
  • the viewport (other part of the displayed screen, open a new screen)
  • the focus position (focus sequence)
  • content that changes the meaning of the screen
The context switch is compliant if:
  • the action is initiated by a button or an explicit link
  • the user is warned by a text before it is triggered
", + "verifier": "

When using forms or any interactive component, check that there is no change of context :

  • when a component receives focus
  • when entering data
  • when activating a form element other than a button

Context change is compliant if:

  • the action is initiated by an explicit button or link
  • the user is warned by text before its activation
", + "complement": "
Context Change

Major change in the screen content that, when done without the user's knowledge, can be disorienting.

Context changes include changes in:

  • user agent (opening another application)
  • viewport (opening a new screen, another part of the displayed screen)
  • focus (moving the focus)
  • content that alters the meaning of the screen
", "resultatTest": "nt", "priority": "P3", "goodPractice": false diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index 39d9415..c00cfb3 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -8,10 +8,10 @@ "3.3.2 A" ], "verifier": "

Vérifier que :

  • une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", - "exception": "

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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.

", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", - "complement": "
Complément d'information

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": "
Complément d'information

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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.

", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", @@ -55,7 +58,7 @@ "1.3.1 A", "3.3.2 A" ], - "verifier": "

Vérifier que les champs sont regroupés lorsque nécessaire, par exemple :

  • pour une adresse (champs rue, code postal, ville, etc...)
  • pour une liste de RadioButton, l'utilisation de la propriété RadioGroup étant nécessaire
  • pour une liste de Checkbox
", + "verifier": "

Les champs de même nature sont regroupés, par exemple :

  • pour une adresse (plusieurs champs rue, code postal et ville selon l'adresse de livraison ou de facturation)
  • pour une liste de boutons radio ou cases à cocher associés à un même paramètre
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", @@ -73,7 +76,7 @@ ], "verifier": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
", "group": "Écran de saisie", - "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)

", + "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:

  • soit par l'ajout d'un texte à proximité de chaque champ
  • soit par l'affichage d'un message listant les différentes erreurs (exemple: en début de formulaire)

La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)

", + "complement":"
Complément d'information

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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "complement":"
Complément d'information

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":"
  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "group": "Écran de saisie", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/formulaire/#identifier-les-erreurs-de-saisie", "resultatTest": "nt", @@ -195,7 +183,7 @@ "wcag": [ "3.3.4 AA" ], - "verifier": "

Pour les champs de saisie avec :

  • modification ou suppression de données,
  • transmission de réponse à un test ou un examen,
  • conséquences financières (achat en ligne) ou juridiques (validation de conditions générales d'utilisation),

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 :

  • modification ou suppression de données,
  • transmission de réponse à un test ou un examen,
  • conséquences financières (achat en ligne) ou juridiques (validation de conditions générales d'utilisation),

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": "
Complément d'information

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": "
Complément d'information

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 :

  • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
  • La fonctionnalité est native est non modifiée
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", @@ -612,8 +600,8 @@ "wcag": [ "2.5.8 AA" ], - "verifier": "

Vérifier que :

  • les éléments interactifs ont une zone de clic supérieur ou égal à 26dp
  • Les éléments interactifs ont une marge qui les sépare des autres éléments ou des bords de l'écran
  • Si plusieurs zones de clic effectuent la même action, une seule de ces zones doit respecter la taille nécessaire pour valider le critère
", - "exception": "

Cette règle comporte deux exceptions :

  • Il y a un autre élément sur l'écran qui réalise la même action, et qui respecte la taille requise. Dans ce cas, précis, on accepte que l'élément soit trop petit.
  • L'élément interactif se trouve dans une phrase ou un bloc de texte (ex : liens).
", + "verifier": "

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 :

  • Si l'élément interactif a une surface inférieure à la surface minimale de 48dp mais est placé de manière à ce qu'un cercle de 48dp de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
  • Si la surface de l'élément interactif est inférieure à 48dp mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
  • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
", + "exception":"

Critère non applicable si :

  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#avoir-des-zones-de-clic-suffisamment-grandes", "resultatTest": "nt", "priority": "P2", @@ -643,7 +631,7 @@ ], "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", - "complement":"
Complément d'information

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":"
Complément d'information

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 :

  • lors de la prise de focus d'un élément
  • lors de la saisie de données
  • lors de l'activation d'un élément de formulaire autre qu'un bouton
", - "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une autre application)
  • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
  • focus (déplacement du focus)
  • contenu qui modifie le sens de l'écran
Le changement de contexte est conforme si:
  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", + "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 la prise de focus d'un élément
  • lors de la saisie de données
  • lors de l'activation d'un élément de formulaire autre qu'un bouton

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", + "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une autre application)
  • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
  • focus (déplacement du focus)
  • contenu qui modifie le sens de l'écran
", "resultatTest": "nt", "priority": "P3", "goodPractice": false diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 1223acc..6050a90 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -8,8 +8,8 @@ "3.3.2 A" ], "verifier": "

Check that:

  • a label is visually present near the form field,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", - "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": "
Additional information

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": "
Additional information

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", @@ -25,6 +25,7 @@ "2.4.6 AA" ], "verifier": "

Check that the accessible name of each form field is relevant.

", + "complement":"
Additional information

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": "
Additional information

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", @@ -72,7 +75,7 @@ "1": "3.3.2 A" }, "verifier": "
  • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • Verify that the requirement is properly vocalized with voice navigation.
  • Check that the form cannot be validated if the mandatory field is not filled in.
", - "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)

", + "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:

  • either by adding text near each field
  • or by displaying a message listing the different errors (e.g., at the beginning of the form)

The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)

", + "complement": "
Additional information

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": "
Additional information

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": "
  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a password
  • Previously entered information that is no longer valid
", + "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:

  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password
  • Previously provided information that is no longer valid
", + "complement":"
Additional information

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: :

  • modify or delete data,
  • submit user test responses,\n
  • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

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: :

  • modify or delete data,
  • submit user test responses,\n
  • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

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:

  • the opening of (pop-up) s vocalized
  • the opening of a new screen (UIView) is vocalized by its title
  • the change of a part of the screen (such as a fragment that changes) is vocalizede
  • horizontal scrolling is vocalized
", + "verifier": "

Verify that using voice navigation, the content changes are vocalized to the user:

  • the opening of (pop-up) is vocalized
  • the opening of a new screen (UIView) is vocalized by its title
  • the change of a part of the screen (such as a fragment that changes) is vocalizede
  • horizontal scrolling is vocalized
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -563,7 +551,7 @@ "0": "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 point action).

", - "complement": "
Additional information

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": "
Additional information

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:

  • The drag and drop action is essential (dexterity games for example)
  • The functionality is native is unmodified
", "resultatTest": "nt", "priority": "P3", @@ -578,7 +566,7 @@ "wcag": { "0": "2.5.2 A" }, - "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) :

  • check that no action is triggered on the down-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.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • for complex actions (e.g. drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.
", + "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) :

  • check that no action is triggered on the down-event (as soon as you touch or press an element), check that it is possible to abort the action by lifting the pointer outside that element.
  • if an action is triggered when an element is pressed, check that it is cancelled as soon as the pointer is released.
  • for complex actions (e.g. drag and drop), check that the user can cancel the action before completing the process through, for example, a confirmation dialog.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -605,8 +593,8 @@ "wcag": { "0": "2.5.8 AA" }, - "verifier": "

The clickable or touchable area is at least ed 44pt (height AND width)

", - "exception": "
  • There is spacing of a circle of at least 21pt in diameter with adjacent clickable or touchable areas
  • The link is in the middle of a sentence or paragraph ( help icon, anchor links, footnote).
  • Reduced size is necessary to convey information
  • Native component is used and can't be modified
  • If several click zones perform the same action, only one of these zones must respect the size necessary to validate the criterion.
", + "verifier": "

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:

  • If the interactive element has an area smaller than the minimum area of 44pt but is positioned so that a circle of 44pt in diameter centered on the element does not overlap another interactive element or the circle of an undersized element.
  • If the area of the interactive element is less than 44pt but there is a compliant alternative on the page that allows for the same action.
  • If the interactive element is embedded in a sentence or if its size is constrained by the line height of the surrounding non-interactive text.
", + "exception": "

Criterion not applicable if:

  • The rendering of interactive elements is the default rendering of the user agent.
  • The size and position of interactive elements are crucial for the content (e.g., markers on a map) or constrained by a legal requirement. In this case, it is still recommended to provide alternatives when possible.
", "resultatTest": "nt", "priority": "P2", "wcag22" : true, @@ -635,7 +623,7 @@ "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.

", - "complement": "
Additional information

Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc)", + "complement": "

Additional information

Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", "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 a component receives focus
  • when entering data
  • when activating a form element other than a button
", + "verifier": "

When using forms or any interactive component, check that there is no change of context :

  • when a component receives focus
  • when entering data
  • when activating a form element other than a button

Context change is compliant if:

  • the action is initiated by an explicit button or link
  • the user is warned by text before its activation
", + "complement": "
Context Change

Major change in the screen content that, when done without the user's knowledge, can be disorienting.

Context changes include changes in:

  • user agent (opening another application)
  • viewport (opening a new screen, another part of the displayed screen)
  • focus (moving the focus)
  • content that alters the meaning of the screen
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "complement": "
Context change

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": "
  • Une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", - "exception": "

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": "
Complément d'information

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": "
Complément d'information

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", @@ -25,6 +25,7 @@ "2.4.6 AA" ], "verifier": "

L'étiquette de chaque champ est pertinente.

", + "complement": "
Complément d'information

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": "
Complément d'information

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", @@ -55,7 +58,7 @@ "0": "1.3.1 A", "1": "3.3.2 A" }, - "verifier": "

Les champs de même nature sont regroupés, par exemple :

  • pour une adresse (champs rue, code postal, ville, etc...)
  • pour une liste de boutons radio ou cases à cocher associés à un même paramètre
", + "verifier": "

Les champs de même nature sont regroupés, par exemple :

  • pour une adresse (plusieurs champs rue, code postal et ville selon l'adresse de livraison ou de facturation)
  • pour une liste de boutons radio ou cases à cocher associés à un même paramètre
", "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P2", @@ -73,7 +76,7 @@ }, "verifier": "
  • Un texte ou un élément visuel (autre que la couleur) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire.
  • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
", "group": "Champ de formulaire", - "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)

", + "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 :

  • ajout de la mention « erreur »
  • ajout d'une icône
  • passage du champ en couleur rouge avec changement d'aspect
", - "group": "Champ de formulaire", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/formulaires/#detecter-identifier-les-erreurs-et-suggerer-des-corrections" - }, - { - "themes": "Champ de formulaire", - "title": "Les messages d'erreur sont-ils explicites ?", - "ID": "testID-007", - "IDorigin": "testID-007", - "wcag": { - "0": "3.3.1 A" - }, - "verifier": "

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:

  • soit par l'ajout d'un texte à proximité de chaque champ
  • soit par l'affichage d'un message listant les différentes erreurs (exemple: en début de formulaire)

La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)

", + "complement":"
Complément d'information

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":"
Complément d'information

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": "
  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe
  • Des informations préalablement renseignées qui ne sont plus valides
", + "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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", + "complement":"
Complément d'information

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 :

  • modification ou suppression de données,
  • transmission de réponse à un test ou un examen,
  • conséquences financières (achat en ligne) ou juridiques (validation de conditions générales d'utilisation),

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 :

  • modification ou suppression de données,
  • transmission de réponse à un test ou un examen,
  • conséquences financières (achat en ligne) ou juridiques (validation de conditions générales d'utilisation),

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": "
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": "
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 :

  • L'action de glisser/déposer est essentielle (jeux de dexterité par exemple)
  • La fonctionalité est native et non modifiée
", "resultatTest": "nt", "priority": "P3", @@ -652,7 +640,7 @@ "wcag": { "0": "2.5.2 A" }, - "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 :

  • Aucune action n'est déclenchée sur le 'down event' (dès qu'on touche ou qu'on presse un élément) et qu'il est possible d'annuler en relâchant le pointeur en dehors de l'élément déclencheur
  • Si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur
  • Pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple.
", + "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 :

  • Aucune action n'est déclenchée sur le 'down event' (dès qu'on touche ou qu'on presse un élément), vérifier qu'il est possible d'annuler en relâchant le pointeur en dehors de l'élément déclencheur
  • Si une action est déclenchée lors de l'appui, vérifier que celle-ci est annulée dès le relâchement du pointeur
  • Pour des actions complexes (ex : drag n'drop), vérifier que l'utilisateur peut annuler l'action avant la fin de son exécution à travers une modale de confirmation par exemple.
", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -680,8 +668,8 @@ "wcag": { "0": "2.5.8 AA" }, - "verifier": "

La zone tactile est au moins de 44pt (hauteur ET largeur)

", - "exception":"
  • Il existe un espacement d'un cercle d'au moins 21pt de diamètre avec les zones tactiles adjacentes
  • Le lien est au milieu d'une phrase ou d'un paragraphe(icône d'aide, liens d'ancrage, note de bas de page).
  • La taille réduite est nécessaire pour convoyer l'information
  • Un composant natif est utilisé et ne peut être modifié
  • Si plusieurs zones tactiles effectuent la même action, une seule de ces zones doit respecter la taille nécessaire pour valider le critère.
", + "verifier": "

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 :

  • Si l'élément interactif a une surface inférieure à la surface minimale de 44pt mais est placé de manière à ce qu'un cercle de 44pt de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
  • Si la surface de l'élément interactif est inférieure à 44pt mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
  • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
", + "exception":"

Critère non applicable si :

  • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
  • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
", "resultatTest": "nt", "priority": "P2", "wcag22" : true, @@ -710,7 +698,7 @@ "0": "3.2.6 A" }, "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": "
Complément d'information

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": "
Complément d'information

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 la prise de focus d'un élément
  • lors de la saisie de données
  • lors de l'activation d'un élément de formulaire autre qu'un bouton
", + "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 la prise de focus d'un élément
  • lors de la saisie de données
  • lors de l'activation d'un élément de formulaire autre qu'un bouton

Le changement de contexte est conforme si :

  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", + "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une autre application)
  • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
  • focus (déplacement du focus)
  • contenu qui modifie le sens de l'écran
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "complement": "
Changement de contexte

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 :

  • d'agent utilisateur (ouverture d'une autre application)
  • de viewport (ouverture d'un nouvel écran, autre partie de l'écran affiché)
  • de focus (déplacement du focus)
  • de contenu qui modifie le sens de l'écran
Le changement de contexte est conforme si:
  • l'action est initiée par un bouton ou un lien explicite
  • l'utilisateur est averti par un texte avant son déclenchement
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/conception/#controle-de-contenu" }, { From abe43e4330873becdbbac01de3f6b3f93eede5f4 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Fri, 14 Feb 2025 15:15:50 +0100 Subject: [PATCH 11/17] more updates --- json/criteres-wcag-android-en.json | 168 +++++++++++++++------------- json/criteres-wcag-android-fr.json | 174 ++++++++++++++++------------- json/criteres-wcag-ios-en.json | 148 +++++++++++++----------- json/criteres-wcag-ios-fr.json | 71 ++++++------ 4 files changed, 307 insertions(+), 254 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 119435c..687f54b 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -1,6 +1,6 @@ [ { - "themes": "Input screen", + "themes": "Form field", "title": "Does every input field in the form have a label?", "ID": "testID-001", "IDorigin": "testID-001", @@ -9,14 +9,14 @@ ], "verifier": "

Check that:

  • a label is visually present near the form fields,
  • or the form field has a title attribute
  • or the field is accompanied by a text that becomes visible when the focus is taken.
", "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": "
Additional information

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": "
Additional information

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", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Is every input field's label relevant?", "ID": "testID-071", "IDorigin": "testID-071", @@ -25,13 +25,13 @@ ], "verifier": "

Check that the accessible name of each input field is relevant.

", "complement":"
Additional information

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": "
Additional information

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", + "group": "Form field", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Are the form elements grouped where it is necessary?", "ID": "testID-002", "IDorigin": "testID-002", @@ -56,13 +56,13 @@ "3.3.2 A" ], "verifier": "

Are the elements grouped when it is necessary, for example:

  • for an address (road, postcode, town, etc...)
  • for a RadioButton list, use of RadioGroup property is necessary
  • for a Checkbox list
", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Are the required input fields clearly identified?", "ID": "testID-003", "IDorigin": "testID-003", @@ -72,14 +72,14 @@ ], "verifier": "
  • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
  • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
  • Verify that the requirement is properly vocalized with voice navigation.
  • Check that the form cannot be validated if the mandatory field is not filled in.
", "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", + "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "For the input fields which require a specific data format, is this expected data format clearly communicated to the user?", "ID": "testID-004", "IDorigin": "testID-004", @@ -87,14 +87,14 @@ "3.3.2 A" ], "verifier": "
  • check that the input format is present visually, and that its position allows it to be associated with the appropriate field
  • Check that the input format is vocalized with Talkback.
", - "group": "Input screen", + "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Is an autocomplete present for the input fields intended for personal information about the user?", "ID": "testID-005", "IDorigin": "testID-005", @@ -102,13 +102,13 @@ "1.3.5 AA" ], "verifier": "
  • for the input fields intended for information about the user (name, address…), check that the autofill attribute is present
  • the value indicated for the autofill attribute is appropriate with respect to the type of information expected
", - "group": "Input screen", + "group": "Form field", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Input screen", + "themes": "Form field", "title": "Can the user authenticate without using a cognitive-based test?", "ID": "testID-064", "IDorigin": "testID-064", @@ -117,14 +117,14 @@ ], "verifier": "

Verify that all steps in an authentication process do not rely on cognitive testing, unless that step provides:

  • another method of authentication
  • help is available for the user
  • the cognitive test consists of recognizing objects
  • the cognitive test consists of identifying the non-textual content that the user has provided to the mobile application

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.

", "complement": "
Additional information

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:

  • either by adding text near each field
  • or by displaying a message listing the different errors (e.g., at the beginning of the form)

The nature of the error should be sufficiently clear (e.g., required phone field, invalid email format…)

", "complement": "
Additional information

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:

  • An activity (memory game) where re-entering information is essential
  • Security information such as double-entering a user-created password
  • Previously provided information that is no longer valid
", "complement":"
Additional information

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: :

  • modify or delete data,
  • submit user test responses,\n
  • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

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 :

  • le title of Activity is visible,
  • the title of the Activity is unique. A common error is to use the same title for the whole application,
  • the page context is understandable with the Activity title
", + "verifier": "

Verify that :

  • the page title is visible,
  • the page title is unique. A common error is to use the same title for the whole application,
  • the page context is understandable with the page title
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/entetes/#avoir-un-titre-decran-pertinent-et-unique", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, + { + "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, + "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:

  • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"

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:

  • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
", + "exception": "

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": "
  • On Android, following text enlargement to 200% (maximum font size in settings), \"standard\" text sizes must enlarge according to native settings.
  • Content is presented without loss of information or functionality (no truncated, hidden, or overlapping content) and without the need for scrolling in both dimensions.
", + "complement": "
Additional information
  • Some texts, such as headings, may be enlarged by less than 200% depending on their original size.
  • Similarly, certain native elements, such as the tab bar, may not enlarge (OS limitation).
", + "exception": "

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.

  • Each element has a relevant vocalisation (especially on informative images and which have no text initially).
  • Each interactive element is vocalized with the associated action.
  • The title of the activity is vocalized.
  • Does each row of a list have a relevant and unique description?
  • For complex images, an alternative shall be present through an adjacent content
", + "verifier": "

All significant graphical elements are vocalized and accessible using voice navigation:

  • Each graphical element carrying information is vocalized appropriately.
  • Images containing text have an alternative that includes at least the visible text.
  • Complex images have a detailed alternative provided by adjacent content.
  • Each interactive element is represented by at least a relevant name.
  • Pre-recorded multimedia content is easily identifiable (through a relevant alternative or adjacent textual content).
", + "complement": "
Additional information
  • If the non-text content is a test or exercise that would be invalid if presented in text form, then the alternative provides at least a brief description of that content.
  • If the non-text content is primarily intended to create a specific sensory experience, then the textual alternative provides at least a brief description of that content.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-all-significant-elements", "resultatTest": "nt", "priority": "P0", @@ -302,20 +321,6 @@ "priority": "P1", "goodPractice": false }, - { - "themes": "Voice navigation", - "title": "Is an input field vocalized with its associated label?", - "ID": "testID-061", - "IDorigin": "testID-061", - "wcag": [ - "1.3.5 AA" - ], - "verifier": "

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.

", - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", - "resultatTest": "nt", - "priority": "P2", - "goodPractice": false - }, { "themes": "Voice navigation", "title": "Are the linked elements gathered in the same announcement block for vocalization?", @@ -325,12 +330,25 @@ "1.3.1 A", "1.3.2 A" ], - "verifier": "

Check that the linked elements are vocalized in a single block:

  • are the linked elements gathered in the same announcement block for vocalization?
  • does the multidimensional information respect a good balance between the number of blocks and the content within each block?
", + "verifier": "

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:

  • all section headers are navigable and vocalized
  • only headers are navigable and vocalized
", + "verifier": "

Verify that with screen reader and the header navigation mode:

  • all section headers are navigable and vocalized
  • only headers are navigable and vocalized
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#enable-header-navigation", "resultatTest": "nt", "priority": "P3", @@ -354,7 +372,7 @@ "wcag": [ "3.2.2 A" ], - "verifier": "

Verify that using voice navigation, the content changes are vocalized to the user:

  • the opening of pop-up (dialog) is vocalized
  • the opening of a new screen (activity) is vocalized by its title
  • the change of a part of the screen (such as a fragment that changes) is vocalized
  • horizontal scrolling is vocalized
", + "verifier": "

Content changes are vocally communicated to the user:

  • The opening of pop-up windows (dialogs) is vocalized.
  • The opening of a new screen is vocalized by its title.
  • The information about a change in a part of the screen (such as a changing fragment) is vocalized.
  • Horizontal scrolling is vocalized.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-content-change", "resultatTest": "nt", "priority": "P2", @@ -368,22 +386,22 @@ "wcag": [ "4.1.3 AA" ], - "verifier": "

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 a mechanism based on live regions is implemented
  • check that they are rendered in a relevant way to the screen reader
", - "complement": "

Examples

  • message that informs about the result of an action or the state of the application
  • error message
  • message indicating progress
", - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-content-change", + "verifier": "
  • Each status message is conveyed by the screen reader without moving the focus (mechanism based on announcements or live regions).
  • Each status message is conveyed appropriately.
", + "complement": "

Examples of status messages

  • Search result
  • Application status (e.g., offline)
  • Error message
  • Progress indication message
  • Notification
  • Message following the addition of a product to a cart
", + "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-content-change", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { "themes": "Voice navigation", - "title": "Are element states vocalized?", + "title": "Are the name, role, and value of each interface component vocalized?", "ID": "testID-024", "IDorigin": "testID-024", "wcag": [ "4.1.2 A" ], - "verifier": "

Check that element states are vocalized (tabs, checkbox, radio button, etc).

", + "verifier": "
  • The name and role of each interface component (button, link, checkbox, form field, etc.) are correctly conveyed.
  • The state of each interface component is vocalized (e.g., \"selected,\" \"checked,\" etc.).
  • Each interface component is vocalized with the associated action.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-the-state-of-the-elements", "resultatTest": "nt", "priority": "P0", @@ -397,7 +415,7 @@ "wcag": [ "1.1.1 A" ], - "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 :

  1. If a title is present, check that it is rendered to the screen reader and is relevant (identifies the nature of the data presented in the table).
  2. If the table is complex, a summary must be included (to help understand the nature of the data and the construction of the table).
  3. Headers must not be empty
  4. Row and column headers must be correctly rendered and linked to data cells
", + "verifier": "

For data tables:

  • If a title is present, ensure it is conveyed to the screen reader and is relevant (helps identify the nature of the data presented in the table).
  • If the table is complex, a summary must be present and relevant (helps understand the nature of the data and the structure of the table).
  • Headers must not be empty.
  • Row and column headers must be correctly conveyed and linked to the data cells.
", "priority": "P2", "resultatTest": "nt", "goodPractice": false }, + { + "themes": "Voice navigation", + "title": "Are changes in language clearly identified?", + "ID": "testID-058", + "IDorigin": "testID-058", + "wcag": [ + "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.

", + "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.

", - "exceptions": "

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 :

  • une étiquette est visuellement présente à proximité des champs de formulaire,
  • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
", "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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.

", - "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 étiquette de champ est-elle pertinente ?", "ID": "testID-071", "IDorigin": "testID-071", @@ -26,14 +26,14 @@ ], "verifier": "

Vérifier que l'étiquette de chaque champ est pertinente.

", "complement": "
Complément d'information

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": "
Complément d'information

Un placeholder seul ne suffit pas à fournir une étiquette visible, il doit être accompagné par un texte persistant à proximité du champ de formulaire.

", - "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", - "title": "Les champs sont-ils regroupés lorsque nécessaire ?", + "themes": "Champ de formulaire", + "title": "Les champs de même nature sont-ils regroupés si nécessaire ?", "ID": "testID-002", "IDorigin": "testID-002", "wcag": [ @@ -59,14 +59,14 @@ "3.3.2 A" ], "verifier": "

Les champs de même nature sont regroupés, par exemple :

  • pour une adresse (plusieurs champs rue, code postal et ville selon l'adresse de livraison ou de facturation)
  • pour une liste de boutons radio ou cases à cocher associés à un même paramètre
", - "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": "P2", "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "Les champs obligatoires sont-ils identifiables ?", "ID": "testID-003", "IDorigin": "testID-003", @@ -75,7 +75,7 @@ "3.3.2 A" ], "verifier": "
  • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
  • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
  • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
", - "group": "Écran de saisie", + "group": "Champ de formulaire", "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", @@ -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": "
  • Vérifier que le format de saisie est présent visuellement, et que son positionnement permet de l'associer au champ concerné.
  • Vérifier que le format de saisie est présent dans la vocalisation 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": "Un remplissage automatique est-il présent pour les champs de saisie destinés à contenir des informations sur l'utilisateur ?", "ID": "testID-005", "IDorigin": "testID-005", @@ -106,13 +106,14 @@ "1.3.5 AA" ], "verifier": "
  • Pour les champs de saisie destinés à contenir une information sur l'utilisateur (nom, adresse…), vérifier la présence de la propriété autofill.
  • La valeur indiquée pour la propriété autofill est pertinente au regard du type d'information attendue.
", - "group": "Écran de saisie", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", + "group": "Champ de formulaire", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Écran de saisie", + "themes": "Champ de formulaire", "title": "L'utilisateur peut-il s'authentifier sans utiliser un test s'appuyant sur des fonctions cognitives ?", "ID": "testID-064", "IDorigin": "testID-064", @@ -121,14 +122,14 @@ ], "verifier": "

Vérifier que toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :

  • une autre méthode d'authentification
  • une aide est disponible pour l'utilisateur
  • le test cognitif consiste à reconnaitre des objets
  • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au application mobile

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.

", "complement":"
Complément d'information

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:

  • soit par l'ajout d'un texte à proximité de chaque champ
  • soit par l'affichage d'un message listant les différentes erreurs (exemple: en début de formulaire)

La nature de l'erreur doit être suffisamment explicite (exemple : champ téléphone obligatoire, format de l'email invalide…)

", "complement":"
Complément d'information

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 :

  • Une activité (jeu de mémoire) où saisir à nouveau une information est essentiel
  • Des informations de sécurité comme la double saisie d'un mot de passe créé par l'utilisateur
  • Des informations préalablement renseignées qui ne sont plus valides
", "complement":"
Complément d'information

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 :

  • modification ou suppression de données,
  • transmission de réponse à un test ou un examen,
  • conséquences financières (achat en ligne) ou juridiques (validation de conditions générales d'utilisation),

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 :

  • le titre de l'Activity est renseigné,
  • le titre de l'Activity est unique. Une erreur courante est d'utiliser un même titre pour l'ensemble de l'application.
  • le titre de l'Activity permet à l'utilisateur de comprendre le contexte de la page.
", + "verifier": "
  • Le titre de la page est visible.
  • Le titre de la page est unique. Une erreur courante est d'utiliser un même titre pour l'ensemble de l'application.
  • Le titre de la page permet à l'utilisateur de comprendre le contexte de la page.
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/headers/#have-a-relevant-and-unique-screen-title", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, + { + "themes": "Entêtes", + "title": "L'information est-elle structurée par l'utilisation d'entêtes pertinentes ?", + "ID": "testID-076", + "IDorigin": "testID-076", + "wcag": [ + "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, + "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 :

  • identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  • identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
", + "exception": "

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": "
  • Sur Android, après agrandissement du texte à 200% (niveau d'agrandissement maximum dans les réglages), les textes de taille \"standard\" doivent s'agrandir conformément aux réglages natifs.
  • Le contenu est présenté sans perte d'information ni de fonctionnalité (contenu tronqué, masqué ou superposé) et sans nécessité de défilement dans les deux dimensions.
", + "complement": "
Complément d'information
  • Certains textes comme les titres peuvent être agrandis de moins de 200% en fonction de leur taille d'origine.
  • De même, certains éléments natifs tels que la barre d'onglets peuvent ne pas s'agrandir (limitation de l'OS).
", + "exception": "

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.

  • Chaque élément est vocalisé de façon pertinente (point d'attention notamment sur les images porteuses d'informations et les ImageButton qui n'ont pas de texte initialement).
  • Chaque élément interactif est vocalisé avec l'action associée.
  • Le titre de l'activité est vocalisé.
  • Chaque élément d'une liste a-t-il une description pertinente et unique ?
  • Vérifier pour les images complexes qu'une alternative est fournie par un contenu adjacent
", + "verifier": "

Tous les éléments graphiques signifiants sont vocalisés et accessibles en utilisant la navigation vocale :

  • Chaque élément graphique porteur d'information est vocalisé de façon pertinente.
  • Les images contenant du texte ont une alternative reprenant au moins le texte visible.
  • Les images complexes ont une alternative détaillée fournie par un contenu adjacent.
  • Chaque élément interactif est restitué au moins par un nom pertinent.
  • Les contenus multimédias pré-enregistrés sont facilement identifiables (par une alternative pertinente ou un contenu textuel adjacent).
", + "complement": "
Complément d'information
  • Si le contenu non textuel est un test ou un exercice qui serait invalide s'il était présenté sous forme de texte, alors l'alternative fournit au moins une description succinte de ce contenu.
  • Si le contenu non textuel est principalement destiné à créer une expérience sensorielle spécifique, alors l'alternative textuelle fournit au moins une description succinte de ce contenu.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-tous-les-elements-signifiants", "resultatTest": "nt", "priority": "P0", @@ -307,43 +327,41 @@ }, { "themes": "Navigation vocale", - "title": "Un champ de saisie est-il vocalisé avec le label qui lui est associé ? ", - "ID": "testID-061", - "IDorigin": "testID-061", + "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.5 AA" + "1.3.1 A" ], - "verifier": "

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.

", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", + "verifier": "

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 reliés sont-ils groupés au sein d'un même bloc d'annonce pour la vocalisation
  • les informations multidimensionnelles respectent-ils une bonne balance entre nombre de blocs et contenu dans chaque bloc ?
", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#regrouper-les-elements", + "title": "Les éléments présentés sous forme de liste sont-ils correctement restitués ?", + "ID": "testID-021", + "IDorigin": "testID-021", + "wcag": { + "0": "1.3.1 A" + }, + "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 }, { "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 :

  • tous les entêtes de section sont navigables et vocalisés
  • seuls les entêtes sont navigables et vocalisés
", + "verifier": "

À l'aide de la navigation vocale et en mode de navigation par entête :

  • tous les titres ou entêtes sont navigables et vocalisés.
  • seuls les titres ou entêtes sont navigables et vocalisés.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#gerer-la-navigation-par-entetes", "resultatTest": "nt", "priority": "P3", @@ -357,7 +375,7 @@ "wcag": [ "3.2.2 A" ], - "verifier": "

Vérifier qu'avec la navigation vocale, les changements de contenu sont restitués vocalement à l'utilisateur :

  • l'ouverture des fenêtres surgissantes (dialogs) est vocalisée
  • l'ouverture d'un nouvel écran (activité) est vocalisée par son titre
  • l'information du changement d'une partie de l'écran (comme un fragment qui change) est vocalisée
  • les défilements horizontaux sont vocalisés
", + "verifier": "

Les changements de contenu sont restitués vocalement à l'utilisateur :

  • l'ouverture des fenêtres surgissantes (dialogs) est vocalisée
  • l'ouverture d'un nouvel écran est vocalisée par son titre
  • l'information du changement d'une partie de l'écran (comme un fragment qui change) est vocalisée
  • les défilements horizontaux sont vocalisés
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-le-changement-de-contenu", "resultatTest": "nt", "priority": "P2", @@ -371,8 +389,8 @@ "wcag": [ "4.1.3 AA" ], - "verifier": "

Pour 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 qu'un mécanisme reposant sur les régions dynamique live est implémenté
  • vérifier qu'ils soient restitués de façon pertinentes au lecteur d'écran
", - "complement": "

Exemples

  • message qui informe sur le résultat d'une action ou sur l'état de l'application
  • message d'erreu
  • message qui indique la progression
", + "verifier": "
  • Chaque message d'état est restitué par le lecteur d'écran sans déplacement du focus (mécanisme reposant sur les annonces ou live regions)
  • Chaque message d'état est restitué de façon pertinente
", + "complement": "

Exemples de message d'état

  • résultat d'une recherche
  • état de l'application (par ex. hors-ligne)
  • message d'erreur
  • message indiquant la progression
  • notification
  • message suite à l'ajout d'un produit dans un panier
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-le-changement-de-contenu", "resultatTest": "nt", "priority": "P2", @@ -380,13 +398,13 @@ }, { "themes": "Navigation vocale", - "title": "Les états des éléments sont-ils vocalisés ? ", + "title": "Le nom, le rôle et la valeur de chaque composant d'interface sont-ils vocalisés ?", "ID": "testID-024", "IDorigin": "testID-024", "wcag": [ "4.1.2 A" ], - "verifier": "

Vérifier que les états des éléments sont vocalisés (onglets, case à cocher, bouton radio, etc).

", + "verifier": "
  • Le nom et le rôle de chaque composant d'interface (bouton, lien, case à cocher, champ de formulaire, etc.) est correctement restitué
  • L'état de chaque composant d'interface est vocalisé (\"sélectionné\", \"coché\", etc).
  • Chaque composant d'interface est vocalisé avec l'action associée.
", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-letat-des-elements", "resultatTest": "nt", "priority": "P0", @@ -400,7 +418,7 @@ "wcag": [ "1.1.1 A" ], - "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 :

  1. Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  2. Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau)
  3. Les entêtes ne doivent pas être vides
  4. Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données
", + "verifier": "

Pour les tableaux de données :

  • Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  • Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau).
  • Les entêtes ne doivent pas être vides.
  • Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données.
", "priority": "P2", "resultatTest": "nt", "goodPractice": false }, + { + "themes": "Navigation vocale", + "title": "Les changements de langues sont-ils indiqués ?", + "ID": "testID-058", + "IDorigin": "testID-058", + "wcag": [ + "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.

", + "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.

", - "exception": "

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:

  • another method of authentication
  • help is available for the user
  • the cognitive test consists of recognizing objects
  • the cognitive test consists of identifying the non-textual content that the user has provided to the mobile application

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.

", - "complement": "
Additional information

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:

  • another method of authentication
  • help is available for the user
  • the cognitive test consists of recognizing objects
  • the cognitive test consists of identifying the non-textual content that the user has provided to the mobile application

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.

", + "complement": "
Additional information

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:

  • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"

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:

  • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
  • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
", + "exception": "

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": "
  • On iOS, following text enlargement to 235%, \"standard\" text sizes must enlarge according to native settings (e.g., 17pt text enlarged to 40pt according to Apple specifications).
  • Content is presented without loss of information or functionality (no truncated, hidden, or overlapping content) and without the need for scrolling in both dimensions.
", + "complement": "
Additional information
  • Some texts, such as headings, may be enlarged by less than 200% depending on their original size (e.g., 28pt heading enlarged to 48pt according to Apple specifications).
  • Similarly, certain native elements, such as the tab bar, may not enlarge (OS limitation).
", + "exception": "

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.

  • Each element has a relevant vocalisation (especially on informative images and which have no text initially)..
  • Each interactive element is vocalized with the associated action.
  • The page title is vocalized.
  • Does each row of a list have a relevant and unique description?
  • For complex images, an alternative shall be present through an adjacent content
", + "verifier": "

All significant graphical elements are vocalized and accessible using voice navigation:

  • Each graphical element carrying information is vocalized appropriately.
  • Images containing text have an alternative that includes at least the visible text.
  • Complex images have a detailed alternative provided by adjacent content.
  • Each interactive element is represented by at least a relevant name.
  • Pre-recorded multimedia content is easily identifiable (through a relevant alternative or adjacent textual content).
", + "complement": "
Additional information
  • If the non-text content is a test or exercise that would be invalid if presented in text form, then the alternative provides at least a brief description of that content.
  • If the non-text content is primarily intended to create a specific sensory experience, then the textual alternative provides at least a brief description of that content.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -304,20 +322,6 @@ "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#reading-order" }, - { - "themes": "Voice navigation", - "title": "Is an input field vocalized with its associated label?", - "ID": "testID-061", - "IDorigin": "testID-061", - "wcag": [ - "1.3.5 AA" - ], - "verifier": "

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.

", - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#text-alternatives", - "resultatTest": "nt", - "priority": "P2", - "goodPractice": false - }, { "themes": "Voice navigation", "title": "Are the linked elements gathered in the same announcement block for vocalization?", @@ -326,12 +330,25 @@ "wcag": { "0": "1.3.1 A" }, - "verifier": "

Check that:

  • the linked elements are vocalized in the same announcement block
  • an information is returned when focusing on the first field, which makes it possible to identify the group to which the linked fields belong
", + "verifier": "

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:

  • all section headers are navigable and vocalized
  • only headers are navigable and vocalized
", + "verifier": "

Verify that with screen reader and the header navigation mode:

  • all section headers are navigable and vocalized
  • only headers are navigable and vocalized
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -354,7 +371,7 @@ "wcag": { "0": "3.2.2 A" }, - "verifier": "

Verify that using voice navigation, the content changes are vocalized to the user:

  • the opening of (pop-up) is vocalized
  • the opening of a new screen (UIView) is vocalized by its title
  • the change of a part of the screen (such as a fragment that changes) is vocalizede
  • horizontal scrolling is vocalized
", + "verifier": "

Content changes are vocally communicated to the user:

  • The opening of pop-up windows (dialogs) is vocalized.
  • The opening of a new screen is vocalized by its title.
  • The information about a change in a part of the screen (such as a changing fragment) is vocalized.
  • Horizontal scrolling is vocalized.
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -368,8 +385,8 @@ "wcag": { "0": "4.1.3 AA" }, - "verifier": "

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 a mechanism based on live regions is implemented
  • check that they are rendered in a relevant way to the screen reader
", - "complement": "

Examples

  • message informing about the result of an action or the state of the application
  • error message
  • message indicating progress
", + "verifier": "
  • Each status message is conveyed by the screen reader without moving the focus (mechanism based on announcements or live regions).
  • Each status message is conveyed appropriately.
", + "complement": "

Examples of status messages

  • Search result
  • Application status (e.g., offline)
  • Error message
  • Progress indication message
  • Notification
  • Message following the addition of a product to a cart
", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -377,13 +394,13 @@ }, { "themes": "Voice navigation", - "title": "Are element states vocalized?", + "title": "Are the name, role, and value of each interface component vocalized?", "ID": "testID-024", "IDorigin": "testID-024", "wcag": { "0": "4.1.2 A" }, - "verifier": "

Check that element states are vocalized (tabs, checkbox, radio button, etc).

", + "verifier": "
  • The name and role of each interface component (button, link, checkbox, form field, etc.) are correctly conveyed.
  • The state of each interface component is vocalized (e.g., \"selected,\" \"checked,\" etc.).
  • Each interface component is vocalized with the associated action.
", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -397,7 +414,7 @@ "wcag": { "0": "1.1.1 A" }, - "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 :

  1. If a title is present, check that it is rendered to the screen reader and is relevant (identifies the nature of the data presented in the table).
  2. If the table is complex, a summary must be included (to help understand the nature of the data and the construction of the table).
  3. Headers must not be empty
  4. Row and column headers must be correctly rendered and linked to data cells
", + "verifier": "

For data tables:

  • If a title is present, ensure it is conveyed to the screen reader and is relevant (helps identify the nature of the data presented in the table).
  • If the table is complex, a summary must be present and relevant (helps understand the nature of the data and the structure of the table).
  • Headers must not be empty.
  • Row and column headers must be correctly conveyed and linked to the data cells.
", "priority": "P2", "resultatTest": "nt", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#reading-order" + }, + { + "themes": "Voice navigation", + "title": "Are changes in language clearly identified?", + "ID": "testID-058", + "IDorigin": "testID-058", + "wcag": { + "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.

", + "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.

", - "group": "WebView", - "resultatTest": "nt", - "priority": "P3", - "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#change-the-vocalization-language", - "exception": "

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 :

  • une autre méthode d'authentification est proposée
  • une aide est disponible pour l'utilisateur
  • le test cognitif consiste à reconnaitre des objets
  • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au site Web.

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.

", - "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)

", - "complement":"
Complément d'information

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 :

  • une autre méthode d'authentification est proposée
  • une aide est disponible pour l'utilisateur
  • le test cognitif consiste à reconnaitre des objets
  • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au site Web.

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.

", + "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)

", + "complement":"
Complément d'information

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 :

  • Identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • Identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"

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 :

  • Identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
  • Identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
", + "exception": "

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": "
  • Sur iOS, suite à l'agrandissement de texte à 235%, les textes de taille \"standard\" doivent s'agrandir conformément aux réglages natifs (ex. texte 17pt agrandi à 40pt d'après les spécifications Apple).
  • Le contenu est présenté sans perte d'information ni de fonctionnalité(contenu tronqué, masqué ou superposé) et sans nécessité de défilement dans les deux dimensions.
", + "verifier": "
  • Sur iOS, après agrandissement du texte à 235%, les textes de taille \"standard\" doivent s'agrandir conformément aux réglages natifs (ex. texte 17pt agrandi à 40pt d'après les spécifications Apple).
  • Le contenu est présenté sans perte d'information ni de fonctionnalité (contenu tronqué, masqué ou superposé) et sans nécessité de défilement dans les deux dimensions.
", "complement": "
Complément d'information
  • Certains textes comme les titres peuvent être agrandis de moins de 200% en fonction de leur taille d'origine (ex. titre 28pt agrandi à 48pt d'après les spécifications Apple)
  • De même, certains éléments natifs tels que la barre d'onglets peuvent ne pas s'agrandir (limitation de l'OS).
", "resultatTest": "nt", "priority": "P2", - "exception": "

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 :

  • tous les titres ou entêtes sont navigables et vocalisés.
  • seuls les titres ou entêtes sont navigables et vocalisés.
", + "verifier": "

À l'aide du lecteur d'écran et en mode de navigation par entête :

  • tous les titres ou entêtes sont navigables et vocalisés.
  • seuls les titres ou entêtes sont navigables et vocalisés.
", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -395,7 +396,7 @@ }, { "themes": "Navigation vocale", - "title": "Le nom, le rôle et la valeur de chaque composant d'interface sont-ils vocalisés ? ", + "title": "Le nom, le rôle et la valeur de chaque composant d'interface sont-ils vocalisés ?", "ID": "testID-024", "IDorigin": "testID-024", "wcag": { @@ -415,7 +416,7 @@ "wcag": { "0": "1.1.1 A" }, - "verifier": "

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": "
  • Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  • Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau).
  • Les entêtes ne doivent pas être vides.
  • Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données.
", + "verifier": "

Pour les tableaux de données :

  • Si un titre est présent, vérifier que celui-ci est restitué au lecteur d'écran et est pertinent (permet d'identifier la nature des données présentées dans le tableau).
  • Si le tableau est complexe, un résumé doit être présent et pertinent(permet de comprendre la nature des données et la construction du tableau).
  • Les entêtes ne doivent pas être vides.
  • Les entêtes de lignes et de colonnes doivent être correctement restituées et reliées aux cellules de données.
", "priority": "P2", "resultatTest": "nt", "goodPractice": false, @@ -473,11 +474,11 @@ "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.

", "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 Ayoul Date: Mon, 17 Feb 2025 16:48:53 +0100 Subject: [PATCH 12/17] many updates --- json/criteres-wcag-android-en.json | 178 +++++++++++++++------------- json/criteres-wcag-android-fr.json | 180 ++++++++++++++++------------- json/criteres-wcag-ios-en.json | 171 +++++++++++++++------------ json/criteres-wcag-ios-fr.json | 68 +++++++---- 4 files changed, 337 insertions(+), 260 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 687f54b..2a13567 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -480,71 +480,115 @@ "goodPractice": false }, { - "themes": "Keyboard navigation and Switch Access", - "title": "Is all functionality of the page content operable through a keyboard interface or Switch Access?", + "themes": "Voice navigation", + "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:
  • Navigation by headings
  • Navigation by links
  • Navigation by paragraphs
  • Or any other specific navigation method
", + "group": "Voice navigation", + "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#provide-skip-links", + "resultatTest": "nt", + "priority": "P1", + "goodPractice": false + }, + { + "themes": "Voice navigation", + "title": "Is the content of the page conveyed in the primary language of the page?", + "ID": "testID-060", + "IDorigin": "testID-060", + "wcag": [ + "3.1.1 A" + ], + "verifier": "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", + "priority": "P3", + "goodPractice": false + }, + { + "themes": "Switch Access and keyboard navigation", + "title": "Are all functionalities of the page operable through Switch Access or an external keyboard interface?", "ID": "testID-027", "IDorigin": "testID-027", "wcag": [ "2.1.1 A" ], - "verifier": "

Check that:

  • all features are available using Switch Access or keyboard navigation
  • only interactive elements are focusable using Switch Access or keyboard navigation
  • elements are gathered when they are linked (e.g. contents within a clickable row in a list).
  • it is possible to scroll with keyboard to read the content in a scrollView
", + "verifier": "
  • All functionalities are available using Switch Access and keyboard navigation
  • Only interactive elements are accessible
  • Elements are grouped when they are linked (e.g : contents within a clickable row in a list)
  • It is possible to scroll with to read the content in a ScrollView
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#access-to-interactive-elements", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Keyboard navigation and Switch Access", + "themes": "Switch Access and keyboard navigation", "title": "The screen does not contain keyboard traps?", "ID": "testID-028", "IDorigin": "testID-028", "wcag": [ "2.1.2 A" ], - "verifier": "

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:

  • When navigating with the keyboard, if focus lands on an element, the user should be able to exit that element using standard keys (Escape, Enter, arrow keys, etc.).
  • With Switch Access, focus should not be stuck within a container.

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 shortcut can be disabled by the user.
  • The shortcut is active only when the focus is on the interface component.
  • The shortcut can be modified, allowing the addition of one or more non-printable characters (Ctrl, Alt, Shift, etc.) to the combination.
", + "exception": "

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 focus is easily visible at a glance and stands out from the rest of the screen.
  • If necessary, check the contrast ratio of the focus, which should be at least 3:1 compared to the surrounding color.
", + "exception": "

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": "
  • check that these actions can also be operated by user interface components (e.g. button)
  • check that it is possible to disable the motion detection
", + "verifier": "
  • Actions triggered by device movement or user gestures have alternatives available from an interface component (e.g., button).
  • It is possible to disable motion detection.
", "exceptions": "

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": "
For example

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:

  • video game application
  • piano playing application
  • check scanning application
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#have-an-application-that-can-be-used-in-any-orientation", "resultatTest": "nt", "priority": "P2", @@ -648,7 +693,7 @@ "wcag": [ "3.2.4 AA" ], - "verifier": "

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": "
Additional information

Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", "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:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
", - "exception": "
  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
  • 20 hour exception: the time limit is longer than 20 hours.
", + "verifier": "

Check that one of the conditions below is met:

  • user is allowed to turn off the time limit
  • the user is allowed to increase the time limit up to 10 times the minimum default value
  • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
  • the time limit is longer than 20 hours.
", + "exception": "

The criterion is not applicable in following cases:

  • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
  • essential exception: the time limit is essential and extending it would invalidate the activity;
", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/general-navigation/#make-ui-with-timeout-adaptable", "resultatTest": "nt", "priority": "P1", @@ -696,7 +741,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/general-navigation/#provide-readable-text", "resultatTest": "nt", "priority": "P1", - "goodPractice": false + "goodPractice": true }, { "themes": "Common navigation", @@ -709,6 +754,7 @@ ], "verifier": "

When using forms or any interactive component, check that there is no change of context :

  • when a component receives focus
  • when entering data
  • when activating a form element other than a button

Context change is compliant if:

  • the action is initiated by an explicit button or link
  • the user is warned by text before its activation
", "complement": "
Context Change

Major change in the screen content that, when done without the user's knowledge, can be disorienting.

Context changes include changes in:

  • user agent (opening another application)
  • viewport (opening a new screen, another part of the displayed screen)
  • focus (moving the focus)
  • content that alters the meaning of the screen
", + "exception": "

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": "
  • If content in a part of the page starts automatically and lasts more than 5 seconds, is in motion, scrolling, or blinking, 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.
", "complement": "
Additional Information

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:

  • No movement, scrolling, blinking, updating, or automatic refreshing lasting more than 5 seconds and starting automatically.
  • The movement, scrolling, blinking, or refreshing is essential to the service.
", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -734,7 +780,7 @@ "wcag": [ "2.3.1 A" ], - "verifier": "

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)

", + "verifier": "

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)

", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#avoid-epileptic-risk-contents", "resultatTest": "nt", "priority": "P3", @@ -748,7 +794,7 @@ "wcag": [ "3.2.3 AA" ], - "verifier": "

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": "
  • special cases (e.g.: logo, captcha, tradename)
  • The item is essential
  • The image is customizable by the user
", + "verifier": "

Images are not used to present text.

The criterion is compliant for the following exceptions:

  • SVG (true text)
  • specific cases (e.g., logo, captcha, brand name)
  • the element is necessary
  • the image is visually modifiable by the user
", "exception": "Not applicable if no image contains text.", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { "themes": "Common navigation", - "title": "Is each link or button label explicit, at least if the user takes its context into consideration?", + "title": "Is the accessible label/name of each interactive element explicit, at least within its context?", "ID": "testID-054", "IDorigin": "testID-054", "wcag": [ "2.4.4 A" ], - "verifier": "

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.

  • check that there are not any identical labels pointing to different locations (URLs)
  • check that it is possible to determine the action or destination of a link or button given only its accessible name
  • if the above checks are inconclusive, ensure that the target of a link or the action carried by a button can be inferred from its context
", - "complement": "
How to determine the context of the link:

The context of the link constitutes additional information that helps the user understand the purpose. Check that this additional information is located either:

  • in the same phrase
  • in the same paragraph
  • in the same list element
  • in the same table cell
  • in the table header cell, associated with the cell of the link
", + "verifier": "

The user must be able to understand the purpose of a link or button without having to navigate the page to comprehend its meaning.

  • Check that there are no identical labels pointing to different destinations.
  • Verify that the destination of a link or the action of a button can be determined solely from its accessible name.
  • If the previous checks are inconclusive, ensure that the target of a link or the action of a button is at least understandable through its context (sentence, paragraph, cell...).
", + "complement": "
How to Determine the Context of a Link:

The context of the link represents additional information that helps understand its label. Ensure that this additional information is positioned either:

  • in the same sentence
  • in the same paragraph
  • in the same list item
  • in the same table cell
  • in the header cell of the table, associated with the link cell
", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -789,7 +834,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.

", + "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:

\n
  • a main navigation menu
  • a table of contents
  • a sitemap
  • a search feature
", - "exception": " except if the screen is the result of, or a step in a process.", + "verifier": "

There are several mechanisms to reach desired content and allow a user to navigate within the application:

  • a main navigation menu
  • a tab bar
  • a search mechanism
  • ...
", + "exception": "

Not applicable:

  • If the number of screens is limited and/or the content is short.
  • For a results screen or a step in a multi-step process.
", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -816,7 +861,8 @@ "wcag": [ "1.2.1 A" ], - "verifier": "

Check that a complete transcript (text containing all the auditory information) is provided as text.
This text transcript should be:

  • present in the screen
  • or available via a link immediately next to the link to the audio clip
", + "verifier": "

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 :

  • présente dans l'écran
  • or available via a link immediately next to the link to the audio clip
", + "complement": "
Transcribed subtitles

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:

  • present in the screen
  • or available via a link immediately next to the link to the video clip
", + "verifier": "

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:

  • present on the screen
  • or available via a link positioned near the video
  • or verify the presence of an audio track providing the information presented visually
", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", "resultatTest": "nt", @@ -846,7 +892,7 @@ "wcag": [ "1.2.3 A" ], - "verifier": "
  • Check that a complete transcript (all of the information - both visual and auditory - in text form) is provided as text.
    This text transcript should be:
    • present in the screen
    • or available via a link immediately next to the link to the video clip
  • Or for all video content, check that an audio description is provided:
    • check that the audio description is synchronized correctly
    • check that the audio description does not conflict with the audio track of the video (no loss of information)
    • check that the audio description is appropriate
    ", + "verifier": "

    For any pre-recorded video (with or without audio):

    • Either a complete transcript (text containing all auditory and visual information) is provided in text form: this textual transcription must be present on the screen or available via a link positioned near the video.
    • Or, an audio description is available; verify that:
      • the audio description is properly synchronized
      • the audio description does not conflict with the audio track of the video (no loss of information)
      • the audio description is relevant
    ", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", "resultatTest": "nt", @@ -861,7 +907,7 @@ "wcag": [ "1.2.5 AA" ], - "verifier": "
    • check that an audio description is provided for all video content
    • check that the audio description is synchronized correctly
    • check that the audio description does not conflict with the audio track of the video (no loss of information)
    • check that the audio description is appropriate
    ", + "verifier": "

    For any video:

    • An audio description is available.
    • The audio description is properly synchronized.
    • The audio description does not conflict with the audio track of the video (no loss of information).
    • The audio description is relevant.
    ", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#transcribe-audio-or-video-content", "resultatTest": "nt", @@ -876,7 +922,8 @@ "wcag": [ "1.2.2 A" ], - "verifier": "
    • check that captions are available for all video with audio content
    • check that the captions are relevant (providing all of the information needed to understand the content, such as the identity of the speakers)
    • check that the captions are not covering important information in the video
    ", + "verifier": "

    For any video with audio:

    • Subtitles are available.
    • The subtitles are relevant (providing all necessary information for understanding, such as the identity of speakers).
    • The subtitles do not obscure important information in the video.
    ", + "exception": "

    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": "
    • check that captions are available
    • check that the captions are relevant (providing all of the information needed to understand the content, such as the identity of the speakers)
    ", + "verifier": "

    For any live video with audio:

    • Subtitles are available.
    • The subtitles are relevant (providing all necessary information for understanding, such as the identity of speakers).
    ", "complement": "
    Captions

    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": "
    • possible to pause or stop the sound
    • possible to control audio volume independently from the overall system volume level
    ", + "verifier": "
    • Possibility to pause or mute the sound.
    • Or possibility to adjust the volume independently of the system volume.
    ", "group": "Multimedia", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/multimedia/#control-multimedia-content", "resultatTest": "nt", @@ -929,65 +976,38 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "title": "Is there a mechanism to navigate within the page?", - "ID": "testID-059", - "IDorigin": "testID-059", - "wcag": [ - "2.4.1 A" - ], - "verifier": "

    If one of the mechanisms below is necessary for navigation, but absent from the page, then the test is non-compliant:

    • heading tags (hn)
    • bypass blocks or skip links present at the top of the page, which allow the user to go directly to the main content sections
    • landmark elements, used to organize the document (header, main…)
    • bypass blocks present within the content
    ", - "group": "WebView", - "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#provide-skip-links", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false - }, - { - "themes": "WebView", - "title": "Is the main language defined, and does it correspond to the document's primary language?", - "ID": "testID-060", - "IDorigin": "testID-060", - "wcag": [ - "3.1.1 A" - ], - "verifier": "

    This criterion can only be verified if you have access to the URL of the WebView.

    • check there is a lang attribute present (N.B. the presence of the xml:lang attribute is not sufficient to pass this test)
    • the value of the lang attribute should correspond to the primary language used on the page
    ", - "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": "Non-text Content", - "title": "Does every captcha image possess an alternative?", + "themes": "CAPTCHA", + "title": "Does every CAPTCHA image possess an alternative?", "ID": "testID-065", "IDorigin": "testID-065", "wcag": [ "1.1.1 A" ], - "verifier": "

    Check 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:

    • audio and visual captcha
    • logic problems (question for which the response is obvious, simple maths test…)
    • there is another method to access the functionality that is protected by the CAPTCHA
    ", - "group": "Captcha", + "verifier": "

    For each CAPTCHA which is exclusively visual or audio, one of the following alternatives is provided in addition:

    • audio and visual CAPTCHA
    • logic problems (question for which the response is obvious, simple maths test…)
    • there is another method to access the functionality that is protected by the CAPTCHA
    ", + "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": "Cryptic content", "title": "Does each occurrence of cryptic content (ASCII art, emoticon, cryptic syntax) have an appropriate alternative?", "ID": "testID-067", "IDorigin": "testID-067", diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index 5f56c60..e30c9f8 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -475,77 +475,122 @@ ], "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.

    ", - "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 :

    • navigation par entêtes
    • navigation par liens
    • navigation par paragraphes
    • ou tout autre moyen de navigation spécifique
    ", + "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#fournir-des-liens-devitement", + "group": "Navigation vocale", + "resultatTest": "nt", + "priority": "P1", + "goodPractice": false + }, + { + "themes": "Navigation vocale", + "title": "Le contenu de la page est-il restitué dans la langue principale de la page ?", + "ID": "testID-060", + "IDorigin": "testID-060", + "wcag": [ + "3.1.1 A" + ], + "verifier": "

    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 :

    • toutes les fonctionnalités sont disponibles avec Switch Access ou avec un clavier
    • seuls les éléments interactifs sont focusables
    • les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • il est possible de faire le défilement au clavier pour lire le contenu dans une scrollview
    ", + "verifier": "
    • Toutes les fonctionnalités sont disponibles avec Switch Access et avec un clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#acceder-aux-elements-interactifs", "resultatTest": "nt", "priority": "P0", "goodPractice": false }, { - "themes": "Navigation au clavier et Switch Access", + "themes": "Switch Access et navigation clavier", "title": "L'écran ne contient pas de piège clavier ?", "ID": "testID-028", "IDorigin": "testID-028", "wcag": [ "2.1.2 A" ], - "verifier": "

    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 :

    • 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...).
    • avec Switch Access, le focus ne doit pas rester bloqué au sein d'un conteneur.

    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 raccourci peut être désactivé par l'utilisateur
    • le raccourci est actif uniquement à la prise de focus du composant de l'interface
    • le raccourci peut être modifié, avec la possibilité d'ajouter un ou plusieurs caractères non-imprimables (Ctrl, Alt, Maj,…) à la combinaison
    ", + "exception": "

    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 focus est visible d'un coup d'oeil et il se distingue bien du reste de l'écran.
    • Si besoin, vérifier le ratio de contraste du focus qui doit être au moins de 3:1 par rapport à la couleur environnante.
    ", + "exception": "

    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": "
    • Vérifier que ces actions ont des alternatives disponibles depuis un composant d'interfaces (ex. : bouton).
    • Vérifier qu'il est possible de désactiver la détection de mouvement.
    ", - "exception": "

    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": "
    • Les actions déclenchées par un mouvement de l'appareil ou un geste de l'utilisateur ont des alternatives disponibles depuis un composant d'interfaces (ex. : bouton).
    • Il est possible de désactiver la détection de mouvement.
    ", "resultatTest": "nt", "priority": "P2", - "goodPractice": false + "goodPractice": false, + "exception": "

    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": "
    Exemple

    Zoom sur une carte : des boutons (+ / -) sont disponibles, en alternative au pincé.

    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", @@ -592,7 +636,7 @@ ], "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": "
    Complément d'information

    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 :

    • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
    • La fonctionnalité est native est non modifiée
    ", + "exception":"

    Le critère est non applicable si :

    • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
    • La fonctionnalité est native est non modifiée
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", "priority": "P3", @@ -621,6 +665,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ément tronqué).

    ", + "exception": "

    Si une orientation est jugée essentielle, le critère est non-applicable. Exemple d'affichage jugé essentiel :

    • application de jeu vidéo
    • application pour jouer du piano
    • application pour scanner un chèque bancaire
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#avoir-une-application-utilisable-quelle-que-soit-lorientation", "resultatTest": "nt", "priority": "P2", @@ -650,7 +695,7 @@ "wcag": [ "3.2.4 AA" ], - "verifier": "

    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":"
    Complément d'information

    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 :

    • possibilité de supprimer la limite de temps
    • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
    • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
    ", - "exception": "
    • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
    • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
    • l'exception des 20 heures : la limite de temps est supérieure à 20 heures.
    ", + "verifier": "

    Vérifier qu'une des conditions ci-dessous est respectée :

    • possibilité de supprimer la limite de temps
    • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
    • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
    • la limite de temps est supérieure à 20 heures.
    ", + "exception": "

    Le critère est non-applicable dans les cas suivants :

    • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
    • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-generale/#rendre-adaptable-les-ui-avec-limite-de-temps", "resultatTest": "nt", "priority": "P1", @@ -698,7 +744,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-generale/#proposer-des-textes-lisibles", "resultatTest": "nt", "priority": "P1", - "goodPractice": false + "goodPractice": true }, { "themes": "Navigation générale", @@ -711,6 +757,7 @@ ], "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 la prise de focus d'un élément
    • lors de la saisie de données
    • lors de l'activation d'un élément de formulaire autre qu'un bouton

    Le changement de contexte est conforme si :

    • l'action est initiée par un bouton ou un lien explicite
    • l'utilisateur est averti par un texte avant son déclenchement
    ", "complement": "
    Changement de contexte

    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 :

    • d'agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", + "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.

    ", "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": "
    • 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.
    ", + "complement": "
    Complément d'information

    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 :

    • Aucun mouvement, défilement, clignotement, mise à jour ou rafraichissement automatique durant plus de 5 secondes et démarrant automatiquement.
    • Le mouvement, défilement, clignotement ou rafraichissement est essentiel au service
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -750,7 +799,7 @@ "wcag": [ "3.2.3 AA" ], - "verifier": "

    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": "
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur'
    ", + "verifier": "

    Les images ne sont pas utilisées pour présenter du texte.

    Le critère est conforme pour les exceptions suivantes :

    • SVG (vrai texte)
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur
    ", + "exception": "Non applicable si aucune image ne contient de texte", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { "themes": "Navigation générale", - "title": "Chaque libellé de lien ou de bouton est-il explicite, au minimum dans son contexte ?", + "title": "L'étiquette/nom accessible de chaque élément interactif est-il explicite, au minimum dans son contexte ?", "ID": "testID-054", "IDorigin": "testID-054", "wcag": [ "2.4.4 A" ], - "verifier": "

    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.

    • vérifier qu'il n'y a pas de libellés identiques pointant vers des destinations différentes
    • vérifier qu'il est possible de déterminer l'action ou la destination d'un lien ou d'un bouton uniquement à partir de son nom accessible
    • si vérifications précédentes non concluantes, vérifier que la cible d'un lien ou l'action portée par un bouton est au moins compréhensible grâce à son contexte.
    ", + "verifier": "

    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.

    • Vérifier qu'il n'y a pas d'étiquettes identiques pointant vers des destinations différentes
    • Vérifier qu'il est possible de déterminer la destination d'un lien ou l'action d'un bouton uniquement à partir de son nom accessible
    • Si les vérifications précédentes sont non concluantes, vérifier que la cible d'un lien ou l'action portée par un bouton est au moins compréhensible grâce à son contexte (phrase, paragraphe, cellule...)
    ", "complement": "
    Comment déterminer le contexte de lien :

    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 :

    • dans la même phrase
    • dans le même paragraphe
    • dans le même élément de liste
    • dans la même cellule de tableau
    • dans la cellule d'entête du tableau, associée à la cellule du lien
    ", "resultatTest": "nt", "priority": "P3", @@ -791,7 +840,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.

    ", + "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.

    \n

    Vé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 :

    • un menu de navigation principal
    • une table des matières
    • un plan de site
    • un mécanisme de recherche
    ", - "exception": "Sauf pour un écran résultat ou étape d'un processus à étapes.", + "verifier": "

    Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :

    • un menu de navigation principal
    • une tab bar
    • un mécanisme de recherche
    • ...
    ", + "exception": "

    Non applicable :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -818,7 +867,8 @@ "wcag": [ "1.2.1 A" ], - "verifier": "

    Vérifier qu'un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
    Cette transcription textuelle est alors :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la piste audio
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la piste audio
    ", + "complement": "
    Sous-titres transcrits

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -848,7 +898,7 @@ "wcag": [ "1.2.3 A" ], - "verifier": "
    • Vérifier qu'un transcrit complet (texte contenant l'ensemble des informations auditives et visuelles) est fourni sous forme de texte.
      Cette transcription textuelle est alors :
      • présente dans l'écran
      • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier que pour toute vidéo, une audiodescription est disponible
      • vérifier que l'audiodescription est correctement synchronisée
      • vérifier que l'audiodescription n'entre pas en conflit avec la piste audio de la vidéo (pas de perte d'information)
      • vérifier que l'audiodescription est pertinente
    ", + "verifier": "

    Pour toute vidéo préenregistrée (avec ou sans audio) :

    • Soit un transcrit complet (texte contenant l'ensemble des informations auditives et visuelles) est fourni sous forme de texte : cette transcription textuelle doit alors être présente dans l'écran ou disponible via un lien positionné à proximité de la vidéo
    • Soit, une audiodescription est disponible, vérifier alors que :
      • l'audiodescription est correctement synchronisée
      • l'audiodescription n'entre pas en conflit avec la piste audio de la vidéo (pas de perte d'information)
      • l'audiodescription est pertinente
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -863,7 +913,7 @@ "wcag": [ "1.2.5 AA" ], - "verifier": "
    • Vérifier que pour toute vidéo, une audiodescription est disponible.
    • Vérifier que l'audiodescription est correctement synchronisée.
    • Vérifier que l'audiodescription n'entre pas en conflit avec la piste audio de la vidéo (pas de perte d'information).
    • Vérifier que l'audiodescription est pertinente.
    ", + "verifier": "

    Pour toute vidéo :

    • Une audiodescription est disponible.
    • L'audiodescription est correctement synchronisée.
    • L'audiodescription n'entre pas en conflit avec la piste audio de la vidéo (pas de perte d'information).
    • L'audiodescription est pertinente.
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -878,7 +928,8 @@ "wcag": [ "1.2.2 A" ], - "verifier": "
    • Vérifier que pour toute vidéo avec audio, des sous-titres sont disponibles.
    • Vérifier que les sous-titres sont pertinents (restitution de toutes les informations nécessaires à la compréhension, comme l'identité des orateurs).
    • Vérifier que les sous-titres ne masquent pas des informations importantes de la vidéo.
    ", + "verifier": "

    Pour toute vidéo avec audio :

    • Des sous-titres sont disponibles.
    • Les sous-titres sont pertinents (restitution de toutes les informations nécessaires à la compréhension, comme l'identité des orateurs).
    • Les sous-titres ne masquent pas des informations importantes de la vidéo.
    ", + "exception": "

    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": "
    • Vérifier que des sous-titres sont disponibles.
    • Vérifier que les sous-titres sont pertinents (restitution de toutes les informations nécessaires à la compréhension, comme l'identité des orateurs).
    ", - "complement": "
    Sous-titres transcrits

    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 :

    • Des sous-titres sont disponibles.
    • Les sous-titres sont pertinents (restitution de toutes les informations nécessaires à la compréhension, comme l'identité des orateurs).
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -909,7 +959,7 @@ "wcag": [ "1.4.2 A" ], - "verifier": "
    • Possibilité de mettre en pause ou d'arrêter le son.
    • Possibilité de régler le volume indépendamment du volume système.
    ", + "verifier": "
    • Possibilité de mettre en pause ou d'arrêter le son.
    • Ou possibilité de régler le volume indépendamment du volume système.
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#controler-le-contenu-multimedia", "resultatTest": "nt", @@ -931,64 +981,36 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "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": "

    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 :

    • des titres de niveaux
    • des liens d'évitement, présents en début de page et permettant d'accéder aux principales zones de contenu
    • des landmarks, utilisés pour structurer le document (header, main…)
    • des liens de sauts de bloc présents au sein du contenu
    ", - "group": "WebView", - "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#fournir-des-liens-devitement", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false - }, - { - "themes": "WebView", - "title": "La langue principale est-elle définie et correspond-elle à la langue principale du document ?", - "ID": "testID-060", - "IDorigin": "testID-060", - "wcag": [ - "3.1.1 A" - ], - "verifier": "

    Ce critère ne peut être vérifié que si on a accès à l'URL de la WebView.

    • vérifier la présence d'un attribut lang (attention l'attribut xml:lang ne permet pas de valider le test)
    • la valeur de l'attribut lang doit correspondre à la langue principale de la page
    ", - "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": "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": "

    Vé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 :

    • captcha audio et visuel
    • des tests logiques (question dont la réponse est évidente, test mathématique simple…)
    • il existe une autre solution d'accès à la fonctionnalité sécurisée par le CAPTCHA
    ", + "verifier": "

    Pour tout CAPTCHA uniquement visuel ou sonore, l'une des alternatives ci-dessous est proposée en complément :

    • CAPTCHA audio et visuel
    • tests logiques (question dont la réponse est évidente, test mathématique simple…)
    • il existe une autre solution d'accès à la fonctionnalité sécurisée par le CAPTCHA
    ", "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": "Contenu cryptique", "title": "Chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) possède-t-il une alternative pertinente ?", "ID": "testID-067", "IDorigin": "testID-067", diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 3e89943..7e34c00 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -480,67 +480,111 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#change-the-vocalization-language" }, { - "themes": "Switch control and keyboard navigation", + "themes": "Voice navigation", + "title": "Is there a mechanism to navigate within the page?", + "ID": "testID-059", + "IDorigin": "testID-059", + "wcag": { + "0": "2.4.1 A" + }, + "verifier": "

    If deemed necessary, the application must offer quick navigation using the Rotor feature, for example:

    • Navigation by headings
    • Navigation by links
    • Navigation by containers
    • Navigation by form fields
    • Or any other specific navigation method
    ", + "group": "Voice navigation", + "resultatTest": "nt", + "priority": "P1", + "goodPractice": false + }, + { + "themes": "Voice navigation", + "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.", + "group": "Voice navigation", + "resultatTest": "nt", + "priority": "P3", + "goodPractice": false, + "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes" + }, + { + "themes": "Switch Control and keyboard navigation", "title": "Are all functionalities of the page content operable through Switch Control or an external keyboard interface?", "ID": "testID-027", "IDorigin": "testID-027", "wcag": { "0": "2.1.1 A" }, - "verifier": "

    Check that:

    • all features are available using Switch Control and Full Keyboard Access navigation
    • only interactive elements are accessible
    • elements are gathered when they are linked (e.g : contents within a clickable row in a list)
    • it is possible to scroll with to read the content in a ScrollView
    ", + "verifier": "
    • All functionalities are available using Switch Control and Full Keyboard Access navigation
    • Only interactive elements are accessible
    • Elements are grouped when they are linked (e.g : contents within a clickable row in a list)
    • It is possible to scroll with to read the content in a ScrollView
    ", "resultatTest": "nt", "priority": "P0", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#switch-control" }, { - "themes": "Switch control and keyboard navigation", + "themes": "Switch Control and keyboard navigation", "title": "The screen does not contain keyboard traps ? ", "ID": "testID-028", "IDorigin": "testID-028", "wcag": { "0": "2.1.2 A" }, - "verifier": "

    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:

    • When navigating with the keyboard, if focus lands on an element, the user should be able to exit that element using standard keys (Escape, Enter, arrow keys, etc.).
    • With Switch Control, focus should not be stuck within a container.

    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 shortcut can be disabled by the user.
    • The shortcut is active only when the focus is on the interface component.
    • The shortcut can be modified, allowing the addition of one or more non-printable characters (Ctrl, Alt, Shift, etc.) to the combination.
    ", + "exception": "

    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 focus is easily visible at a glance and stands out from the rest of the screen.
    • If necessary, check the contrast ratio of the focus, which should be at least 3:1 compared to the surrounding color.
    ", + "exception": "

    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": "
    • check that these actions can also be operated by user interface components (e.g. : button).
    • check that it is possible to disable the motion detection.
    ", + "verifier": "
    • Actions triggered by device movement or user gestures have alternatives available from an interface component (e.g., button).
    • It is possible to disable motion detection.
    ", + "exception": "

    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:

    • video game application
    • piano playing application
    • check scanning application
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -641,7 +686,7 @@ "wcag": { "0": "3.2.4 AA" }, - "verifier": "

    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": "
    Additional information

    Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", "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:

    • user is allowed to turn off the time limit
    • the user is allowed to increase the time limit up to 10 times the minimum default value
    • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
    ", - "exception": "
    • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
    • essential exception: the time limit is essential and extending it would invalidate the activity;
    • 20 hour exception: the time limit is longer than 20 hours.
    ", + "verifier": "

    Check that one of the conditions below is met:

    • user is allowed to turn off the time limit
    • the user is allowed to increase the time limit up to 10 times the minimum default value
    • the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action
    • the time limit is longer than 20 hours.
    ", + "exception": "

    The criterion is not applicable in following cases:

    • real-time exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible;
    • essential exception: the time limit is essential and extending it would invalidate the activity;
    ", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -687,7 +732,7 @@ "verifier": "

    Check that:

    • texts have a sufficient size to be read easily
    • the fond enables to differentiate letters, such as i,l,I,L
    • spacing between letters and lines is sufficient
    • text is not in italic
    ", "resultatTest": "nt", "priority": "P1", - "goodPractice": false, + "goodPractice": true, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#text-size" }, { @@ -701,6 +746,7 @@ }, "verifier": "

    When using forms or any interactive component, check that there is no change of context :

    • when a component receives focus
    • when entering data
    • when activating a form element other than a button

    Context change is compliant if:

    • the action is initiated by an explicit button or link
    • the user is warned by text before its activation
    ", "complement": "
    Context Change

    Major change in the screen content that, when done without the user's knowledge, can be disorienting.

    Context changes include changes in:

    • user agent (opening another application)
    • viewport (opening a new screen, another part of the displayed screen)
    • focus (moving the focus)
    • content that alters the meaning of the screen
    ", + "exception": "

    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": "
    • If content in a part of the page starts automatically and lasts more than 5 seconds, is in motion, scrolling, or blinking, 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.
    ", "complement": "
    Additional Information

    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:

    • No movement, scrolling, blinking, updating, or automatic refreshing lasting more than 5 seconds and starting automatically.
    • The movement, scrolling, blinking, or refreshing is essential to the service.
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -727,7 +773,7 @@ "wcag": { "0": "2.3.1 A" }, - "verifier": "

    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)

    ", + "verifier": "

    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)

    ", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -741,7 +787,7 @@ "wcag": { "0": "3.2.3 AA" }, - "verifier": "

    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": "
    • special cases (e.g.: logo, captcha, tradename)
    • The item is essential
    • The image is customizable by the user
    ", + "verifier": "

    Images are not used to present text.

    The criterion is compliant for the following exceptions:

    • SVG (true text)
    • specific cases (e.g., logo, captcha, brand name)
    • the element is necessary
    • the image is visually modifiable by the user
    ", "exception": "Not applicable if no image contains text.", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -763,14 +808,14 @@ }, { "themes": "Common navigation", - "title": "Is each link label explicit, at least if the user takes its context into consideration?", + "title": "Is the accessible label/name of each interactive element explicit, at least within its context?", "ID": "testID-054", "IDorigin": "testID-054", "wcag": { "0": "2.4.4 A" }, - "verifier": "

    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.

    • check that there are not any identical labels pointing to different locations (URLs)
    • check that it is possible to determine the action or destination of a link or button given only its accessible name
    • if this is not the case, check that the target of a link or the action of a button may be inferred from its context.
    ", - "complement": "
    How to determine the contexte of a link  :

    The context of the link represents the additional information required to understand its title. Check that this additional information is positioned either:

    • in the same sentence
    • in the same paragraph
    • in the same list element
    • in the same tabe cell
    • in the table header cell, linked to the cell with the link
    ", + "verifier": "

    The user must be able to understand the purpose of a link or button without having to navigate the page to comprehend its meaning.

    • Check that there are no identical labels pointing to different destinations.
    • Verify that the destination of a link or the action of a button can be determined solely from its accessible name.
    • If the previous checks are inconclusive, ensure that the target of a link or the action of a button is at least understandable through its context (sentence, paragraph, cell...).
    ", + "complement": "
    How to Determine the Context of a Link:

    The context of the link represents additional information that helps understand its label. Ensure that this additional information is positioned either:

    • in the same sentence
    • in the same paragraph
    • in the same list item
    • in the same table cell
    • in the header cell of the table, associated with the link cell
    ", "resultatTest": "nt", "priority": "P3", "goodPractice": false @@ -783,7 +828,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.

    ", + "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:

    \n
    • a main navigation menu
    • a sitemap
    • a search feature
    • ...
    ", - "exception": " except if the screen is the result of, or a step in a process.", + "verifier": "

    There are several mechanisms to reach desired content and allow a user to navigate within the application:

    • a main navigation menu
    • a tab bar
    • a search mechanism
    • ...
    ", + "exception": "

    Not applicable:

    • If the number of screens is limited and/or the content is short.
    • For a results screen or a step in a multi-step process.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -811,7 +856,8 @@ "wcag": { "0": "1.2.1 A" }, - "verifier": "

    Check that a complete transcript (text containing all the auditory information) is provided as text.
    This text transcript should be :

    • présente dans l'écran
    • or available via a link immediately next to the link to the audio clip
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • or available via a link immediately next to the link to the audio clip
    ", + "complement": "
    Transcribed subtitles

    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 :

    • present in the screen
    • \n
    • or available via a link immediately next to the link to the video clip
    ", + "verifier": "

    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:

    • present on the screen
    • or available via a link positioned near the video
    • or verify the presence of an audio track providing the information presented visually
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -841,7 +887,7 @@ "wcag": { "0": "1.2.3 A" }, - "verifier": "
    • Check that a complete transcript (all of the information - both visual and auditory - in text form) is provided as text.
      This text transcript should be :
      • present in the screen
      • or available via a link immediately next to the link to the video clip
    • Or for all video content, check that an audio description is provided
      • check that the audio description is synchronized correctly
      • check that the audio description does not conflict with the audio track of the video (no loss of information)
      • check that the audio description is appropriate
    ", + "verifier": "

    For any pre-recorded video (with or without audio):

    • Either a complete transcript (text containing all auditory and visual information) is provided in text form: this textual transcription must be present on the screen or available via a link positioned near the video.
    • Or, an audio description is available; verify that:
      • the audio description is properly synchronized
      • the audio description does not conflict with the audio track of the video (no loss of information)
      • the audio description is relevant
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -856,7 +902,7 @@ "wcag": { "0": "1.2.5 AA" }, - "verifier": "
    • check that an audio description is provided for all video content.
    • check that the audio description is synchronized correctly.
    • check that the audio description does not conflict with the audio track of the video (no loss of information).
    • check that the audio description is appropriate.
    ", + "verifier": "

    For any video:

    • An audio description is available.
    • The audio description is properly synchronized.
    • The audio description does not conflict with the audio track of the video (no loss of information).
    • The audio description is relevant.
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -871,7 +917,8 @@ "wcag": { "0": "1.2.2 A" }, - "verifier": "
    • check that captions are available for all video with audio content.
    • check that the captions are relevant (providing all of the information needed to understand the content, such as the identity of the speakers).
    • check that the captions are not covering important information in the video.
    ", + "verifier": "

    For any video with audio:

    • Subtitles are available.
    • The subtitles are relevant (providing all necessary information for understanding, such as the identity of speakers).
    • The subtitles do not obscure important information in the video.
    ", + "exception": "

    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": "
    • check that captions are available.
    • check that the captions are relevant (providing all of the information needed to understand the content, such as the identity of the speakers).
    ", + "verifier": "

    For any live video with audio:

    • Subtitles are available.
    • The subtitles are relevant (providing all necessary information for understanding, such as the identity of speakers).
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/en/web/design/non-textual-content/#special-cases-of-animations-video-and-audio-content", - "complement": "
    Transcribed subtitles

    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": "
    • possible to pause or stop the sound.
    • possible to control audio volume independently from the overall system volume level.
    ", + "verifier": "
    • Possibility to pause or mute the sound.
    • Or possibility to adjust the volume independently of the system volume.
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -922,67 +968,38 @@ "priority": "P3", "goodPractice": false }, - { - "themes": "WebView", - "title": "Is there a mechanism to navigate within the page?", - "ID": "testID-059", - "IDorigin": "testID-059", - "wcag": { - "0": "2.4.1 A" - }, - "verifier": "

    If one of the mechanisms below is necessary for navigation, but absent from the page, then the test is non-compliant:

    • heading tags (hn)
    • bypass blocks or skip links present at the top of the page, which allow the user to go directly to the main content sections
    • landmark elements, used to organize the document (header, main…)
    • bypass blocks present within the content
    ", - "group": "WebView", - "resultatTest": "nt", - "priority": "P1", - "goodPractice": false - }, - { - "themes": "WebView", - "title": "Is the main language defined, and does it correspond to the document's primary language?", - "ID": "testID-060", - "IDorigin": "testID-060", - "wcag": { - "0": "3.1.1 A" - }, - "verifier": "

    This criterion can only be verified if you have access to the URL of the WebView.

    • check there is a lang attribute present (N.B. the presence of the xml:lang attribute is not sufficient to pass this test)
    • the value of the lang attribute should correspond to the primary language used on the page
    ", - "group": "WebView", - "resultatTest": "nt", - "priority": "P3", - "goodPractice": false, - "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/textual-content/#declaring-the-main-language-and-language-changes" - }, { - "themes": "Non-text Content", - "title": "Does every captcha image possess an alternative?", + "themes": "CAPTCHA", + "title": "Does every CAPTCHA image possess an alternative?", "ID": "testID-065", "IDorigin": "testID-065", "wcag": [ "1.1.1 A" ], - "verifier": "

    Check 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:

    • audio and visual captcha
    • logic problems (question for which the response is obvious, simple maths test…)
    • there is another method to access the functionality that is protected by the CAPTCHA
    ", - "group": "Captcha", + "verifier": "

    For each CAPTCHA which is exclusively visual or audio, one of the following alternatives is provided in addition:

    • audio and visual CAPTCHA
    • logic problems (question for which the response is obvious, simple maths test…)
    • there is another method to access the functionality that is protected by the CAPTCHA
    ", + "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": "Cryptic content", "title": "Does each occurrence of cryptic content (ASCII art, emoticon, cryptic syntax) have an appropriate alternative?", "ID": "testID-067", "IDorigin": "testID-067", diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index d49da1a..2ef9c2b 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -482,7 +482,7 @@ }, { "themes": "Navigation vocale", - "title": "Un mécanisme pour naviguer rapidement au sein de la page est-il présent ?", + "title": "Un mécanisme pour naviguer rapidement au sein de la page est-il présent ?", "ID": "testID-059", "IDorigin": "testID-059", "wcag": { @@ -509,14 +509,14 @@ "goodPractice": false }, { - "themes": "Contrôle de sélection et navigation clavier", + "themes": "Contrôle de Sélection et navigation clavier", "title": "Les fonctionnalités de l'écran sont-elles utilisables avec le contrôle de selection ou avec un clavier externe ?", "ID": "testID-027", "IDorigin": "testID-027", "wcag": { "0": "2.1.1 A" }, - "verifier": "
    • Toutes les fonctionnalités sont disponibles avec le contrôle de sélection et l'accès complet au clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", + "verifier": "
    • Toutes les fonctionnalités sont disponibles avec le Contrôle de Sélection et l'Accès Complet au Clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -530,20 +530,21 @@ "wcag": { "0": "2.1.2 A" }, - "verifier": "

    L'écran ne contient aucun piège :

    • 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...).
    • avec le contrôle de selection, le focus ne doit pas rester bloqué au sein d'un conteneur.

    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 :

    • 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...).
    • avec le contrôle de selection, le focus ne doit pas rester bloqué au sein d'un conteneur.

    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 raccourci peut être désactivé par l'utilisateur
    • le raccourci est actif uniquement à la prise de focus du composant de l'interface
    • le raccourci peut être modifié, avec la possibilité d'ajouter un ou plusieurs caractères non-imprimables (Ctrl, Alt, Maj,…) à la combinaison
    ", + "exception": "

    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 focus est visible d'un coup d'oeil et il se distingue bien du reste de l'écran.
    • Si besoin, vérifier le ratio de contraste du focus qui doit être au moins de 3:1 par rapport à la couleur environnante.
    ", + "exception": "

    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 :

    • possibilité de supprimer la limite de temps
    • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
    • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
    ", - "exception": "
    • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
    • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
    • l'exception des 20 heures : la limite de temps est supérieure à 20 heures.
    ", + "verifier": "

    Vérifier qu'une des conditions ci-dessous est respectée :

    • possibilité de supprimer la limite de temps
    • possibilité d'augmenter jusqu'à 10 fois minimum le temps par défaut
    • l'utilisateur est prévenu au minimum 20 secondes avant la fin et peut augmenter la durée simplement
    • la limite de temps est supérieure à 20 heures.
    ", + "exception": "

    Le critère est non-applicable dans les cas suivants :

    • l'exception du temps réel : la limite de temps est une partie constitutive d'un évènement en temps réel (par exemple, une enchère) et aucune alternative n'est possible ;
    • l'exception de la limite essentielle : la limite de temps est essentielle et l'étendre invaliderait alors l'activité ;
    ", "resultatTest": "nt", "priority": "P1", "goodPractice": false }, { "themes": "Navigation générale", - "title": "L'utilisateur a-t-il le contrôle des changements de contexte ? (Confimation de validation avant de changer / si l'on tape dessus pas de changement auto ?)", + "title": "Les textes sont-ils lisibles sans difficulté ?", + "ID": "testID-037", + "IDorigin": "testID-037", + "wcag": [ + "1.4.12 AA" + ], + "verifier": "

    Vérifier que :

    • les textes ont une taille suffisante pour être lus facilement
    • la police d'écriture utilisée est sans empattement
    • le texte n'est pas en italique
    ", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-generale/#proposer-des-textes-lisibles", + "resultatTest": "nt", + "priority": "P1", + "goodPractice": true + }, + { + "themes": "Navigation générale", + "title": "L'utilisateur a-t-il le contrôle des changements de contexte ?", "ID": "testID-038", "IDorigin": "testID-038", "wcag": { @@ -731,6 +747,7 @@ }, "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 la prise de focus d'un élément
    • lors de la saisie de données
    • lors de l'activation d'un élément de formulaire autre qu'un bouton

    Le changement de contexte est conforme si :

    • l'action est initiée par un bouton ou un lien explicite
    • l'utilisateur est averti par un texte avant son déclenchement
    ", "complement": "
    Changement de contexte

    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 :

    • d'agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", + "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.

    ", "resultatTest": "nt", "priority": "P3", "goodPractice": false, @@ -746,7 +763,7 @@ }, "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.
    ", "complement": "
    Complément d'information

    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 :

    • Aucun mouvement, défilement, clignotement, mise à jour ou rafraichissement automatique durant plus de 5 secondes et démarrant automatiquement.
    • Le mouvement, défilement, clignotement ou rafraichissement est essentiel au service
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -786,8 +803,8 @@ "wcag": { "0": "1.4.5 AA" }, - "verifier": "

    Les images ne sont pas utilisées pour présenter du texte. Non applicable, si aucune image ne contient du texte.

    ", - "exception": "
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur
    ", + "verifier": "

    Les images ne sont pas utilisées pour présenter du texte.

    Le critère est conforme pour les exceptions suivantes :

    • SVG (vrai texte)
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur
    ", + "exception": "Non applicable si aucune image ne contient de texte", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -829,7 +846,7 @@ "wcag": [ "2.4.5 AA" ], - "verifier": "

    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 :

    • un menu de navigation principal
    • une tab bar
    • un mécanisme de recherche
    • ...
    ", + "verifier": "

    Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :

    • un menu de navigation principal
    • une tab bar
    • un mécanisme de recherche
    • ...
    ", "exception": "

    Non applicable :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", "priority": "P3", "resultatTest": "nt", @@ -843,7 +860,8 @@ "wcag": { "0": "1.2.1 A" }, - "verifier": "

    Un transcrit complet (texte contenant l'ensemble des informations auditives) est fourni sous forme de texte.
    Cette transcription textuelle est alors :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la piste audio
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la piste audio
    ", + "complement": "
    Sous-titres transcrits

    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": "
    Sous-titres transcrits

    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": "
    Sous-titres transcrits

    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 :

    • captcha audio et visuel
    • tests logiques (question dont la réponse est évidente, test mathématique simple…)
    • il existe une autre solution d'accès à la fonctionnalité sécurisée par le CAPTCHA
    ", + "verifier": "

    Pour tout CAPTCHA uniquement visuel ou sonore, l'une des alternatives ci-dessous est proposée en complément :

    • CAPTCHA audio et visuel
    • tests logiques (question dont la réponse est évidente, test mathématique simple…)
    • il existe une autre solution d'accès à la fonctionnalité sécurisée par le CAPTCHA
    ", + "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": "Contenu cryptique", "title": "Chaque contenu cryptique (art ASCII, émoticon, syntaxe cryptique) possède-t-il une alternative pertinente ?", "ID": "testID-067", "IDorigin": "testID-067", From 9b523ae7f20f7abc73c9ce9222974f6199fc5171 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Mon, 17 Feb 2025 16:49:34 +0100 Subject: [PATCH 13/17] add nbsp --- json/criteres-wcag-android-fr.json | 2 +- json/criteres-wcag-ios-fr.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index e30c9f8..cd4fd08 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -280,7 +280,7 @@ }, { "themes": "Agrandissement de texte", - "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", + "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", "ID": "testID-017", "IDorigin": "testID-017", "wcag": [ diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index 2ef9c2b..7fbfa73 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -279,7 +279,7 @@ }, { "themes": "Agrandissement de texte", - "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", + "title": "Le texte peut-il être agrandi sans perte de contenu ou de fonctionnalité ? ", "ID": "testID-017", "IDorigin": "testID-017", "wcag": { @@ -509,7 +509,7 @@ "goodPractice": false }, { - "themes": "Contrôle de Sélection et navigation clavier", + "themes": "Contrôle de sélection et navigation clavier", "title": "Les fonctionnalités de l'écran sont-elles utilisables avec le contrôle de selection ou avec un clavier externe ?", "ID": "testID-027", "IDorigin": "testID-027", From 66bffcb429686885ef50797c3df76a97895b4630 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Mon, 17 Feb 2025 17:27:03 +0100 Subject: [PATCH 14/17] add test --- json/criteres-wcag-ios-fr.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index 7fbfa73..5f24f2c 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -958,6 +958,21 @@ "priority": "P3", "goodPractice": false }, + { + "themes": "Multimédia", + "title": "Des contrôles sont-ils présents pour interagir avec un média temporel(pause, stop, volume, sous titres, etc...) ?", + "ID": "testID-048", + "IDorigin": "testID-048", + "wcag": [ + "2.2.2 A" + ], + "verifier": "

    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 Ayoul Date: Tue, 18 Feb 2025 16:59:10 +0100 Subject: [PATCH 15/17] fix --- json/criteres-wcag-ios-en.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 7e34c00..4eb971c 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -37,10 +37,10 @@ "title": "Does each form field have an accessible name?", "ID": "testID-072", "IDorigin": "testID-072", - "wcag": [ - "1.3.1 A", - "4.1.2 A" - ], + "wcag": { + "0": "1.3.1 A", + "1": "4.1.2 A" + }, "verifier": "

    Using screen reader or voice control, check that all labels are properly linked to their fields

    ", "complement": "
    Additional information

    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", @@ -726,14 +726,14 @@ "title": "Are the texts easy to read?", "ID": "testID-037", "IDorigin": "testID-037", - "wcag": { - "0": "1.4.12 AA" - }, + "wcag": [ + "1.4.12 AA" + ], "verifier": "

    Check that:

    • texts have a sufficient size to be read easily
    • the fond enables to differentiate letters, such as i,l,I,L
    • spacing between letters and lines is sufficient
    • text is not in italic
    ", "resultatTest": "nt", "priority": "P1", - "goodPractice": true, - "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#text-size" + "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#text-size", + "goodPractice": true }, { "themes": "Common navigation", From c014c139b6b4ebf7e05292a03e88315a905b07f3 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Wed, 19 Feb 2025 15:56:18 +0100 Subject: [PATCH 16/17] more updates --- json/criteres-wcag-android-en.json | 49 ++++++++++---------- json/criteres-wcag-android-fr.json | 74 ++++++++++++++++-------------- json/criteres-wcag-ios-en.json | 50 ++++++++++---------- json/criteres-wcag-ios-fr.json | 71 ++++++++++++++-------------- 4 files changed, 129 insertions(+), 115 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 2a13567..5b3abc3 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -7,7 +7,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "

    Check that:

    • a label is visually present near the form fields,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", + "verifier": "
    • A label is visually present near the form fields,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", "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": "
    Additional information

    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", @@ -23,7 +23,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "

    Check that the accessible name of each input field is relevant.

    ", + "verifier": "

    The accessible name of each input field is relevant.

    ", "complement":"
    Additional information

    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": "
    • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
    • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
    • Verify that the requirement is properly vocalized with voice navigation.
    • Check that the form cannot be validated if the mandatory field is not filled in.
    ", + "verifier": "
    • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
    • A text located at the beginning of the form must explain the visual element of mandatory fields.
    • Verify that the requirement is properly vocalized with voice navigation.
    • Check that the form cannot be validated if the mandatory field is not filled in.
    ", "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", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", @@ -86,7 +86,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
    • check that the input format is present visually, and that its position allows it to be associated with the appropriate field
    • Check that the input format is vocalized with Talkback.
    ", + "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the input field).
    • The input format is included in the vocalization of the field.
    ", "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", "resultatTest": "nt", @@ -223,8 +223,8 @@ "wcag": [ "1.4.3 AA" ], - "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.

    • For normal text:
      • Font size less than 18sp: contrast ratio 4.5:1
      • Font size greater than or equal to 18sp: contrast ratio 3:1
    • For bold text
      • Font size less than 14sp: contrast ratio 4.5:1
      • Font size greater than or equal to 14sp: contrast ratio 3:1
    ", - "exception": "

    Logo, 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.

    • For normal texts:
      • Font size less than 18sp: contrast ratio 4.5:1
      • Font size greater than or equal to 18sp: contrast ratio 3:1
    • For bold texts:
      • Font size less than 14sp: contrast ratio 4.5:1
      • Font size greater than or equal to 14sp: contrast ratio 3:1
    ", + "exception": "

    This 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": "
    • logos
    • if text provides the same information as the icon or graphic element
    • if the lack of image contrast does not prevent the user from understanding the content or its purpose
    • the lack of contrast is necessary to convey information
    • disabled components
    • display is managed by the user agent
    ", + "verifier": "

    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:

    • logos
    • if text provides the same information as the icon or graphic element
    • if the lack of image contrast does not prevent the user from understanding the content or its purpose
    • the lack of contrast is necessary to convey information
    • disabled components
    • display is managed by the user agent
    ", "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", @@ -253,7 +253,8 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

    Check that colour is not the only means of conveying the information:

    • the information can also be obtained in text form
    • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
    • Particular case of non-underlined links in text:
      • the link must have at least a 3:1 contrast ratio with the surrounding text
      • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

    Remarks:

    • are excluded links that are explicit in nature, for example links that are in a webviews's navigation areas (page headers and footers, menus or link lists…)
    • the criterion is not applicable if no information is conveyed by the use of colour
    ", + "verifier": "

    Color is not the only means of conveying information:

    • Information can also be obtained through text.
    • At least one other visual means is available to obtain the same information (e.g., icons that use colors but also different shapes).
    • If content is conveyed using colors that differ not only in hue but also present a significant difference in brightness (e.g., light green and dark red), this constitutes an additional visual distinction.

    Specific case of a link or button without formatting in text:

    • The link or button must have a contrast of 3:1 with the surrounding text.
    • And an indicator, not relying on color, must allow it to be distinguished when focused (e.g., underlined).
    ", + "exception": "

    The criterion is not applicable in the following cases:

    • Links whose nature is explicit, such as links present in navigation areas (header and footer, menu, or list of links…)
    • If no information is conveyed by color.
    ", "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", @@ -267,7 +268,7 @@ "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:

    • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
    • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
    ", + "verifier": "

    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:

    • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
    • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
    ", "exception": "

    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:
    • Navigation by headings
    • Navigation by links
    • Navigation by paragraphs
    • Or any other specific navigation method
    ", + "verifier": "If deemed necessary, the application should offer quick navigation using TalkBack, for example:
    • Navigation by headings
    • Navigation by links
    • Navigation by paragraphs
    • Navigation by form fields
    • Or any other specific navigation method
    ", "group": "Voice navigation", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#provide-skip-links", "resultatTest": "nt", @@ -517,7 +518,7 @@ "wcag": [ "2.1.1 A" ], - "verifier": "
    • All functionalities are available using Switch Access and keyboard navigation
    • Only interactive elements are accessible
    • Elements are grouped when they are linked (e.g : contents within a clickable row in a list)
    • It is possible to scroll with to read the content in a ScrollView
    ", + "verifier": "
    • All functionalities are available using Switch Access and keyboard navigation
    • Only interactive elements are accessible
    • Elements are grouped when they are linked (example: contents within a clickable row in a list)
    • It is possible to scroll with to read the content in a ScrollView
    ", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/focus-navigation/#access-to-interactive-elements", "resultatTest": "nt", "priority": "P0", @@ -559,7 +560,7 @@ "wcag": [ "2.4.3 A" ], - "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.", + "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", @@ -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": "
    For example

    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:

    • The complex gesture is essential for functionality(for example, entering a signature)
    • The gesture is defined by the operating system, user agent, or assistive technology
    ", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#propose-an-alternative-to-gestural-actions", "resultatTest": "nt", "priority": "P3", @@ -663,7 +665,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:

    • video game application
    • piano playing application
    • check scanning application
    ", + "exception": "

    If an orientation is deemed essential, the criterion is not applicable. Examples:

    • video game application
    • piano playing application
    • check scanning application
    ", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/design/general-navigation/#have-an-application-that-can-be-used-in-any-orientation", "resultatTest": "nt", "priority": "P2", @@ -671,7 +673,7 @@ }, { "themes": "Common navigation", - "title": "Do the clickable elements have a sufficiently large click area?", + "title": "Is the size of interactive elements sufficient?", "ID": "testID-050", "IDorigin": "testID-050", "wcag": [ @@ -708,7 +710,7 @@ ], "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": "
    Additional information

    Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", - "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:

    • a main navigation menu
    • a tab bar
    • a search mechanism
    • ...
    ", - "exception": "

    Not applicable:

    • If the number of screens is limited and/or the content is short.
    • For a results screen or a step in a multi-step process.
    ", + "exception": "

    The criterion is not applicable for following cases:

    • If the number of screens is limited and/or the content is short.
    • For a results screen or a step in a multi-step process.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -963,13 +965,14 @@ }, { "themes": "Multimedia", - "title": "Are there controls to interact with a time-based media (pause, stop, volume, subtitles, etc...)?", + "title": "Are there controls to interact with a time-based media?", "ID": "testID-048", "IDorigin": "testID-048", "wcag": [ "2.2.2 A" ], - "verifier": "

    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": "
    • Check that there is a text alternative provided
    • Check that the alternative is appropriate
    ", + "verifier": "
    • There is a text alternative provided
    • The alternative is appropriate
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false diff --git a/json/criteres-wcag-android-fr.json b/json/criteres-wcag-android-fr.json index cd4fd08..070eef2 100644 --- a/json/criteres-wcag-android-fr.json +++ b/json/criteres-wcag-android-fr.json @@ -7,7 +7,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "

    Vérifier que :

    • une étiquette est visuellement présente à proximité des champs de formulaire,
    • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
    ", + "verifier": "
    • Une étiquette est visuellement présente à proximité des champs de formulaire,
    • ou le champ est accompagné d'un texte qui devient visible à la prise de focus.
    ", "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": "
    Complément d'information

    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", @@ -24,7 +24,7 @@ "wcag": [ "2.4.6 AA" ], - "verifier": "

    Vérifier que l'étiquette de chaque champ est pertinente.

    ", + "verifier": "

    L'étiquette de chaque champ est pertinente.

    ", "complement": "
    Complément d'information

    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": "
    • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
    • Un texte doit expliciter l'élément visuel de champ obligatoire. Dans le code source, ce texte doit apparaitre avant la première utilisation.
    • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
    ", + "verifier": "
    • Un texte ou un élément visuel (symbole comme l'astérique, image) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
    • Un texte, situé en début de formulaire, doit expliciter l'élément visuel de champ obligatoire.
    • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
    ", "group": "Champ de formulaire", "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", @@ -90,7 +90,7 @@ "wcag": [ "3.3.2 A" ], - "verifier": "
    • Vérifier que le format de saisie est présent visuellement, et que son positionnement permet de l'associer au champ concerné.
    • Vérifier que le format de saisie est présent dans la vocalisation du champ.
    ", + "verifier": "
    • Le format de saisie est présent visuellement, et son positionnement permet de l'associer au champ concerné.
    • Le format de saisie reste visible pendant la saisie (ne pas afficher le format attendu dans le champ de saisie)
    • Le format de saisie est présent dans la vocalisation du champ.
    ", "group": "Champ de formulaire", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", "resultatTest": "nt", @@ -120,7 +120,7 @@ "wcag": [ "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 :

    • une autre méthode d'authentification
    • une aide est disponible pour l'utilisateur
    • le test cognitif consiste à reconnaitre des objets
    • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au application mobile

    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.

    ", + "verifier": "

    Toutes les étapes d'un processus d'authentification ne repose pas sur un test cognitif, sauf si cette étape fournit :

    • une autre méthode d'authentification
    • une aide est disponible pour l'utilisateur
    • le test cognitif consiste à reconnaitre des objets
    • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au application mobile

    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.

    ", "complement":"
    Complément d'information

    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.

    • Pour texte standard
      • Taille inférieure à 18sp : contraste de 4,5:1
      • Taille supérieure ou égale à 18sp : contraste de 3:1
    • Pour les textes gras
      • Taille inférieure à 14sp : contraste de 4,5:1
      • Taille supérieure ou égale à 14sp : contraste de 3:1
    ", - "exception": "

    Les 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.

    • Pour les textes non gras :
      • Taille inférieure à 18sp : contraste de 4,5:1
      • Taille supérieure ou égale à 18sp : contraste de 3:1
    • Pour les textes gras :
      • Taille inférieure à 14sp : contraste de 4,5:1
      • Taille supérieure ou égale à 14sp : contraste de 3:1
    ", + "exception": "

    Ce 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 logos
    • si un texte apporte la même information que l'icône ou le graphique
    • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
    • le manque de contraste est nécessaire pour convoyer l'information
    • le composant est inactif
    • l'affichage par défaut de l'agent utilisateur n'est pas modifié
    ", + "verifier": "

    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 :

    • les logos
    • si un texte apporte la même information que l'icône ou le graphique
    • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
    • le manque de contraste est nécessaire pour convoyer l'information
    • le composant est inactif
    • l'affichage par défaut de l'agent utilisateur n'est pas modifié
    ", "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", @@ -257,7 +257,8 @@ "wcag": [ "1.4.1 A" ], - "verifier": "

    Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

    • l'information peut également être obtenue par un texte
    • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
    • cas particulier des liens non soulignés dans du texte :
      • le lien doit avoir un contraste de 3 :1 avec le texte environnant
      • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus (ex : souligné)

    Remarques :

    • sont exclus les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
    • critère non applicable, si aucune information n'est portée par de la couleur
    ", + "verifier": "

    La couleur n'est pas le seul moyen de convoyer une information :

    • l'information peut également être obtenue par un texte
    • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
    • si le contenu est transmis par l'utilisation de couleurs qui diffèrent non seulement par leur teinte, mais qui présentent également une différence significative en termes de luminosité (par exemple vert clair et rouge foncé), cela constitue alors une distinction visuelle supplémentaire.

    Cas particulier d'un lien ou bouton sans mise en forme dans du texte :

    • le lien ou bouton doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus (ex : souligné)
    ", + "exception": "

    Le critère est non-applicable pour les cas suivants :

    • les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
    • si aucune information n'est portée par de la couleur
    ", "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", @@ -271,8 +272,8 @@ "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 :

    • identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
    • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
    ", - "exception": "

    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 :

    • identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
    • identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
    ", + "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

    ", "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 :

    • navigation par entêtes
    • navigation par liens
    • navigation par paragraphes
    • ou tout autre moyen de navigation spécifique
    ", + "verifier": "

    Si cela est jugé nécessaire, l'application doit proposer une navigation rapide à l'aide de TalkBack, par exemple :

    • navigation par entêtes
    • navigation par liens
    • navigation par paragraphes
    • navigation par champs de formulaire
    • ou tout autre moyen de navigation spécifique
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/web/developper/navigation-generale/#fournir-des-liens-devitement", "group": "Navigation vocale", "resultatTest": "nt", @@ -519,7 +521,7 @@ "wcag": [ "2.1.1 A" ], - "verifier": "
    • Toutes les fonctionnalités sont disponibles avec Switch Access et avec un clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", + "verifier": "
    • Toutes les fonctionnalités sont disponibles avec Switch Access et avec un clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (exemple : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-focus/#acceder-aux-elements-interactifs", "resultatTest": "nt", "priority": "P0", @@ -561,7 +563,7 @@ "wcag": [ "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 Switch Access et avec un clavier externe.", + "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", @@ -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": "
    Exemple

    Zoom sur une carte : des boutons (+ / -) sont disponibles, en alternative au pincé.

    ", + "exception": "

    Le critère est non-applicable dans les cas suivants :

    • Le geste complexe est essentiel à la fonctionnalité (par exemple : saisir une signature)
    • Le geste est défini par le système d'exploitation, l'agent utilisateur ou la technologie d'assistance.
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", "priority": "P3", @@ -636,7 +639,7 @@ ], "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": "
    Complément d'information

    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 :

    • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
    • La fonctionnalité est native est non modifiée
    ", + "exception":"

    Le critère est non-applicable si :

    • L'action de glisser/déposer est essentielle (jeux de dextérité par exemple)
    • La fonctionnalité est native est non modifiée
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#proposer-une-alternative-aux-actions-gestuelles", "resultatTest": "nt", "priority": "P3", @@ -664,8 +667,8 @@ "wcag": [ "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ément tronqué).

    ", - "exception": "

    Si une orientation est jugée essentielle, le critère est non-applicable. Exemple d'affichage jugé essentiel :

    • application de jeu vidéo
    • application pour jouer du piano
    • application pour scanner un chèque bancaire
    ", + "verifier": "

    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 :

    • application de jeu vidéo
    • application pour jouer du piano
    • application pour scanner un chèque bancaire
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#avoir-une-application-utilisable-quelle-que-soit-lorientation", "resultatTest": "nt", "priority": "P2", @@ -673,14 +676,14 @@ }, { "themes": "Navigation générale", - "title": "La taille des zones cliquables ou tactiles est-elle suffisante ? ", + "title": "La taille des éléments interactifs est-elle suffisante ?", "ID": "testID-050", "IDorigin": "testID-050", "wcag": [ "2.5.8 AA" ], "verifier": "

    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 :

    • Si l'élément interactif a une surface inférieure à la surface minimale de 48dp mais est placé de manière à ce qu'un cercle de 48dp de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
    • Si la surface de l'élément interactif est inférieure à 48dp mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
    • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
    ", - "exception":"

    Critère non applicable si :

    • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
    • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
    ", + "exception":"

    Critère non-applicable si :

    • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
    • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/navigation-generale/#avoir-des-zones-de-clic-suffisamment-grandes", "resultatTest": "nt", "priority": "P2", @@ -711,7 +714,7 @@ "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":"
    Complément d'information

    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 :

    • lors de la prise de focus d'un élément
    • lors de la saisie de données
    • lors de l'activation d'un élément de formulaire autre qu'un bouton

    Le changement de contexte est conforme si :

    • l'action est initiée par un bouton ou un lien explicite
    • l'utilisateur est averti par un texte avant son déclenchement
    ", - "complement": "
    Changement de contexte

    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 :

    • d'agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", - "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 de contexte

    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 :

    • agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", + "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.

    ", "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 :

    • SVG (vrai texte)
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur
    ", - "exception": "Non applicable si aucune image ne contient de texte", + "exception": "Critère non-applicable si aucune image ne contient de texte", "resultatTest": "nt", "priority": "P1", "goodPractice": false @@ -854,7 +857,7 @@ "2.4.5 AA" ], "verifier": "

    Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :

    • un menu de navigation principal
    • une tab bar
    • un mécanisme de recherche
    • ...
    ", - "exception": "

    Non applicable :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", + "exception": "

    Le critère est non-applicable pour le cas suivants :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -883,7 +886,7 @@ "wcag": [ "1.2.1 A" ], - "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", "group": "Multimédia", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/multimedia/#transcrire-le-contenu-audio-ou-video", "resultatTest": "nt", @@ -968,13 +971,14 @@ }, { "themes": "Multimédia", - "title": "Des contrôles sont-ils présents pour interagir avec un média temporel(pause, stop, volume, sous titres, etc...) ?", + "title": "Des contrôles sont-ils présents pour interagir avec un média temporel ?", "ID": "testID-048", "IDorigin": "testID-048", "wcag": [ "2.2.2 A" ], - "verifier": "

    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": "
    • vérifier qu'une alternative est fournie sous forme de texte
    • vérifier que l'alternative est pertinente
    ", + "verifier": "
    • Une alternative est fournie sous forme de texte
    • L'alternative est pertinente
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index 4eb971c..b85dd1b 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -74,7 +74,7 @@ "0": "1.3.1 A", "1": "3.3.2 A" }, - "verifier": "
    • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
    • A text must explain the visual element mandatory field. In the source code, this text must appear before the first use.
    • Verify that the requirement is properly vocalized with voice navigation.
    • Check that the form cannot be validated if the mandatory field is not filled in.
    ", + "verifier": "
    • A text or a visual element (symbol such as the asterisk, image) must be present to indicate that a form field is mandatory.
    • A text located at the beginning of the form must explain the visual element of mandatory fields.
    • Verify that the requirement is properly vocalized with voice navigation.
    • Check that the form cannot be validated if the mandatory field is not filled in.
    ", "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", @@ -90,7 +90,7 @@ "wcag": { "0": "3.3.2 A" }, - "verifier": "
    • Check that the input format is clearly displayed, and that its position allows it to be associated with the appropriate field.
    • Check that the input format is vocalized with VoiceOver.
    ", + "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the input field).
    • The input format is included in the vocalization of the field.
    ", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -225,8 +225,8 @@ "wcag": { "0": "1.4.3 AA" }, - "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.

    • For normal text:
      • Font size less than 18pt: contrast ratio 4.5:1
      • Font size greater than or equal to 18pt: contrast ratio 3:1
    • For bold text
      • Font size less than 14pt: contrast ratio 4.5:1
      • Font size greater than or equal to 14pt: contrast ratio 3:1
    ", - "exception": "

    Logo, 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.

    • For normal texts:
      • Font size less than 18pt: contrast ratio 4.5:1
      • Font size greater than or equal to 18pt: contrast ratio 3:1
    • For bold texts:
      • Font size less than 14pt: contrast ratio 4.5:1
      • Font size greater than or equal to 14pt: contrast ratio 3:1
    ", + "exception": "

    This 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": "
    • logos
    • if text provides the same information as the icon or graphic element
    • if the lack of image contrast does not prevent the user from understanding the content or its purpose
    • the lack of contrast is necessary to convey information
    • disabled components
    • display is managed by the user agent
    ", + "verifier": "

    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:

    • logos
    • if text provides the same information as the icon or graphic element
    • if the lack of image contrast does not prevent the user from understanding the content or its purpose
    • the lack of contrast is necessary to convey information
    • disabled components
    • display is managed by the user agent
    ", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -255,7 +255,8 @@ "wcag": { "0": "1.4.1 A" }, - "verifier": "

    Check that colour is not the only means of conveying the information:

    • the information can also be obtained in text form
    • one (or more) visual aids are available to convey the same information (e.g. icons using the same colours, but different shapes)
    • Particular case of non-underlined links in text:
      • the link must have at least a 3:1 contrast ratio with the surrounding text
      • and an indicator that does not rely on the use of colour must make the link distinguishable for the user when he/she is focusing on the link (e.g. underlined)

    Remarks:

    • are excluded links that are explicit in nature, for example links that are in a webviews's navigation areas (page headers and footers, menus or link lists…)
    • the criterion is not applicable if no information is conveyed by the use of colour
    ", + "verifier": "

    Color is not the only means of conveying information:

    • Information can also be obtained through text.
    • At least one other visual means is available to obtain the same information (e.g., icons that use colors but also different shapes).
    • If content is conveyed using colors that differ not only in hue but also present a significant difference in brightness (e.g., light green and dark red), this constitutes an additional visual distinction.

    Specific case of a link or button without formatting in text:

    • The link or button must have a contrast of 3:1 with the surrounding text.
    • And an indicator, not relying on color, must allow it to be distinguished when focused (e.g., underlined).
    ", + "exception": "

    The criterion is not applicable in the following cases:

    • Links whose nature is explicit, such as links present in navigation areas (header and footer, menu, or list of links…)
    • If no information is conveyed by color.
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -268,7 +269,7 @@ "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:

    • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
    • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
    ", + "verifier": "

    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:

    • identification of an information only with its position: \"to go to the next screen press the button on the right\", or \"choose one of the links displayed above the image to know more\"
    • identification of information only from its visual shape or a graphical symbol: \"Press the round button to leave\"
    ", "exception": "

    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:

    • Navigation by headings
    • Navigation by links
    • Navigation by containers
    • Navigation by form fields
    • Or any other specific navigation method
    ", + "verifier": "

    If deemed necessary, the application must offer quick navigation using the Rotor feature, for example:

    • Navigation by headings
    • Navigation by links
    • Navigation by containers
    • Navigation by form fields
    • Or any other specific navigation method
    ", "group": "Voice navigation", "resultatTest": "nt", "priority": "P1", @@ -516,7 +517,7 @@ "wcag": { "0": "2.1.1 A" }, - "verifier": "
    • All functionalities are available using Switch Control and Full Keyboard Access navigation
    • Only interactive elements are accessible
    • Elements are grouped when they are linked (e.g : contents within a clickable row in a list)
    • It is possible to scroll with to read the content in a ScrollView
    ", + "verifier": "
    • All functionalities are available using Switch Control and Full Keyboard Access navigation
    • Only interactive elements are accessible
    • Elements are grouped when they are linked (example: contents within a clickable row in a list)
    • It is possible to scroll with to read the content in a ScrollView
    ", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -557,7 +558,8 @@ "wcag": { "0": "2.4.3 A" }, - "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.", + "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.

    ", + "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": "
    For example

    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:

    • The complex gesture is essential for functionality(for example, entering a signature)
    • The gesture is defined by the operating system, user agent, or assistive technology
    ", "resultatTest": "nt", "priority": "P3", - "goodPractice": false, - "complement": "
    Example

    Zoom functionality on a map: (+ / -) buttons are available, as an alternative to a two-finger pinch.

    " + "goodPractice": false }, { "themes": "Common navigation", @@ -656,7 +659,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:

    • video game application
    • piano playing application
    • check scanning application
    ", + "exception": "

    If an orientation is deemed essential, the criterion is not applicable. Examples:

    • video game application
    • piano playing application
    • check scanning application
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -664,7 +667,7 @@ }, { "themes": "Common navigation", - "title": "Do the clickable elements have a sufficiently large click area?", + "title": "Is the size of interactive elements sufficient?", "ID": "testID-050", "IDorigin": "testID-050", "wcag": { @@ -701,7 +704,7 @@ }, "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": "
    Additional information

    Help mechanisms can be an email address, a telephone number, a contact form, a chat, a FAQ, etc.", - "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:

    • a main navigation menu
    • a tab bar
    • a search mechanism
    • ...
    ", - "exception": "

    Not applicable:

    • If the number of screens is limited and/or the content is short.
    • For a results screen or a step in a multi-step process.
    ", + "exception": "

    The criterion is not applicable for following cases:

    • If the number of screens is limited and/or the content is short.
    • For a results screen or a step in a multi-step process.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false @@ -956,13 +959,14 @@ }, { "themes": "Multimedia", - "title": "Are there controls to interact with a media (pause, stop, volume, subtitles, etc...)?", + "title": "Are there controls to interact with a time-based media?", "ID": "testID-048", "IDorigin": "testID-048", "wcag": { "0": "2.2.2 A" }, - "verifier": "

    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": "
    • Check that there is a text alternative provided
    • Check that the alternative is appropriate
    ", + "verifier": "
    • There is a text alternative provided
    • The alternative is appropriate
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false diff --git a/json/criteres-wcag-ios-fr.json b/json/criteres-wcag-ios-fr.json index 5f24f2c..a905ccb 100644 --- a/json/criteres-wcag-ios-fr.json +++ b/json/criteres-wcag-ios-fr.json @@ -74,7 +74,7 @@ "0": "1.3.1 A", "1": "3.3.2 A" }, - "verifier": "
    • Un texte ou un élément visuel (autre que la couleur) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
    • Un texte doit expliciter l'élément visuel de champ obligatoire.
    • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
    ", + "verifier": "
    • Un texte ou un élément visuel (autre que la couleur) doit être présent pour indiquer qu'un champ de formulaire est obligatoire.
    • Un texte, situé en début de formulaire, doit expliciter l'élément visuel de champ obligatoire.
    • Vérifier que l'obligation du champ est bien vocalisée avec la navigation vocale.
    ", "group": "Champ de formulaire", "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", @@ -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 :

    • une autre méthode d'authentification est proposée
    • une aide est disponible pour l'utilisateur
    • le test cognitif consiste à reconnaitre des objets
    • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au site Web.

    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.

    ", - "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)

    ", + "verifier": "

    Toutes les étapes d'un processus d'authentification ne reposent pas sur un test cognitif, sauf si :

    • une autre méthode d'authentification est proposée
    • une aide est disponible pour l'utilisateur
    • le test cognitif consiste à reconnaitre des objets
    • le test cognitif consiste à identifier le contenu non textuel que l'utilisateur a fourni au site Web.

    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.

    ", "complement":"
    Complément d'information

    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.

    • Pour les textes non gras
      • Taille inférieure à 18pt : contraste de 4,5:1
      • Taille supérieure ou égale à 18pt : contraste de 3:1
    • Pour les textes gras
      • Taille inférieure à 14pt : contraste de 4,5:1
      • Taille supérieure ou égale à 14pt : contraste de 3:1
    ", - "exception": "

    Les 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.

    • Pour les textes non gras :
      • Taille inférieure à 18pt : contraste de 4,5:1
      • Taille supérieure ou égale à 18pt : contraste de 3:1
    • Pour les textes gras :
      • Taille inférieure à 14pt : contraste de 4,5:1
      • Taille supérieure ou égale à 14pt : contraste de 3:1
    ", + "exception": "

    Ce 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 logos
    • si un texte apporte la même information que l'icône ou le graphique
    • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
    • le manque de contraste est nécessaire pour convoyer l'information
    • le composant est inactif
    • l'affichage par défaut de l'agent utilisateur n'est pas modifié
    ", + "verifier": "

    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 :

    • les logos
    • si un texte apporte la même information que l'icône ou le graphique
    • si le manque de contraste de l'image n'empêche pas la compréhension du contenu ou de sa fonction
    • le manque de contraste est nécessaire pour convoyer l'information
    • le composant est inactif
    • l'affichage par défaut de l'agent utilisateur n'est pas modifié
    ", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -257,7 +256,8 @@ "wcag": { "0": "1.4.1 A" }, - "verifier": "

    Vérifier que la couleur n'est pas le seul moyen de convoyer une information :

    • l'information peut également être obtenue par un texte
    • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
    • cas particulier d'un lien ou bouton sans mise en forme dans du texte :
      • le lien ou bouton doit avoir un contraste de 3:1 avec le texte environnant
      • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus (ex : souligné)

    Remarques :

    • Sont exclus les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
    • Si le contenu est transmis par l'utilisation de couleurs qui diffèrent non seulement par leur teinte, mais qui présentent également une différence significative en termes de luminosité (par exemple vert clair et rouge foncé), cela constitue alors une distinction visuelle supplémentaire.
    • Critère non applicable, si aucune information n'est portée par de la couleur
    ", + "verifier": "

    La couleur n'est pas le seul moyen de convoyer une information :

    • l'information peut également être obtenue par un texte
    • au moins un autre moyen visuel est disponible pour obtenir la même information (exemple : des icônes qui utilisent des couleurs, mais également des formes différentes)
    • si le contenu est transmis par l'utilisation de couleurs qui diffèrent non seulement par leur teinte, mais qui présentent également une différence significative en termes de luminosité (par exemple vert clair et rouge foncé), cela constitue alors une distinction visuelle supplémentaire.

    Cas particulier d'un lien ou bouton sans mise en forme dans du texte :

    • le lien ou bouton doit avoir un contraste de 3:1 avec le texte environnant
    • et un indicateur, ne reposant pas sur la couleur, doit permettre de le distinguer lors de la prise de focus (ex : souligné)
    ", + "exception": "

    Le critère est non-applicable pour les cas suivants :

    • les liens dont la nature est explicite, exemple des liens présent dans les zones de navigation (entête et pieds de page, menu ou liste de liens…)
    • si aucune information n'est portée par de la couleur
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -271,7 +271,7 @@ "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 :

    • Identification d'une information uniquement par sa position : \" pour aller à l'écran suivant appuyez sur le bouton à droite \", ou \" choisissez un des boutons affichés au-dessus de l'image pour en savoir plus \"
    • Identification d'une information uniquement par sa forme visuelle ou un symbole graphique : \" Appuyez sur le bouton rond pour quitter \"
    ", - "exception": "

    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": "
    • Toutes les fonctionnalités sont disponibles avec le Contrôle de Sélection et l'Accès Complet au Clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (Ex : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", + "verifier": "
    • Toutes les fonctionnalités sont disponibles avec le Contrôle de Sélection et avec l'Accès Complet au Clavier
    • Seuls les éléments interactifs sont focusables
    • Les éléments sont regroupés lorsqu'ils sont liés (exemple : contenu au sein d'une ligne cliquable d'une liste)
    • Il est possible de faire défiler le contenu dans une vue de défilement (ScrollView)
    ", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -557,7 +557,8 @@ "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 et avec un clavier externe.", + "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": "
    Exemple

    Zoom sur une carte : des boutons (+ / -) sont disponibles, en alternative au pincé.

    ", "resultatTest": "nt", - "exception" : "

    Le geste complexe est indispensable à la fonctionnalité

    ", + "exception": "

    Le critère est non-applicable dans les cas suivants :

    • Le geste complexe est essentiel à la fonctionnalité (par exemple : saisir une signature)
    • Le geste est défini par le système d'exploitation, l'agent utilisateur ou la technologie d'assistance.
    ", "priority": "P3", - "goodPractice": false, - "complement": "
    Exemple

    Zoom sur une carte : des boutons (+ / -) sont disponibles, en alternative au pincé.

    " + "goodPractice": false + }, { "themes": "Navigation générale", @@ -629,7 +631,7 @@ }, "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": "
    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 :

    • L'action de glisser/déposer est essentielle (jeux de dexterité par exemple)
    • La fonctionalité est native et non modifiée
    ", + "exception":"

    Le critère est non-applicable si :

    • L'action de glisser/déposer est essentielle (jeux de dexterité par exemple)
    • La fonctionalité est native et non modifiée
    ", "resultatTest": "nt", "priority": "P3", "wcag22" : true, @@ -659,20 +661,20 @@ "verifier": "

    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 :

    • application de jeu vidéo
    • application pour jouer du piano
    • application pour scanner un chèque bancaire
    ", + "exception": "

    Si une orientation est jugée essentielle, le critère est non-applicable. Exemples :

    • application de jeu vidéo
    • application pour jouer du piano
    • application pour scanner un chèque bancaire
    ", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/ios/conception/#orientation-de-lecran" }, { "themes": "Navigation générale", - "title": "Les éléments cliquables ont-ils une zone de clic suffisamment grande ?", + "title": "La taille des éléments interactifs est-elle suffisante ?", "ID": "testID-050", "IDorigin": "testID-050", "wcag": { "0": "2.5.8 AA" }, "verifier": "

    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 :

    • Si l'élément interactif a une surface inférieure à la surface minimale de 44pt mais est placé de manière à ce qu'un cercle de 44pt de diamètre centré sur l'élément ne chevauche pas un autre élément interactif ou le cercle d'un élément sous-dimensionné.
    • Si la surface de l'élément interactif est inférieure à 44pt mais qu'il existe dans la page une alternative conforme permettant de réaliser la même action.
    • Si l'élément interactif est intégré dans une phrase ou si sa taille est contrainte par la hauteur de ligne du texte non interactif environnant.
    ", - "exception":"

    Critère non applicable si :

    • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
    • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
    ", + "exception":"

    Critère non-applicable si :

    • Le rendu des éléments interactifs est le rendu par défaut de l'agent utilisateur.
    • La taille et la position des éléments interactifs sont cruciales pour le contenu (exemple : des repères sur une carte) ou contraintes par une obligation légale. Dans ce cas il est toutefois recommandé de fournir des alternatives lorsque cela est possible.
    ", "resultatTest": "nt", "priority": "P2", "wcag22" : true, @@ -702,7 +704,7 @@ }, "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": "
    Complément d'information

    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 :

    • lors de la prise de focus d'un élément
    • lors de la saisie de données
    • lors de l'activation d'un élément de formulaire autre qu'un bouton

    Le changement de contexte est conforme si :

    • l'action est initiée par un bouton ou un lien explicite
    • l'utilisateur est averti par un texte avant son déclenchement
    ", - "complement": "
    Changement de contexte

    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 :

    • d'agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", - "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 de contexte

    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 :

    • agent utilisateur (ouverture d'une autre application)
    • viewport(ouverture d'un nouvel écran, autre partie de l'écran affiché)
    • focus (déplacement du focus)
    • contenu qui modifie le sens de l'écran
    ", + "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.

    ", "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 :

    • SVG (vrai texte)
    • cas particuliers (ex. logo, captcha, dénomination commerciale)
    • l'élément est nécessaire
    • l'image est visuellement modifiable par l'utilisateur
    ", - "exception": "Non applicable si aucune image ne contient de texte", + "exception": "Critère non-applicable si aucune image ne contient de texte", "resultatTest": "nt", "priority": "P1", "goodPractice": false, @@ -847,14 +849,14 @@ "2.4.5 AA" ], "verifier": "

    Il existe plusieurs mécanismes pour atteindre un contenu souhaité et permettre à un utilisateur de se situer au sein de l'application :

    • un menu de navigation principal
    • une tab bar
    • un mécanisme de recherche
    • ...
    ", - "exception": "

    Non applicable :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", + "exception": "

    Le critère est non-applicable pour le cas suivants :

    • Si le nombre d'écrans est limité et/ou que le contenu est court.
    • Pour un écran résultat ou étape d'un processus à étapes.
    ", "priority": "P3", "resultatTest": "nt", "goodPractice": false }, { "themes": "Multimédia", - "title": "Contenu préenregistré seulement audio : une transcription textuelle équivalente au contenu de l'audio est-elle présente à proximité ?", + "title": "Contenu préenregistré seulement audio : une transcription textuelle équivalente au contenu de l'audio est-elle présente ?", "ID": "testID-041", "IDorigin": "testID-041", "wcag": { @@ -870,13 +872,13 @@ }, { "themes": "Multimédia", - "title": "Vidéo préenregistrée sans audio : une transcription textuelle ou une piste audio équivalente au contenu de la vidéo sont-elles présentes à proximité ?", + "title": "Vidéo préenregistrée sans audio : une transcription textuelle ou une piste audio équivalente au contenu de la vidéo sont-elles présentes ?", "ID": "testID-042", "IDorigin": "testID-042", "wcag": { "0": "1.2.1 A" }, - "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", + "verifier": "

    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 :

    • présente dans l'écran
    • ou disponible via un lien positionné à proximité de la vidéo
    • ou vérifier la présence d'une piste audio fournissant les informations présentées visuellement
    ", "group": "Multimédia", "resultatTest": "nt", "priority": "P3", @@ -960,13 +962,14 @@ }, { "themes": "Multimédia", - "title": "Des contrôles sont-ils présents pour interagir avec un média temporel(pause, stop, volume, sous titres, etc...) ?", + "title": "Des contrôles sont-ils présents pour interagir avec un média temporel ?", "ID": "testID-048", "IDorigin": "testID-048", "wcag": [ "2.2.2 A" ], - "verifier": "

    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 Ayoul Date: Wed, 19 Feb 2025 16:57:07 +0100 Subject: [PATCH 17/17] more updates --- json/criteres-wcag-android-en.json | 118 +++++++++++------------ json/criteres-wcag-android-fr.json | 10 +- json/criteres-wcag-ios-en.json | 146 ++++++++++++++--------------- json/criteres-wcag-ios-fr.json | 8 +- 4 files changed, 142 insertions(+), 140 deletions(-) diff --git a/json/criteres-wcag-android-en.json b/json/criteres-wcag-android-en.json index 5b3abc3..e0806b1 100644 --- a/json/criteres-wcag-android-en.json +++ b/json/criteres-wcag-android-en.json @@ -1,13 +1,13 @@ [ { - "themes": "Form field", - "title": "Does every input field in the form have a label?", + "themes": "Form fields", + "title": "Does every form field in the form have a label?", "ID": "testID-001", "IDorigin": "testID-001", "wcag": [ "3.3.2 A" ], - "verifier": "
    • A label is visually present near the form fields,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", + "verifier": "
    • A label is visually present near the form fields,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", "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": "
    Additional information

    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", @@ -16,22 +16,22 @@ "goodPractice": false }, { - "themes": "Form field", - "title": "Is every input field's label relevant?", + "themes": "Form fields", + "title": "Is every form field's label relevant?", "ID": "testID-071", "IDorigin": "testID-071", "wcag": [ "2.4.6 AA" ], - "verifier": "

    The accessible name of each input field is relevant.

    ", - "complement":"
    Additional information

    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":"
    Additional information

    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:

    • for an address (road, postcode, town, etc...)
    • for a RadioButton list, use of RadioGroup property is necessary
    • for a Checkbox list
    ", + "verifier": "

    Fields of the same nature are grouped, for example:

    • for an address (multiple fields for street, postal code, and city based on the delivery or billing address)
    • for a list of radio buttons or checkboxes linked to the same setting
    ", + "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#group-the-elements", "group": "Form field", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { - "themes": "Form field", - "title": "Are the required input fields clearly identified?", + "themes": "Form fields", + "title": "Are the required form fields clearly identified?", "ID": "testID-003", "IDorigin": "testID-003", "wcag": [ @@ -79,14 +80,14 @@ "goodPractice": false }, { - "themes": "Form field", - "title": "For the input fields which require a specific data format, is this expected data format clearly communicated to the user?", + "themes": "Form fields", + "title": "For the form fields which require a specific data format, is this expected data format clearly communicated to the user?", "ID": "testID-004", "IDorigin": "testID-004", "wcag": [ "3.3.2 A" ], - "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the input field).
    • The input format is included in the vocalization of the field.
    ", + "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the form field).
    • The input format is included in the vocalization of the field.
    ", "group": "Form field", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/form/#explicitly-label-input-fields", "resultatTest": "nt", @@ -94,21 +95,21 @@ "goodPractice": false }, { - "themes": "Form field", - "title": "Is an autocomplete present for the input fields intended for personal information about the user?", + "themes": "Form fields", + "title": "Is an autocomplete present for the form fields intended for personal information about the user?", "ID": "testID-005", "IDorigin": "testID-005", "wcag": [ "1.3.5 AA" ], - "verifier": "
    • for the input fields intended for information about the user (name, address…), check that the autofill attribute is present
    • the value indicated for the autofill attribute is appropriate with respect to the type of information expected
    ", + "verifier": "
    • for the form fields intended for information about the user (name, address…), check that the autofill attribute is present
    • the value indicated for the autofill attribute is appropriate with respect to the type of information expected
    ", "group": "Form field", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Can the user authenticate without using a cognitive-based test?", "ID": "testID-064", "IDorigin": "testID-064", @@ -124,7 +125,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Are the form fields in error identifiable and explicit?", "ID": "testID-006", "IDorigin": "testID-006", @@ -140,7 +141,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "If an error is detected, is a suggestion for correction provided to the user?", "ID": "testID-008", "IDorigin": "testID-008", @@ -156,7 +157,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "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", @@ -173,14 +174,14 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "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: :

    • modify or delete data,
    • submit user test responses,\n
    • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

    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:

    • modify or delete data,
    • submit user test responses,\n
    • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

    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 page title is visible,
    • the page title is unique. A common error is to use the same title for the whole application,
    • the page context is understandable with the page title
    ", + "verifier": "
    • The page title is visible,
    • The page title is unique. A common error is to use the same title for the whole application,
    • The page context is understandable with the page title
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/conception/entetes/#avoir-un-titre-decran-pertinent-et-unique", "resultatTest": "nt", "priority": "P0", @@ -217,7 +218,7 @@ }, { "themes": "Colors and constrasts", - "title": "Is there sufficient contrast between the text color and the background color (except for special cases)?", + "title": "Is there sufficient contrast between the text color and the background color?", "ID": "testID-013", "IDorigin": "testID-013", "wcag": [ @@ -293,8 +294,8 @@ "goodPractice": false }, { - "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": [ @@ -308,23 +309,23 @@ "goodPractice": false }, { - "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": [ "1.3.2 A", "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.

    ", "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:

    • all section headers are navigable and vocalized
    • only headers are navigable and vocalized
    ", + "verifier": "

    Verify that with screen reader and header navigation mode:

    • all headings are navigable and vocalized
    • only headings are navigable and vocalized
    ", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#enable-header-navigation", "resultatTest": "nt", "priority": "P3", "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are content changes vocalized?", "ID": "testID-023", "IDorigin": "testID-023", "wcag": [ "3.2.2 A" ], - "verifier": "

    Content changes are vocally communicated to the user:

    • The opening of pop-up windows (dialogs) is vocalized.
    • The opening of a new screen is vocalized by its title.
    • The information about a change in a part of the screen (such as a changing fragment) is vocalized.
    • Horizontal scrolling is vocalized.
    ", + "verifier": "

    Content changes are announced to the user:

    • The opening of pop-up windows (dialogs).
    • The opening of a new screen.
    • The information about a change in a part of the screen (such as a changing fragment).
    • Horizontal scrolling.
    ", "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/android/development/vocal-navigation/#vocalize-content-change", "resultatTest": "nt", "priority": "P2", "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are status or contextual messages correctly rendered?", "ID": "testID-049", "IDorigin": "testID-049", @@ -395,7 +396,7 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the name, role, and value of each interface component vocalized?", "ID": "testID-024", "IDorigin": "testID-024", @@ -409,21 +410,21 @@ "goodPractice": false }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the visible elements the only ones vocalized?", "ID": "testID-025", "IDorigin": "testID-025", "wcag": [ "1.1.1 A" ], - "verifier": "

    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:
    • Navigation by headings
    • Navigation by links
    • Navigation by paragraphs
    • Navigation by form fields
    • Or any other specific navigation method
    ", + "verifier": "

    If deemed necessary, the application should offer quick navigation using TalkBack, for example:

    • Navigation by headings
    • Navigation by links
    • Navigation by paragraphs
    • Navigation by form fields
    • Or any other specific navigation method
    ", "group": "Voice navigation", "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/common-navigation/#provide-skip-links", "resultatTest": "nt", @@ -496,14 +498,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": [ "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", "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": "
    • Actions triggered by device movement or user gestures have alternatives available from an interface component (e.g., button).
    • It is possible to disable motion detection.
    ", - "exceptions": "

    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 :

    • pour une adresse (plusieurs champs rue, code postal et ville selon l'adresse de livraison ou de facturation)
    • pour une liste de boutons radio ou cases à cocher associés à un même paramètre
    ", "group": "Champ de formulaire", - "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/formulaire/#avoir-des-champs-de-saisie-explicites", + "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#regrouper-les-elements", "resultatTest": "nt", "priority": "P2", "goodPractice": false @@ -221,7 +221,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 exceptions) ?", + "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": [ @@ -376,7 +376,7 @@ "wcag": [ "3.2.2 A" ], - "verifier": "

    Les changements de contenu sont restitués vocalement à l'utilisateur :

    • l'ouverture des fenêtres surgissantes (dialogs) est vocalisée
    • l'ouverture d'un nouvel écran est vocalisée par son titre
    • l'information du changement d'une partie de l'écran (comme un fragment qui change) est vocalisée
    • les défilements horizontaux sont vocalisés
    ", + "verifier": "

    Les changements de contenu sont annoncés à l'utilisateur :

    • l'ouverture des fenêtres surgissantes (dialogs).
    • l'ouverture d'un nouvel écran.
    • l'information du changement d'une partie de l'écran (comme un fragment qui change).
    • les défilements horizontaux.
    ", "moreInfo": "https://a11y-guidelines.orange.com/fr/mobile/android/developpement/navigation-vocale/#vocaliser-le-changement-de-contenu", "resultatTest": "nt", "priority": "P2", @@ -648,7 +648,7 @@ }, { "themes": "Navigation générale", - "title": "Les erreurs de clic (ou de toucher) peuvent-elles être annulées ?", + "title": "Les erreurs de toucher ou de clic peuvent-elles être annulées ?", "ID": "testID-033", "IDorigin": "testID-033", "wcag": [ @@ -767,7 +767,7 @@ }, { "themes": "Navigation générale", - "title": "Si un contenu de la page est en mouvement, défile, clignote ou se met à jour, durant plus de 5 secondes et démarrant automatiquement, l'utilisateur a-t-il la possibilité de stopper, mettre en pause, masquer ou modifier sa fréquence de rafraichissement de ce contenu ?", + "title": "L'utilisateur a-t-il le contrôle d'un contenu en mouvement, défilant, clignotant ou se mettant à jour durant plus de 5 secondes et démarrant automatiquement ?", "ID": "testID-039", "IDorigin": "testID-039", "wcag": [ diff --git a/json/criteres-wcag-ios-en.json b/json/criteres-wcag-ios-en.json index b85dd1b..21cbb01 100644 --- a/json/criteres-wcag-ios-en.json +++ b/json/criteres-wcag-ios-en.json @@ -1,13 +1,13 @@ [ { - "themes": "Form field", - "title": "Does every input field in the form have a label?", + "themes": "Form fields", + "title": "Does every form field in the form have a label?", "ID": "testID-001", "IDorigin": "testID-001", "wcag": [ "3.3.2 A" ], - "verifier": "

    Check that:

    • a label is visually present near the form field,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", + "verifier": "
    • A label is visually present near the form field,
    • or the form field has a title attribute
    • or the field is accompanied by a text that becomes visible when the focus is taken.
    ", "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": "
    Additional information

    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", @@ -17,15 +17,15 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/design/#form" }, { - "themes": "Form field", + "themes": "Form fields", "title": "Is each form field's label relevant?", "ID": "testID-071", "IDorigin": "testID-071", "wcag": [ "2.4.6 AA" ], - "verifier": "

    Check that the accessible name of each form field is relevant.

    ", - "complement":"
    Additional information

    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":"
    Additional information

    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 :

    • for an address (street, postal code, city, etc. fields)
    • for a list of Switch
    ", + "verifier": "

    Fields of the same nature are grouped, for example:

    • for an address (multiple fields for street, postal code, and city based on the delivery or billing address)
    • for a list of radio buttons or checkboxes linked to the same setting
    ", "group": "Form field", "resultatTest": "nt", "priority": "P2", @@ -66,8 +66,8 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#grouping-elements" }, { - "themes": "Form field", - "title": "Are the required form fields clearly identified ?", + "themes": "Form fields", + "title": "Are the required form fields clearly identified?", "ID": "testID-003", "IDorigin": "testID-003", "wcag": { @@ -83,14 +83,14 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/" }, { - "themes": "Form field", - "title": "For the form fields which require a specific data format, is this expected data format clearly communicated to the user ?", + "themes": "Form fields", + "title": "For the form fields which require a specific data format, is this expected data format clearly communicated to the user?", "ID": "testID-004", "IDorigin": "testID-004", "wcag": { "0": "3.3.2 A" }, - "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the input field).
    • The input format is included in the vocalization of the field.
    ", + "verifier": "
    • The input format is visually present, and its positioning allows it to be associated with the relevant field.
    • The input format remains visible during input (do not display the expected format within the form field).
    • The input format is included in the vocalization of the field.
    ", "group": "Form field", "resultatTest": "nt", "priority": "P0", @@ -98,7 +98,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/" }, { - "themes": "Form field", + "themes": "Form fields", "title": "Is an autocomplete present for the form fields intended for personal information about the user?", "ID": "testID-005", "IDorigin": "testID-005", @@ -112,7 +112,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Can the user authenticate without using a cognitive-based test?", "ID": "testID-063", "IDorigin": "testID-063", @@ -128,7 +128,7 @@ "goodPractice": false }, { - "themes": "Form field", + "themes": "Form fields", "title": "Are the form fields in error identifiable and explicit?", "ID": "testID-006", "IDorigin": "testID-006", @@ -144,8 +144,8 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections" }, { - "themes": "Form field", - "title": "If an error is detected, is a suggestion for correction provided to the user ?", + "themes": "Form fields", + "title": "If an error is detected, is a suggestion for correction provided to the user?", "ID": "testID-008", "IDorigin": "testID-008", "wcag": { @@ -160,7 +160,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/web/develop/forms/#detect-identify-errors-and-suggest-corrections" }, { - "themes": "Form field", + "themes": "Form fields", "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", @@ -176,14 +176,14 @@ "goodPractice": false }, { - "themes": "Form field", - "title": "For each form field requiring sensitive or personal data, does the user have control over their data? ?", + "themes": "Form fields", + "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": { "0": "3.3.4 AA" }, - "verifier": "

    For form field that: :

    • modify or delete data,
    • submit user test responses,\n
    • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

    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:

    • modify or delete data,
    • submit user test responses,\n
    • cause legal commitments (validate terms of service) or financial transactions (online shopping) for the user to occur,

    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 :

    • the page title is visible,
    • the page title is unique. A common error is to use the same title for the whole application,
    • the page context is understandable with the page title
    ", + "verifier": "
    • The page title is visible,
    • The page title is unique. A common error is to use the same title for the whole application,
    • The page context is understandable with the page title
    ", "resultatTest": "nt", "priority": "P0", "goodPractice": false, @@ -219,13 +219,13 @@ }, { "themes": "Colors and constrasts", - "title": "Is there sufficient contrast between the text color and the background color (except for special cases)? ?", + "title": "Is there sufficient contrast between the text color and the background color?", "ID": "testID-013", "IDorigin": "testID-013", "wcag": { "0": "1.4.3 AA" }, - "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.

    • For normal texts:
      • Font size less than 18pt: contrast ratio 4.5:1
      • Font size greater than or equal to 18pt: contrast ratio 3:1
    • For bold texts:
      • Font size less than 14pt: contrast ratio 4.5:1
      • Font size greater than or equal to 14pt: contrast ratio 3:1
    ", + "verifier": "

    The contrast is sufficient in order that the information communicated by the text can be understood. Verify in light mode and dark mode.

    • For normal texts:
      • Font size less than 18pt: contrast ratio 4.5:1
      • Font size greater than or equal to 18pt: contrast ratio 3:1
    • For bold texts:
      • Font size less than 14pt: contrast ratio 4.5:1
      • Font size greater than or equal to 14pt: contrast ratio 3:1
    ", "exception": "

    This 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:

    • all section headers are navigable and vocalized
    • only headers are navigable and vocalized
    ", + "verifier": "

    Verify that with screen reader and header navigation mode:

    • all headings are navigable and vocalized
    • only headings are navigable and vocalized
    ", "resultatTest": "nt", "priority": "P3", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#element-trait" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are content changes vocalized?", "ID": "testID-023", "IDorigin": "testID-023", "wcag": { "0": "3.2.2 A" }, - "verifier": "

    Content changes are vocally communicated to the user:

    • The opening of pop-up windows (dialogs) is vocalized.
    • The opening of a new screen is vocalized by its title.
    • The information about a change in a part of the screen (such as a changing fragment) is vocalized.
    • Horizontal scrolling is vocalized.
    ", + "verifier": "

    Content changes are announced to the user:

    • The opening of pop-up windows (dialogs).
    • The opening of a new screen.
    • The information about a change in a part of the screen (such as a changing fragment).
    • Horizontal scrolling.
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false, "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#notify-a-content-change" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are status or contextual messages correctly rendered?", "ID": "testID-049", "IDorigin": "testID-049", @@ -394,7 +394,7 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#trigger-a-vocalization" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the name, role, and value of each interface component vocalized?", "ID": "testID-024", "IDorigin": "testID-024", @@ -408,21 +408,21 @@ "moreInfo": "https://a11y-guidelines.orange.com/en/mobile/ios/development/#element-trait" }, { - "themes": "Voice navigation", + "themes": "Screen reader", "title": "Are the visible elements the only ones vocalized?", "ID": "testID-025", "IDorigin": "testID-025", "wcag": { "0": "1.1.1 A" }, - "verifier": "

    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": "
    • Actions triggered by device movement or user gestures have alternatives available from an interface component (e.g., button).
    • It is possible to disable motion detection.
    ", - "exception": "

    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 :

    • l'ouverture des fenêtres surgissantes (dialogs) est vocalisée
    • l'ouverture d'un nouvel écran est vocalisée par son titre
    • l'information du changement d'une partie de l'écran (comme un fragment qui change) est vocalisée
    • les défilements horizontaux sont vocalisés
    ", + "verifier": "

    Les changements de contenu sont annoncés à l'utilisateur :

    • l'ouverture des fenêtres surgissantes (dialogs).
    • l'ouverture d'un nouvel écran.
    • l'information du changement d'une partie de l'écran (comme un fragment qui change).
    • les défilements horizontaux.
    ", "resultatTest": "nt", "priority": "P2", "goodPractice": false, @@ -639,7 +639,7 @@ }, { "themes": "Navigation générale", - "title": "Les erreurs de toucher (ou tap) peuvent-elles être annulées ?", + "title": "Les erreurs de toucher ou de clic peuvent-elles être annulées ?", "ID": "testID-033", "IDorigin": "testID-033", "wcag": { @@ -757,7 +757,7 @@ }, { "themes": "Navigation générale", - "title": "Si un contenu de la page est en mouvement, défile, clignote ou se met à jour, durant plus de 5 secondes et démarrant automatiquement, l'utilisateur a-t-il la possibilité de stopper, mettre en pause, masquer ou modifier sa fréquence de rafraichissement de ce contenu ?", + "title": "L'utilisateur a-t-il le contrôle d'un contenu en mouvement, défilant, clignotant ou se mettant à jour durant plus de 5 secondes et démarrant automatiquement ?", "ID": "testID-039", "IDorigin": "testID-039", "wcag": {