autocomplete 属性に off が設定されている場合でも、ブラウザはオートコンプリートを行うことがあります。この予想外の挙動に開発者は戸惑うかもしれません。オートコンプリートを完全に無効にするには、その属性値に 任意の文字列を代入 するというトリックを用います。
と書かれています。
WHATWG の HTML Living Standard [whatwg.org] によると、autocomplete には "postal-code" などと自動的に代入される文字列の種別を指定するようなので、そこにダミーの値を入れることで比較的新しいブラウザだと、自動代入が無効になるのでしょう。
see also (スコア:2, 参考になる)
暮らしに役立つITコラム ChromeやSafariの自動入力機能が、なぜ「悪いデザイン」なのか
https://gist.github.com/mala/a53e3f8a0c793a5c7bef2215dd951879 [github.com]
Re: (スコア:0)
以前、どこのサイトだったか忘れたが、クレジットカード情報入力の欄が
autocomplete="off" になっておらず、その後全然関係ないサイトで
クレジットカードじゃない情報を入力しようとしたときにクレジットカード番号が
表示されたことがあった。
クレジットカード会社は、Web サイトの造りについても、一定の要件を
満たすように指導すべきじゃないのかと思うんだけど、やってないの?
autocomplete="off" があっても無視される場合がある (スコア:2)
クレジットカード番号の入力欄に autocomplete="off" が指定されていないサイトも見かけますが、最近のブラウザでは autocomplete="off" があっても効かないことがあります。
フォームのオートコンプリートを無効にするには - Web セキュリティ | MDN [mozilla.org] には、
と書かれています。
WHATWG の HTML Living Standard [whatwg.org] によると、autocomplete には "postal-code" などと自動的に代入される文字列の種別を指定するようなので、そこにダミーの値を入れることで比較的新しいブラウザだと、自動代入が無効になるのでしょう。
逆に古いブラウザだと、"on" や "off" 以外は無効と判断されて無視されるかもしれないので、form要素の方には autocomplete="off" を指定しておいて、input要素の方に autocomplete="dummy-jA4f-FJvG-DufF-rGmA" などのダミーのランダムな値を指定しておくと良いかもしれません。他のサイトで同じ値が設定されるとブラウザによってはそっちに自動フィルされるかもしれないので(未確認)、毎回違う値を自動生成した方が安全かも。
みたいな感じだと、自動フィルされにくいと思います(dummy-jA4f-FJvG-DufF-rGmA の部分は毎回変わるランダムな値)。
autocomplete属性は W3C のWeb標準に無いし(まぁW3C自体がオワコンですが)、WHATWG のWeb標準仕様は更新が頻繁で追従が困難なので、オートフィルについてはWebサイト製作者がどうにかする問題ではなく、ブラウザの製作者かその利用者がどうにかするべきだと思います。
ちなみに、WHATWG のサンプル [whatwg.org] には、
とあり、ブラウザのオートフィル用にクレジットカード番号であることを明示的に指定してあげているようです。現実にこれがどう扱われるかは、ブラウザの実装次第ですね。
Re: (スコア:0)
これ、ほんとどうにかしてほしい。
あえて不便にしたいケースで非常に困っている。こんなところでトリック使いたくない。
Re:autocomplete="off" があっても無視される場合がある (スコア:1)
ブラウザという他人の都合に振り回されないようにするため、自社用アプリを作るのです。
(だれもダウンロードしてくれない、と泣きが入ること請け合いだけど)