C'est quoi
L'attribut autocomplete sur un champ de formulaire indique au navigateur et aux technologies d'assistance la finalité du champ : est-ce un champ pour le prénom, l'adresse e-mail, le numéro de téléphone, le mot de passe ?
Cette information permet trois choses :
- Le navigateur propose des valeurs enregistrées pour pré-remplir le champ.
- Le gestionnaire de mots de passe identifie les champs de connexion et peut remplir automatiquement l'identifiant et le mot de passe.
- Les technologies d'assistance et les outils d'adaptation personnalisée peuvent adapter la saisie aux besoins de l'utilisateur.
Les valeurs d'
autocompletesont définies par la spécification HTML (WHATWG) et référencées par WCAG 1.3.5 dans la liste "Input Purposes for User Interface Components". Les principales :name,given-name,family-name,email,tel,street-address,postal-code,country-name,username,current-password,new-password,bday.
Qui est touché
- Les personnes avec des troubles moteurs : remplir un formulaire est difficile. Le pré-remplissage automatique leur évite de saisir les mêmes informations à chaque fois.
- Les personnes dyslexiques ou avec des troubles cognitifs : l'autocomplétion réduit la charge cognitive et les risques d'erreur de saisie.
- Les personnes aveugles utilisant un lecteur d'écran et un gestionnaire de mots de passe : sans
autocomplete, leur outil ne peut pas détecter ni remplir les champs de connexion.
Impact business
Sans autocomplete, l'utilisateur doit saisir manuellement ses informations
à chaque fois. Pour une personne avec des troubles moteurs, cela représente
une friction significative qui peut l'amener à abandonner le formulaire.
L'attribut autocomplete est aussi une mesure de protection contre certaines
attaques de phishing : les navigateurs alertent quand un site désactive
l'autocomplétion sur des champs sensibles (mot de passe, numéro de carte).
Comment le détecter
- Audit Mynto : le scan détecte les champs personnels sans attribut
autocompleteou avec une valeur non reconnue. - Manuel : inspecte les champs de formulaire dans le code source. Cherche les
<input>de typetext,email,tel,password,datequi collectent des données personnelles et vérifie la présence d'autocomplete. - Teste en pratique : remplis un formulaire, recharge la page, reviens au formulaire. Si aucune suggestion ne s'affiche pour les champs d'identité, l'autocomplete est peut-être absent ou désactivé.
Comment corriger
<!-- Formulaire de connexion sans autocomplete -->
<form>
<label for="email">E-mail</label>
<input type="email" id="email" name="email">
<label for="password">Mot de passe</label>
<input type="password" id="password" name="password">
<button type="submit">Se connecter</button>
</form><!-- Formulaire de connexion avec autocomplete approprié -->
<form>
<label for="email">E-mail</label>
<input type="email" id="email" name="email" autocomplete="username">
<label for="password">Mot de passe</label>
<input type="password" id="password" name="password" autocomplete="current-password">
<button type="submit">Se connecter</button>
</form>Ajoute l'attribut autocomplete avec la valeur appropriée sur chaque champ
collectant une information personnelle identifiable.
Valeurs courantes :
- Nom complet :
autocomplete="name" - Prénom :
autocomplete="given-name" - Nom de famille :
autocomplete="family-name" - E-mail :
autocomplete="email" - Téléphone :
autocomplete="tel" - Adresse :
autocomplete="street-address" - Code postal :
autocomplete="postal-code" - Identifiant de connexion :
autocomplete="username" - Mot de passe actuel :
autocomplete="current-password" - Nouveau mot de passe :
autocomplete="new-password"
Sur WordPress, les plugins de formulaire (Contact Form 7, Gravity Forms,
WPForms) permettent d'ajouter des attributs HTML personnalisés sur chaque
champ. Utilise le champ "Attributs supplémentaires" ou "HTML avancé" pour
ajouter autocomplete="email" etc.
Questions fréquentes
Doit-on mettre autocomplete sur tous les champs de formulaire ?
Non, seulement sur les champs dont la finalité peut être identifiée parmi la liste des valeurs définies par le W3C (WCAG 1.3.5 Input Purposes). Les champs spécifiques à l'application (numéro de commande, code de promotion) n'ont pas de valeur autocomplete correspondante.
Peut-on utiliser autocomplete="off" pour désactiver l'autocomplétion ?
Évite autocomplete="off" sur les champs d'identité et de mot de passe. Les navigateurs modernes ignorent souvent cette valeur sur les champs de connexion pour protéger les utilisateurs. De plus, cela viole le critère 11.13 si le champ est censé accepter l'autocomplétion. N'utilise off que pour des champs vraiment dynamiques (codes OTP, données sensibles à usage unique).
La valeur autocomplete doit-elle correspondre au type du champ ?
Pas nécessairement. Un <input type="text"> peut avoir autocomplete="email". Ce qui compte c'est la finalité du champ, pas son type HTML. En revanche, le type HTML doit aussi être adapté : utilise type="email" pour un champ e-mail, type="tel" pour un champ téléphone, etc.
À lire aussi
Cette erreur est-elle sur ton site ?
Lance un audit Mynto gratuit. Tu sauras en quelques minutes si ton site est concerné, sur quelles pages, et avec quel impact.