Sometimes, browsers seem to have a mind of their own. As a developer, your create a form, and the browser adds all sorts of behavior. The most obvious of these are automatically filling a form, or autocorrecting your typing.
When using the <input> element for textual input, there are several attributes that can disable such behavior in a user's browser.
autocapitalize="none"Prevent the browser from automatically capitalizing the first letter of each sentenceautocomplete="off"Prevent the browser from making suggesting based on a user previous input(s).1 Fortype="password"this will not prevent a password manager from filling in existing passwords or asking to save a new password.2 There are vendor specific attributes that can be used:class="keeper-ignore"to disable Keeperdata-1p-ignoreto disable 1Passworddata-bwignoreto disable Bitwardendata-form-type="other"to disable Dashlanedata-lpignore="true"to disable LastPassdata-protonpass-ignore="true"to disable ProtonPass
autocorrect="off"Prevent the browser from autocorrecting spelling and/or punctuation mistakesspellcheck="false"Prevent the browser from checking for spelling errors
Then there is also an attribute that needs to be set on the <form> element:
novalidatePrevent the browser from validating the form when submitted
<form novalidate>
<input name="some_name" type="text"
autocapitalize="none"
autocomplete="off"
autocorrect="off"
spellcheck="false"
/>
<input name="some_name" type="password"
class="keeper-ignore"
data-1p-ignore
data-bwignore
data-form-type="other"
data-lpignore="true"
data-protonpass-ignore="true"
/>
</form>