Windows Dev Center

Guidelines for spell checking

During text entry and editing, spell checking informs the user that a word is misspelled by highlighting it with a red squiggle and providing a way for the user to correct the misspelling.

A sample of what a standard text input spellcheck control looks like


A screenshot that illustrates the standard text input with spellcheck control

Dos and don'ts

  • Use spell checking to help users as they enter words or sentences into text input controls. Spell checking works with touch, mouse, and keyboard input.
  • Don’t use spell checking where a word is not likely to be in the dictionary or where users wouldn’t value spell checking. For example, don’t turn it on for input boxes of passwords, telephone numbers, or names. (Spell checking is disabled by default for these controls.) Telephone numbers, passwords, and names are rarely in the dictionary, so spell checking them doesn't do any good and might be distracting.
  • Don’t disable spell checking just because the current spell checking engine doesn't support your app language. When the spell checker doesn't support a language, it doesn't do anything, so there's no harm in leaving the option on. Also, some users might use an Input Method Editor (IME) to enter another language into your app, and that language might be supported. For example, when building a Chinese app, although the spell checking engine doesn’t recognize Chinese now, don’t turn spell checking off. The user may switch to an English IME and type English into the app; if spell checking is enabled, the English will get spell checked.

Additional usage guidance

Windows Store apps provide a built-in spell checker for multiline and single text input boxes, and elements that have their contentEditable property set to true. Here's an example of the built-in spell checker:

The built-in spell checker

For more info, see: input type=text and textarea for JavaScript, or the TextBox class for Extensible Application Markup Language (XAML).

Use spell checking with text input controls for these two purposes:

  • To auto-correct misspellings

    The spell checking engine automatically corrects misspelled words when it’s confident about the correction. For example, the engine automatically changes "teh" to "the."

  • To show alternate spellings

    When the spell checking engine is not confident about the corrections, it adds a red line under the misspelled word and displays the alternates in a context menu when you tap or right-click the word.

For JavaScript controls, spell checking is turned on by default for multiline text input controls and turned off for single-line controls. You can manually turn it on for single-line controls by setting the control's spellcheck property to true. You can disable spell checking for a control by setting its spellcheck property to false.

For XAML TextBox controls, spell checking is turned off by default. You can turn it on by setting the IsSpellCheckEnabled property to true.

Related topics

For designers
Guidelines for text input
Guidelines for text and typography
For developers (XAML)
TextBox.IsSpellCheckEnabled property
TextBox class
For developers (HTML)
spellcheck property
input type=text



© 2015 Microsoft