いくつかのフォームで Chrome の自動入力動作に関する問題が発生しています。
フォーム内のフィールドにはすべて、「電子メール」、「名前」、「パスワード」など、非常に一般的で正確な名前が付けられており、autocomplete="off"
設定もされています。
オートコンプリート フラグにより、入力を開始すると値のドロップダウンが表示されるオートコンプリート動作が正常に無効になりましたが、Chrome がフィールドに自動入力する値は変更されていません。
この動作は、Chrome が入力を誤って入力していることを除けば問題ありません。たとえば、電話番号入力に電子メール アドレスを入力するなどです。顧客からこのことについて苦情が寄せられているため、複数のケースで発生していることが確認されており、私が自分のマシンでローカルに実行した操作の結果ではありません。
私が現在考えられる唯一の解決策は、カスタム入力名を動的に生成し、バックエンドで値を抽出することですが、これはこの問題を回避するかなりハックな方法のように思えます。これを修正するために使用できる、自動入力の動作を変更するタグや癖はありますか?
ベストアンサー1
2023年6月: autocomplete="one-time-code"
Chromeで動作https://robindirksen.com/blog/html-autocomplete-one-time-code
2022年4月: autocomplete="off"
Chromeではまだ動作しません。この問題に関連するChromiumのバグを調べても、これまで動作したことはないと思います(おそらくパスワードフィールドのみ)。2014「修正不可能」としてクローズされた問題と、まだ未解決で議論中の問題[1][2]私が知る限り、Chromium チームは の有効な使用例は存在しないと考えていますautocomplete="off"
。
全体的に、どちらの極端な戦略 (「常に autocomplete=off を尊重する」と「決して autocomplete=off を尊重しない」) も良くないと私は依然として考えています。
https://bugs.chromium.org/p/chromium/issues/detail?id=914451#c66
彼らは、ウェブサイトがこれを正しく使用しないという印象を受けており、これを適用しないことに決め、次のアドバイスを提案しています。
自動入力を無効にしたい場合は、フィールドに意味を与えるために autocomplete 属性を使用することをお勧めします。認識できない autocomplete 属性に遭遇した場合、入力は行われません。
たとえば、CRM ツールに Chrome で自動入力したくない住所入力フィールドがある場合、要求している内容に応じて意味を成すセマンティックな意味を与えることができます。例: autocomplete="new-user-street-address"。Chrome がこれに遭遇すると、フィールドの自動入力は試行されません。
https://bugs.chromium.org/p/chromium/issues/detail?id=587466#c10
この「提案」は今のところ私にとってはうまく機能していますが、必ずしも当てはまるとは限らず、チームが実験を行っているようなので、新しいリリースではオートコンプリート機能が変更される可能性があります。
これに頼らなければならないのは愚かですが、唯一確実な方法は、ブラウザをできるだけ混乱させることです。
ブラウザに情報を漏らさずに入力に名前を付けます。つまり、
id="field1"
の代わりに を使用します。id="country"
設定する場合は
autocomplete="do-not-autofill"
、基本的に、ブラウザが自動入力可能なフィールドとして認識しない任意の値を使用します。
2021 年 1 月: autocomplete="off"
期待どおりに動作するようになりました (Chrome 88 macOS でテスト済み)。
これを機能させるには、入力タグをフォームタグ内に置く必要があります。
2020 年 9 月: autocomplete="chrome-off"
Chrome の自動入力を無効にします。
元の回答、2015年:
新しい Chrome バージョンでは、autocomplete="new-password"
パスワード フィールドに入力するだけで済みます。確認しましたが、問題なく動作します。
このディスカッションで Chrome 開発者からヒントを得ました:https://bugs.chromium.org/p/chromium/issues/detail?id=370363#c7
PS Chrome は、名前、ID、およびラベルや任意のテキスト ノードを含むフィールドの周囲のテキスト コンテンツから自動入力の動作を推測しようとすることに注意してください。street-address
コンテキスト内の自動入力トークンがある場合、Chrome はそれを自動入力します。このヒューリスティックは、フォームに追加のフィールドがある場合にのみトリガーされる場合や、フォームのフィールドが少なすぎる場合にのみトリガーされる場合があるため、非常にわかりにくい場合があります。また、はautocomplete="no"
機能しているように見えますが、autocomplete="off"
歴史的な理由により機能しないことに注意してください。autocomplete="no"
は、ブラウザに、このフィールドを というフィールドとして自動入力するように指示していることになります"no"
。一意のランダムなautocomplete
名前を生成すると、自動入力が無効になります。
ユーザーが不正なフォームにアクセスした場合、自動入力情報が破損している可能性があります。Chrome で自動入力情報を手動で修正してもらうことが、ユーザーにとって必要なアクションである可能性があります。