v149 · HTML · Attribute Reference

Attribute Reference

Everything about the autocorrect HTML attribute: values, element support, interaction with related attributes, and what the Windows Text Services Framework is.

what is TSF?

Text Services Framework

TSF is a Windows API layer that mediates between applications and text input services — including on-screen keyboards, IMEs (Input Method Editors for CJK languages), speech recognition, and autocorrect services.

When Chrome receives focus on a text input, it communicates with TSF to describe the input's properties — including whether autocorrect should be active. Before Chrome 149, the autocorrect="off" attribute was not correctly propagated through this TSF bridge, so the Windows touch keyboard would still apply corrections even when the HTML opted out.

Chrome 149 fixes the bridge to correctly set the TSF IS_SPELLCHECKING_DISABLED and related flags when autocorrect="off" is set, so the keyboard honours the opt-out.

attribute values

Value Effect
autocorrect="on" Explicitly enables autocorrect (same as default). Useful to re-enable on a child element when a parent has autocorrect="off".
autocorrect="off" Disables autocorrect for this element. The browser and OS keyboard should not alter input. Chrome 149 extends this to the Windows TSF keyboard.
(omitted) Browser default — autocorrect enabled for most element types.

element support

Element autocorrect supported Notes
<input type="text"> Yes Primary use case
<textarea> Yes Multi-line text
<input type="email"> Yes Email fields already imply no correction in many browsers
<input type="password"> Partial Password masking already suppresses correction; autocorrect="off" is redundant but harmless
<input type="search"> Yes Useful to disable for technical search queries
[contenteditable] Yes (Chrome 150+) Chrome 150 exposed autocorrect as a global attribute
<input type="number"> No Numeric inputs are not text — autocorrect doesn't apply

related attributes

Attribute Relationship to autocorrect
spellcheck="false" Disables the browser's spell-check underline. Combines with autocorrect="off" for full correction suppression — they target different mechanisms.
autocomplete="off" Disables browser form history suggestions. Separate from autocorrect — the two can be set independently.
inputmode="none" Prevents the virtual keyboard from appearing. Does not affect autocorrect on physical or hardware keyboards.

combined snippet

<!-- Username: full correction suppression -->
<input
  type="text"
  name="username"
  autocorrect="off"
  spellcheck="false"
  autocomplete="username"
>

<!-- Code editor: no corrections, no underlines -->
<textarea
  autocorrect="off"
  spellcheck="false"
  autocapitalize="none"
></textarea>

see also

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗