フォームの自動補完機能: ブラウザはフォームの自動補完機能を持っており、これがautocomplete=offを上書きすることがあります。この場合、autocomplete=offを指定しても自動補完が行われる可能性があります。この問題を回避するためには、フォームのautocomplete属性にランダムな値を設定することができます。例えば、autocomplete="nope"やautocomplete="random-string"などです。
フォームの親要素に対するautocomplete属性: input要素が親要素(例えば、form要素)に包含されている場合、親要素にもautocomplete属性を指定する必要があります。つまり、input要素と親要素の両方にautocomplete属性を設定する必要があります。
以下に、上記の方法をコード例とともに示します。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form autocomplete="off">
<input type="text" name="username" autocomplete="nope" />
<input type="password" name="password" autocomplete="nope" />
</form>
</body>
</html>
上記のコードでは、input要素に対してautocomplete="nope"を指定し、親要素であるform要素にもautocomplete="off"を指定しています。これにより、autocompleteが無効化され、自動補完が行われなくなります。