Ici est un bon article du MDC qui explique les problèmes (et les solutions) de l'autocomplétion des formulaires. Microsoft a publié quelque chose de similaire ici également.
Pour être honnête, s'il s'agit d'un élément important pour vos utilisateurs, il semble approprié de "briser" les normes de cette manière. Par exemple, Amazon utilise souvent l'attribut "autocomplete", qui semble bien fonctionner.
Si vous souhaitez supprimer entièrement l'avertissement, vous pouvez utiliser JavaScript pour appliquer l'attribut aux navigateurs qui le prennent en charge (IE et Firefox sont les principaux navigateurs) en utilisant les éléments suivants someForm.setAttribute( "autocomplete", "off" ); someFormElm.setAttribute( "autocomplete", "off" );
Enfin, si votre site utilise HTTPS, IE désactive automatiquement l'autocomplétion (ainsi que d'autres navigateurs, pour autant que je sache).
Mise à jour
Comme cette réponse reçoit encore beaucoup de votes, je voulais juste signaler qu'en HTML5, vous pouvez utiliser l'attribut "autocomplete" sur votre élément de formulaire. Voir le documentation sur le W3C pour cela.
10 votes
Êtes-vous sûr que vous voulez jouer avec les paramètres de la saisie automatique de l'utilisateur ? S'il l'a activée, elle lui plaît probablement. La saisie semi-automatique est une fonction entièrement liée au navigateur, tout comme le bouton qui permet à l'utilisateur de modifier la taille de la police, etc. Vous ne devez pas interférer avec leurs souhaits.
113 votes
Même pour quelque chose d'aussi sensible qu'un numéro de carte de crédit ? Je ne vois pas beaucoup de gens qui voudraient qu'on s'en souvienne, d'autant que la saisie automatique est activée par défaut dans la plupart des navigateurs. S'ils veulent à ce point le mémoriser, ils peuvent utiliser quelque chose qui remplit les formulaires comme la barre d'outils Google.
13 votes
Mon cas d'utilisation est légèrement différent : j'utilise mon propre autocomplete et je ne veux pas qu'il entre en conflit avec celui du navigateur. Je viens juste de découvrir que autocomplete="off" n'est pas valide, mais il semble qu'il n'y ait pas d'autre solution simple (l'injecter avec du js est tout simplement stupide).
13 votes
@rmeador parce que nous voulons parfois offrir une alternative plus conviviale à la boîte de suggestions automatiques standard. @corydoras, s'il vous plaît, ne poussez pas votre poids OSX autour de vous, cela n'aide pas à la résolution de cette question.
3 votes
Atrribut d'autocomplétion HTML 5 : w3schools.com/html5/att_form_autocomplete.asp
1 votes
J'ai besoin de le désactiver dans les situations où j'utilise des mots de passe générés par OTP à partir de jetons dans mes formulaires. Ce nombre n'est jamais le même et l'autocomplétion est totalement inutile à cet endroit...
1 votes
Il ne fonctionne pas sur firefox 6. J'ai essayé de régler
autocomplete=off
pour le formulaire et aussi pour les champs de saisie mais aucun d'entre eux ne semble fonctionner. Bien que cela fonctionne pour la première entrée du formulaire, cela ne fonctionne pas pour la deuxième entrée du même formulaire.12 votes
Le problème est que les banques tiennent le commerçant pour responsable en cas de transaction frauduleuse... même si le client est responsable à 100 %. Par conséquent, dans certaines circonstances, il est légitime de désactiver cette fonction pour le client.
7 votes
@rmeador Le problème qui m'a conduit à cette question est que j'ai une interface d'administration pour changer le mot de passe de quelqu'un, mais mon navigateur remplit automatiquement le champ "nouveau mot de passe" avec mon mot de passe, ce qui n'est évidemment pas ce que je veux.
1 votes
@AlexandreH.Tremblay Ce n'est jamais légitime, point final. Le comportement inconsidéré de la banque est un autre problème.
3 votes
@curiousguy votre commentaire est faux. Elle est légitime dès lors qu'il y a un besoin commercial pour elle. Il est impossible de penser à tous les cas d'utilisation d'un élément html. Mon client, par exemple, demande spécifiquement de le désactiver pour certains champs de son intranet car il n'a pas de sens à cet endroit (le texte est toujours différent par définition sur ces champs).
1 votes
@Durden81 Je suis d'accord pour dire que c'est une bonne chose de désactiver l'historique/le remplissage automatique pour un champ de formulaire CAPTCHA, puisque par définition les valeurs ne se répètent pas. Il est agréable de l'avoir pour l'utilisateur, car cette fonctionnalité est une pure distraction, mais elle n'est en aucun cas nécessaire (l'utilisateur peut ignorer l'historique) et le fait de ne pas avoir l'historique n'est pas un problème.
autocomplete=off
option, elle n'est pas nuisible pour la sécurité.4 votes
@curiousguy il peut être nuisible pour la sécurité dans le cas où plusieurs utilisateurs partagent le même ordinateur dans un petit bureau. Prenons le cas d'un ophtalmologue qui dispose d'un ordinateur dans son cabinet et d'un logiciel de gestion de cabinet basé sur le Web. La réceptionniste qui utilise également l'ordinateur ne devrait pas avoir la possibilité de se connecter au logiciel de gestion du cabinet avec les informations d'identification du médecin. Ce serait une erreur et une violation de l'HIPAA. Bien sûr, ils ne devraient pas utiliser le même compte au niveau du système d'exploitation, mais c'est le monde réel.
0 votes
C'est ridicule que ce soit même une discussion. Je suis en train de créer un formulaire qui nécessite la saisie d'adresses pour des clients situés dans tout le pays. Lorsque je commence à taper le nom de mon propre État, le navigateur me suggère "utilement" mon historique d'adresses complet (y compris les adresses de livraison alternatives que j'ai utilisées sur Amazon), au lieu de la suggestion de typeahead basée sur js, vous savez, le NOM de l'État. Pourquoi la question se pose-t-elle de savoir ce qui est le plus logique ?