Finalité programmatique des champs
Silktide vérifie que les champs de formulaire qui collectent des informations personnelles, telles qu’un nom, une adresse e-mail ou un numéro de téléphone, déclarent leur finalité dans le code. Cela permet aux navigateurs et aux outils d’assistance de remplir automatiquement le champ et de le présenter de manière compréhensible pour chaque personne.
La finalité est déclarée à l’aide de l’attribut autocomplete en , défini sur une valeur standard décrivant ce que le champ collecte :
<!-- La finalité est lisible par machine : ce champ collecte un prénom -->
<label for="name">Prénom</label>
<input id="name" type="text" autocomplete="given-name">
Pourquoi c’est important
Lorsqu’un champ déclare sa finalité, le navigateur peut le remplir à partir des informations enregistrées par le visiteur. Cela aide tout le monde, mais c’est particulièrement important pour les personnes ayant des déficiences motrices, pour qui la saisie est lente ou douloureuse, et les personnes ayant des déficiences cognitives, qui peuvent avoir des difficultés à se souvenir d’informations à la demande. Les outils d’assistance peuvent également utiliser la finalité déclarée pour ajouter des icônes ou des symboles familiers aux champs, ce qui rend les formulaires plus faciles à reconnaître et à remplir.
Comment résoudre ce problème
- Ajoutez un attribut
autocompleteavec la valeur standard appropriée à chaque champ qui collecte des informations sur le visiteur, par exemplename,email,tel,street-addressoupostal-code. Consultez la liste complète des valeurs (MDN). - Notez que
autocomplete="on"ne suffit pas : la valeur doit indiquer la finalité spécifique. - Si un champ spécifique ne doit réellement pas être rempli automatiquement, par exemple pour des raisons de sécurité, ou ignorez le constat pour ce champ.
Comment Silktide effectue cette vérification
- Recherchez les champs de saisie sur chaque page, en ignorant les types qui ne collectent jamais d’informations personnelles (boutons, cases à cocher, boutons radio, sélecteurs de fichiers, champs de recherche et éléments similaires), ainsi que les champs injectés par des widgets tiers connus, tels que les formulaires masqués que les scripts de suivi et de traduction ajoutent pour leur propre usage.
- Déterminez le libellé de chaque champ à partir de son , en utilisant son texte indicatif comme solution de repli.
- Lorsque le libellé suggère des informations personnelles — des mots tels que « nom », « e-mail », « téléphone », « adresse », « code postal », « date de naissance » — attendez-vous à une valeur
autocompletespécifique. - Signalez chaque champ de ce type dont l’attribut
autocompleteest absent ou défini uniquement suronouoff. Toute valeur spécifique est acceptée ; Silktide ne détermine pas si elle convient au champ.
Dépannage
Un champ est signalé alors qu’il ne devrait pas l’être
Silktide déduit la finalité du champ à partir de son libellé. Si le libellé est absent, Silktide ne peut pas exclure le champ et peut le signaler : corriger le libellé (voir Libellés des champs) résout généralement le problème. Si le champ n’a réellement aucune finalité de remplissage automatique, ignorez le constat pour ce champ.
Un champ avec une mauvaise valeur autocomplete est accepté
Cette vérification contrôle qu’une finalité spécifique est déclarée, et non que la finalité déclarée est correcte. Lorsque vous les ajoutez, vérifiez vos valeurs par rapport à la liste standard.