HTMLElement: spellcheck property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2017.

The spellcheck property of the HTMLElement interface represents a boolean value that controls the spell-checking hint. It is available on all HTML elements, though it doesn't affect all of them.

It reflects the value of the spellcheck HTML global attribute.

Value

A boolean value that is true if the spelling and grammar of the text content in the element may be checked, false otherwise.

Examples

The following example shows how to control the spell-checking hint via script:

html
<div>
  <span id="sc-label">The spelling and grammar may be checked: </span>
  <span id="sc-element" contenteditable="true" spellcheck="true">test</span>
</div>
<input id="sc-controller" type="checkbox" checked />Enable spelling and grammar
check
js
const label = document.getElementById("sc-label");
const element = document.getElementById("sc-element");
const controller = document.getElementById("sc-controller");

controller.addEventListener("change", (e) => {
  if (controller.checked) {
    element.spellcheck = true;
    label.innerText = "The spelling and grammar may be checked: ";
  } else {
    element.spellcheck = false;
    label.innerText = "The spelling and grammar may not be checked: ";
  }
});

Note that you must enable the browser setting to check spelling and grammar.

Specifications

Specification
HTML Standard
# dom-spellcheck-dev

Browser compatibility

BCD tables only load in the browser

See also