password-paste-enabled

Les champs d’authentification ne doivent pas bloquer le collage

manualWCAG 3.3.8 (AA)confiance : mediumgravité : seriousunderstandable

Vérifie qu’un champ de mot de passe ou de code à usage unique ne porte aucun gestionnaire de collage en ligne qui annule le collage, ce qui supprimerait le gestionnaire de mots de passe ou le presse-papiers sur lesquels le critère WCAG 3.3.8 s’appuie comme mécanisme d’assistance.

Applicabilité. S’applique à tout contrôle dont le jeton autocomplete est current-password, new-password ou one-time-code, ainsi qu’à <input type="password"> sauf si son autocomplete désigne une autre finalité. Un champ désactivé ou en lecture seule ne reçoit aucune saisie à bloquer, et un champ hors de l’arbre d’accessibilité n’est pas demandé à l’utilisateur ; aucun des deux n’entre dans le périmètre. Lorsqu’elle ne trouve rien à mettre en question, elle renvoie notApplicable, et non pass : elle ne s’applique qu’à ce que son contrôle signale, et ne rien y trouver ne montre pas que tout va bien.

Attendu. Une personne vérifie qu’il est toujours possible de coller dans le champ. Mémoriser un mot de passe est un test de fonction cognitive, et le critère 3.3.8 demande un mécanisme qui aide l’utilisateur à le franchir ; un gestionnaire de mots de passe, ou le presse-papiers pour un code à usage unique, constitue ce mécanisme.

Ce que rapporte un constat.

  • handler : la valeur de l’attribut onpaste du champ, espaces fusionnés. Soit elle ne fait qu’annuler le collage (PASTE_CANCELLED), soit elle appelle un autre script qui peut l’annuler ou non (PASTE_HANDLER_OPAQUE).

Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.

Exemples

can't tell
<label for="p">Password</label>
<input type="password" id="p" onpaste="return false">

Le gestionnaire en ligne annule purement et simplement le collage, ce qui bloque un gestionnaire de mots de passe ou un code à usage unique copié.

n/a
<label for="p">Password</label>
<input type="password" id="p" autocomplete="current-password">

Aucun gestionnaire de collage n’est attaché.

Comment vérifier

Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.

PASTE_CANCELLED

  1. Copiez un mot de passe ou un code de test dans le presse-papiers.
  2. Cliquez dans le champ indiqué par le rapport et collez (Ctrl+V ou Cmd+V, ou le menu contextuel).
  3. Si le champ est divisé en cases pour un code à usage unique, vérifiez si les chiffres se répartissent entre elles.
  4. Essayez aussi de remplir le champ avec le gestionnaire de mots de passe du navigateur.
  5. Si les deux sont bloqués, vérifiez si la même étape de connexion propose un autre moyen de se connecter sans rien mémoriser ni taper, comme une clé d’accès ou un lien envoyé par e-mail. Cela ne compte que s’il fonctionne et est utilisable au clavier.

Réussite. La valeur collée ou remplie automatiquement apparaît dans le champ, ou la même étape propose un moyen de connexion qui fonctionne sans rien mémoriser ni taper.

Échec. Le collage et le remplissage par le gestionnaire de mots de passe sont bloqués et aucun autre moyen de connexion n’est proposé : l’utilisateur doit mémoriser et taper la valeur, ce qui ne respecte pas le critère WCAG 3.3.8.

PASTE_HANDLER_OPAQUE

  1. Copiez un mot de passe ou un code de test dans le presse-papiers.
  2. Cliquez dans le champ indiqué par le rapport et collez (Ctrl+V ou Cmd+V, ou le menu contextuel).
  3. Vérifiez que la valeur entière arrive dans le champ (pour les cases de code séparées, réparties entre les cases) et qu’aucun message n’indique que le collage est interdit.
  4. Essayez aussi de remplir le champ avec le gestionnaire de mots de passe du navigateur.
  5. Si les deux sont bloqués, vérifiez si la même étape de connexion propose un autre moyen de se connecter sans rien mémoriser ni taper, comme une clé d’accès ou un lien envoyé par e-mail. Cela ne compte que s’il fonctionne et est utilisable au clavier.

Réussite. La valeur collée ou remplie automatiquement apparaît en entier dans le champ, ou la même étape propose un moyen de connexion qui fonctionne sans rien mémoriser ni taper.

Échec. Le collage ou le remplissage automatique est bloqué, ou la valeur est tronquée ou effacée, et aucun autre moyen de connexion n’est proposé : l’utilisateur doit la taper de mémoire, ce qui ne respecte pas le critère WCAG 3.3.8.

Voir le code source