diff --git a/src/assets/json/checklist/tests-concepteur-en.json b/src/assets/json/checklist/tests-concepteur-en.json index d59612cab..3f15d3bdd 100644 --- a/src/assets/json/checklist/tests-concepteur-en.json +++ b/src/assets/json/checklist/tests-concepteur-en.json @@ -559,6 +559,27 @@ "raccourcis": "", "profils": ["Designer"] }, + { + "themes":"Forms", + "title":"Ensure that the authentication process is easy to use, secure and do not rely only on a cognitive function test", + "type": [], + "tests": [ + "Case 1 - For each form field that requires a password or code to be entered: complete the authentication pathway.", + "Case 2 - For each two-factor authentication path, complete the authentication pathway.", + "Case 3 - For each authentication journey where one of the steps is a CAPTCHA, ensure that a non cognitive alternative is proposed." + ], + "verifier": [ + "Case 1 - Check that the input field allows for the following options:
Ensure that the user can effectively complete the forms
- - - ## Make form fields accessible -**Target:** everyone and especially people with visual impairments, cognitive limitations, experiencing attention difficulties and mobile and tablet users. +**Target:** everyone and especially people with visual impairments, cognitive limitations, experiencing attention difficulties and mobile and tablet users. **When:** during design and development. -**Description:** +**Description:** -Each form input must be associated with a label identifying the function of the field, the type of data and the expected format. +Each form input must be associated with a label identifying the function of the field, the type of data and the expected format. This label should be visually close to the field so we can easily mentally link them (especially for people using zoom or software magnifier or even mobile users). @@ -36,7 +33,7 @@ Align all labels to the left when the number of characters separating the longes If relevant, the fields have an `autocomplete` attribute so that the user can use a list of pre-recorded or auto-complete proposals. -For radio and check box buttons, in addition to the label tag you can use other tags (`title`, `aria-labelledby`, `aria-label` or, in some cases, `fieldset` and `legend`). +For radio and check box buttons, in addition to the label tag you can use other tags (`title`, `aria-labelledby`, `aria-label` or, in some cases, `fieldset` and `legend`). For required fields, this should be specified in the label using an image, a text symbol (`*` for example) or text and / or the `aria-required` property. @@ -45,17 +42,17 @@ For required fields, this should be specified in the label using an image, a tex Not meeting this requirement is a blocking point for all users using speech synthesis. For mobile users and motor deficient it allows to click on the form elements more easily. For fields with auto-completion, this avoids users input errors. -**Do:** +**Do:** ![screenshot of a valid form](../../images/formulaire.png) - + -**Don’t:** +**Don’t:** ![screenshot of a form with a missing label](../../images/formulaire2.png) **Example of an accessible form:** - + See [the example of an accessible form](../../components-examples/forms/) for more details. **WCAG reference:** @@ -64,12 +61,9 @@ See [the example of an accessible form](../../components-examples/forms/) for mo - 1.3.5 Identify input purpose - - - ## Detect, identify errors and suggest corrections - -**Target:** everyone and particularly people with visual impairments, cognitive limitations, reading or attention difficulties and elderly people. + +**Target:** everyone and particularly people with visual impairments, cognitive limitations, reading or attention difficulties and elderly people. **When:** as of design and during development. **Description:** @@ -78,7 +72,7 @@ The errors are automatically detected, the user is warned by a page title change Finally, the wording of the error messages should be explicit. -For web pages that involve important actions (legal commitment, financial transaction, modification or deletion of important data, response to a test or examination ...), the action must be reversible or go through a confirmation step to verify or correct the entry in case of error. +For web pages that involve important actions (legal commitment, financial transaction, modification or deletion of important data, response to a test or examination...), the action must be reversible or go through a confirmation step to verify or correct the entry in case of error. **Checklist:** @@ -88,10 +82,10 @@ Identifying the invalid field, as well as displaying a suggestion of correction Guide users when errors happen to improve the understanding and help them correct the errors, especially for internet beginners, elderly people and cognitively deficient. -**Do:** -![screenshot of a form that displays relevant error messages](../../images/formulaire-ok.png) +**Do:** +![screenshot of a form that displays relevant error messages](../../images/formulaire-ok.png) -**Don’t:** +**Don’t:** ![screenshot of a form displaying irrelevant error messages](../../images/formulaire-ko.png) @@ -99,7 +93,7 @@ Guide users when errors happen to improve the understanding and help them correc See [the accessible form example](../../components-examples/forms/) for more details. -**WCAG reference:** +**WCAG reference:** - 3.3.1 Error Identification - 3.3.3 Error Suggestion -- 3.3.4 Error Prevention (Legal, Financial, Data) \ No newline at end of file +- 3.3.4 Error Prevention (Legal, Financial, Data) diff --git a/src/fr/web/designer/formulaires.md b/src/fr/web/designer/formulaires.md index fe9185e17..02a01c75d 100644 --- a/src/fr/web/designer/formulaires.md +++ b/src/fr/web/designer/formulaires.md @@ -79,3 +79,69 @@ Après la consultation des détails d'un article faisant partie de la liste des **Référence WCAG :** 3.3.7 Redundant Entry + + +## Authentification accessible + +**Cible :** tout le monde, en particulier les personnes avec des déficiences cognitives. +**Quand :** dès la conception et pendant le développement. + +**Description :** + +Pour être accessible, aucune étape du processus d'authentification ne doit être basée sur les fonctions cognitives de l'utilisateur (ex : mémoriser un identifiant et mot de passe, saisir un mot de passe qui doit être recopié sans erreur, reproduire un schéma gestuel sur un écran tactile, résoudre une énigme), sauf si cette étape fournit au moins l'un des moyens suivants : +- une **méthode alternative d'authentification** qui ne repose pas sur la réalisation d'un test cognitif - critères 3.3.8 et 3.3.9, +- un **mécanisme** qui **aide** l'utilisateur à réaliser le test cognitif demandé pour s'authentifier (ex : gestionnaires de mots de passe qui permettent à l'utilisateur de moins faire appel à sa mémoire, possibilité de copier-coller son mot de passe pour éviter la difficulté de re saisir ce qui l'a déjà été) - critères 3.3.8 et 3.3.9, +- un test cognitif de **reconnaissance d'objets courants** (images, vidéo, audio) - critère 3.3.8, +- un test cognitif d'**identification d'un contenu personnel non textuel** (images, vidéo, audio) **préalablement fourni au site web par l'utilisateur** - critère 3.3.8. + +**Bonnes pratiques :** + +Le respect du critère 3.3.9 (AAA) repose sur la non-utilisation dans le processus d'authentification des méthodes basées sur : +- la reconnaissance d'objets courants (images, vidéo, audio), +- l'identification d'un contenu personnel non textuel (images, vidéo, audio) préalablement fourni au site web par l'utilisateur. + +**À vérifier :** + +Pour un système d'authentification par la saisie d'un identifiant et d'un mot de passe, s'assurer que l'une des conditions suivantes est remplie : + - l'agent utilisateur (navigateur et applications de gestion de mots de passe) permet le **remplissage automatique des champs "identifiant" et "mot de passe"**, + - l'utilisateur peut **copier** son identifiant puis son mot de passe à partir d'une source locale (ex : application de gestion de mots de passe) pour ensuite les **coller** respectivement dans les champs correspondants du formulaire d'authentification ou dans une interface en ligne de commande. Le **format demandé** par les champs "identifiant" et "mot de passe" doit être le **même que celui des informations** copiées pour éviter à l'utilisateur de devoir transcrire (i.e., saisir et copier) ces informations. + +Pour un système d'authentification à 2 facteurs (double authentification), s'assurer que l'une des conditions suivantes est remplie : + - qu'il ne soit pas demandé à l'utilisateur de recopier un **code de vérification**. L'utilisateur doit disposer à minima de l'une des **aides** suivantes : + - possibilité de copier-coller le code de vérification à partir d'une application de gestion de mots de passe, d'une application de message textuel ou d'une clé de sécurité logicielle, + - ou permettre à l'agent utilisateur de remplir le champ automatiquement. +Note : lorsqu'un code de vérification doit être reçu ou généré par un deuxième appareil (ex : SMS reçu sur un mobile), la possibilité de pouvoir envoyer ce code de vérification au premier appareil n'est pas à évaluer dans ce critère. + - que le système d'authentification à 2 facteurs ne repose pas sur des codes, mais par exemple sur une clé USB d'authentification, une application tierce (qui peut être ou non sur un 2ème appareil) qui demande à l'utilisateur de confirmer qu'il est bien à l'origine de la requête, une méthode d'authentification proposée par le système d'exploitation de l'appareil. + +Pour un système d'authentification dont l'une des étapes est un **captcha**, s'assurer qu'il y a une méthode qui n'inclut pas de test cognitif (retenir, recopier un mot, reconnaitre une image donnée par le site web), sauf si cela repose sur la reconnaissance d'objets ou l'identification d'un contenu personnel non textuel. + - Si l'authentification à double facteur 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 1è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. + +**Objectif utilisateur :** + +Permettre aux utilisateurs ayant des problèmes cognitifs (mémoire, dyslexie, dyscalculie, capacités cognitives limitées) de s'authentifier. + +**Exemples valides (AA et AAA) :** + +Un système d'**authentification à 2 facteurs** : authentification sur le navigateur web d'un ordinateur qui nécessite un **code de vérification reçu par SMS sur le téléphone mobile**. Dans la plupart des cas, il est possible d'envoyer le code sur l'appareil où il peut ensuite être copié-collé, par exemple en le copiant-collant dans un mail sur le téléphone pour l'envoyer sur l'ordinateur ou en passant une application de presse-papier. + +Un site web utilise un **couple identifiant** (nom d'utilisateur ou adresse mail) et **mot de passe pour** l'authentification de la connexion (satisfaisant au critère de réussite "1.3.5 But de l'entrée" et au critère de réussite "4.1.2 : Nom, rôle, valeur"). Le navigateur de l'utilisateur ou une extension de gestionnaire de mot de passe tiers intégrée peut identifier la fonction de ces 2 champs et **remplir automatiquement l'identifiant** et le mot de passe. + +Un site web utilise **WebAuthn** pour que l'utilisateur puisse s'**authentifier avec son appareil plutôt qu'avec son nom d'utilisateur et son mot de passe**. L'appareil de l'utilisateur peut utiliser n'importe quelle modalité disponible. Les méthodes les plus courantes sur les ordinateurs portables et les téléphones sont la reconnaissance faciale, les empreintes digitales et le code PIN (numéro d'identification personnel). Le site web n'impose aucune utilisation particulière, il est supposé que l'utilisateur choisira la méthode qui lui convient. + +Un site web offre la possibilité de se connecter avec un fournisseur tiers en utilisant la méthode **OAuth**. + +Un site web qui requiert une **authentification à deux facteurs** offre **plusieurs options pour le deuxième facteur**, y compris une méthode basée sur une clé USB où l'utilisateur clique simplement sur un bouton pour entrer un code valable pendant une durée limitée. + +Un site web qui requiert une **authentification à deux facteurs** affiche un **QR code** qui peut être scanné par une application sur l'appareil de l'utilisateur pour confirmer son identité. + +Un site web qui requiert une **authentification à deux facteurs** envoie une notification à l'appareil de l'utilisateur. L'utilisateur doit utiliser le **mécanisme d'authentification de son appareil** (par exemple, un code PIN défini par l'utilisateur, une empreinte digitale, une reconnaissance faciale) pour confirmer son identité. + +**Exemple non-valide :** + +Empêcher un utilisateur de saisir un mot de passe ou un code de vérification dans le même format que celui dans lequel il a initialement été créé : par exemple un formulaire qui demande à l'utilisateur de saisir les 4 derniers chiffres de son identifiant dans 4 champs différents. +Exception : l'utilisateur peut copier son code puis le coller dans un premier champ. Les caractères seront automatiquement répartis dans les champs suivants. + +**Référence WCAG :** +- 3.3.8 Accessible Authentication (Minimum) +- 3.3.9 Accessible Authentication (Enhanced) diff --git a/src/fr/web/developper/formulaires.md b/src/fr/web/developper/formulaires.md index 5901e2879..68e4d609d 100644 --- a/src/fr/web/developper/formulaires.md +++ b/src/fr/web/developper/formulaires.md @@ -7,17 +7,14 @@ abstract: "Formulaires, recommendations d'accessibilité web lors du développemS’assurer que l’utilisateur puisse efficacement compléter les formulaires
- - - ## Rendre accessibles les champs de formulaire -**Cible :** tout le monde, et en particulier les personnes déficientes visuelles et cognitives, avec un déficit d’attention et les utilisateurs de tactiles (mobile et tablette). +**Cible :** tout le monde, et en particulier les personnes déficientes visuelles et cognitives, avec un déficit d’attention et les utilisateurs de tactiles (mobile et tablette). **Quand :** lors de la conception et lors du développement. -**Description :** +**Description :** -Chaque champ de formulaire doit être accompagné d’un libellé ou d'instructions permettant d’identifier le rôle du champ, le type de donnée et le format attendu. +Chaque champ de formulaire doit être accompagné d’un libellé ou d'instructions permettant d’identifier le rôle du champ, le type de donnée et le format attendu. Ces informations doivent être proches visuellement du champ afin que l'utilisateur fasse facilement le lien entre eux (notamment pour les utilisateurs de zoom, de loupe logicielle, voire sur mobile). @@ -39,7 +36,7 @@ Si cela est pertinent, les champs ont un attribut `autocomplete` afin que l’ut Pour les boutons radio et les cases à cocher, l’utilisation de la balise `label` est, parfois, à compléter par un autre dispositif (`title`, `aria-labelledby`, `aria-label` ou parfois, `fieldset` et `legend`). -Pour les champs obligatoires, ceci doit être précisé dans le `label` via un texte explicite ("obligatoire"), si cette identification n'est pas réalisée de manière explicite, il faut en expliquer la signification comme, "Tous les champs obligatoires sont marqués d'un *",placée en début de formulaire, et/ou une propriété `aria-required`, `required`. +Pour les champs obligatoires, ceci doit être précisé dans le `label` via un texte explicite ("obligatoire"), si cette identification n'est pas réalisée de manière explicite, il faut en expliquer la signification comme, "Tous les champs obligatoires sont marqués d'un *", placée en début de formulaire, et/ou une propriété `aria-required`, `required`. **Objectif utilisateur :** @@ -47,19 +44,19 @@ Ne pas respecter ces recommandations est un point bloquant pour tout utilisateur Pour les champs avec auto-complétion, facilite la tâche aux déficients moteur et cognitif, les dyslexiques. Cela permet d’éviter les erreurs de saisie et un gain de temps pour tous. -**Exemples valides :** +**Exemples valides :** ![capture d’écran d’un formulaire valide](../../images/formulaire.png) ![capture d’écran d’un formulaire label proche du champ](../../images/v_label.jpg) -**Exemples non-valides :** +**Exemples non-valides :** ![capture d’écran d’un formulaire auquel il manque un label](../../images/formulaire2.png) ![capture d’écran d’un formulaire label loin du champ](../../images/nv_label.jpg) **Exemple de formulaire accessible :** - + Consulter [l’exemple de formulaire accessible](../../exemples-de-composants/formulaires/) pour plus d’informations. -**Référence WCAG :** +**Référence WCAG :** - 2.4.6 Headings and Labels - 3.3.2 Labels or Instructions - 3.3.5 Help @@ -70,10 +67,10 @@ Consulter [l’exemple de formulaire accessible](../../exemples-de-composants/fo ## Détecter, identifier les erreurs et suggérer des corrections -**Cible :** tout le monde, et en particulier les personnes déficientes visuelles, cognitives, avec des difficultés pour lire ou ayant un déficit d’attention et les seniors. +**Cible :** tout le monde, et en particulier les personnes déficientes visuelles, cognitives, avec des difficultés pour lire ou ayant un déficit d’attention et les seniors. **Quand :** lors de la conception et lors du développement. -**Description :** +**Description :** Les erreurs sont automatiquement détectées, l’utilisateur est averti par la modification du titre de la page, l’élément de formulaire en erreur est identifié et l’erreur est décrite à l’utilisateur sous forme de texte. Si besoin, une correction est suggérée. @@ -89,18 +86,18 @@ L’identification du champ en erreur ainsi qu’une éventuelle suggestion de c Guider l’utilisateur en cas d’erreurs permet d’améliorer la compréhension et la correction des erreurs, pour tous les utilisateurs, en particulier pour les novices sur internet, les seniors et les personnes déficientes cognitives. -**Exemple valide :** -![capture d’écran d’un formulaire affichant des messages d’erreur à la saisie valides](../../images/formulaire-ok.png) +**Exemple valide :** +![capture d’écran d’un formulaire affichant des messages d’erreur à la saisie valides](../../images/formulaire-ok.png) -**Exemple non-valide :** +**Exemple non-valide :** ![capture d’écran d’un formulaire affichant des messages d’erreur à la saisie non-valides](../../images/formulaire-ko.png) - + **Exemple de formulaire accessible :** - + Consulter [l’exemple de formulaire accessible](../../exemples-de-composants/formulaires/) pour plus d’informations. -**Référence WCAG :** +**Référence WCAG :** - 3.3.1 Error Identification - 3.3.3 Error Suggestion - 3.3.4 Error Prevention (Legal, Financial, Data)