Typing with Speed and Accuracy in IE10


Typing quickly and accurately is a critical part of the user experience for any piece of software. When using a device without a physical keyboard, providing a great text input experience is even more important. Windows 8 provides several capabilities to make text input great on any device, and spellchecking is one of them.

Spellchecking in Windows 8 allows customers to identify misspelled words while they are entering text, have commonly misspelled words fixed automatically, and take corrective action on others. In Windows 8, spellchecking support is available to applications across the entire operating system, including IE10. Of course, spellchecking will also be available as an IE10 browser feature on all supported versions of Windows (including Windows 7).

Auto-correction

IE10 has the first browser-based implementation of auto-correct.

In some cases, a misspelled word is so common that it is better to just correct the word immediately, rather than wait for you to review the error later In the rare case that auto-correct changes something that you didn’t want changed, you can undo the change via CTRL+Z (Undo) using the keyboard, or bring up the auto-correction context menu using the mouse. In addition to using the mouse, the auto-correction menu can be activated via the keyboard by moving the insertion point inside of the word and pressing SHIFT+F10 (that key combo works to trigger any context menu). From the auto-correction menu you can also prevent the word from being auto-corrected in the future.

For auto-corrected words, press CTRL+Z to undo the change, or bring up a context menu for additional actions
For auto-corrected words, press CTRL+Z to undo the change, or bring up a context menu for additional actions

You can try out auto-correct in my test drive demo; it includes a short list of some of the common misspelled words that will be auto-corrected.

Word Identification and Corrective Actions Menu

No spellchecking experience would be complete without the red squiggles you’re familiar with from your favorite Office programs.

By default, as you enter text into any HTML textarea element (a multi-line input box) or any region of editable HTML content, the spellchecking engine will be used to check the last entered word. The word is checked against a dictionary associated with the current keyboard input language. If that word is misspelled or repeated it will be identified as a potential error using the familiar red squiggly underline. The identification of potential misspelled or repeated words is done in the background so that it does not slow your text entry.

The corrective actions menu has suggested alternate words and options to add the misspelled word to your custom dictionary or ignore the word. This works across all supported languages, including Portuguese (shown here).
The corrective actions menu has suggested alternate words and options to add the misspelled word to your custom dictionary or ignore the word. This works across all supported languages, including Portuguese (shown here).

The corrective actions menu will offer the most likely replacements for the identified word. You can replace the identified word with the suggested word in one step by selecting it from this menu. In addition you may choose to:

  • Add to dictionary. Your Windows user account has a built-in custom dictionary (which is initially empty). You may add frequently used words to this dictionary (in my case, I always need to add my last name). In Windows 8 this custom dictionary will be roamed to any other Windows 8 machine that you use via the cloud.
  • Ignore. The word will no longer be identified as a potentially misspelled word on this page. After you navigate away from the current page, the list of ignored words is cleared, and will again be flagged as a potential error.

Spellchecking in Your Language

Each of these spellchecking facilities (auto-correction, and word identification with corrective action menus), use the spellchecking dictionaries installed on your local PC. In the Windows Developer Preview, all of the dictionaries for all the supported languages are pre-installed. Many of the languages also include different language reform variants that you can toggle between in the re-designed Language control panel. All spellchecking options can be managed in the language control panel in Windows 8. On Windows 7, the spellchecking management experience for IE10 will be provided by the browser instead; I’ll describe this in more detail in a future post.

The Windows 8 language options dialog for Portuguese (Brazil), including language reform variants
The Windows 8 language options dialog for Portuguese (Brazil), including language reform variants

Internet Explorer 10 supports spellchecking in many common languages. View a list of supported spellchecking dictionaries and language/locales, including language reform variants.

There are sometimes needs for highly specialized spellchecking dictionaries, for example, in specific industries with their own vernacular or for languages not commonly spoken such as Latin. To support these scenarios, the Windows 8 spellchecking facility supports 3rd party spellchecking engines. When installed, IE10 and all other Windows components will use the installed 3rd party spellchecking engine.

Web Developer Options

As alluded to earlier, textarea and contenteditable elements are spellchecked by default; single-line input boxes (input type=text) are not checked by default since many sites use them for username fields or other purposes not suitable for spellchecking. We tried to pick good defaults, but if your Web site needs to change any of these defaults, it can. The ‘spellcheck’ attribute defined by HTML5 allows you as a developer to override the default spellchecking behavior for an element and all of its children.

By adding the spellcheck=false attribute value on any element, you disable spellchecking for all textarea, contenteditable, and input type=text elements that are children of the given element (including the element itself). Setting spellcheck=true enables spellchecking in the same scenario, and can also be used to override the spellchecking setting from a parent in the element tree. For example, if you want spellchecking disabled for all textarea elements on a page, with one exception, you can add the spellcheck=false attribute value to the HTML element, and then add a spellcheck=true attribute to the textarea element that is the exception.

Try out this capability using the spellchecking IE10 test drive demo.

The spellcheck attribute gives Web developers the flexibility to tailor the experience to the needs of their users.

Spellchecking and Multiple Languages

We know a lot of our customers speak and write in more than one language. It’s important that the spellchecking engine use the right language when you are entering text, and that it is easy to switch between languages when necessary.

In IE10, the selection of the spellchecking language is determined by evaluating the following sources (in priority order):

  • The HTML lang attribute. The Web developer knows the design and intent of the site and can control which parts of the page are associated with which language (in multi-language scenarios).
  • The keyboard input language. Windows 8 makes it easy for users to specify the languages they are interested in and to switch between them on the fly. To switch the language used by the spellchecking engine while entering text, you simply change the input language. With two or more languages configured (or two or more keyboard layouts) simply press the Windows key + spacebar. On the touch keyboard, there is a key to toggle the input language as well.
  • Window’s current display language (the language you are using to run Windows).

Switch between keyboard input languages via Win+Space or by the language key on the touch keyboard
Switch between keyboard input languages via Win+Space or by the language key on the touch keyboard

Spellchecking is an IE10 feature; while it is seamlessly integrated into Windows 8, we want to ensure that all users of IE10 benefit from this feature, including our users of IE10 on Windows 7. I’ll share more about the IE10 on Windows 7 experience in a future post.

Spellchecking in the browser will improve the accuracy and speed at which you input text on the Web. I’ve really enjoyed having it available and I know that the people with whom I correspond online also appreciate it!

—Travis Leithead, Program Manager, Internet Explorer

Comments (45)

  1. Brian LePore says:

    Glad to see this improvement. Very happy.

  2. FremyCompany says:

    I hope setting my language to English doesn't change the keyboard mapping to qwerty as in windows phone 7. It's irritating….

  3. 8675309 says:

    as much as this feature has been needed it seems a little late now since i doubt most people care if their correctly spelling words

  4. FremyCompany says:

    Another qustion: would it be possible to infer the language from the page content (using Bing Translator API or locally, as in Office) if there's no "lang" attribute at all? Most of the time, I use English on English websites, and French otherwhise. But many websites (99.9% of them) lack any "lang" attribute…

  5. Anonymouse says:

    @8675309

    "… i doubt most people care if their correclty spelling words"

    What might be nice if IE10 becomes the first browser with a built in grammar checker.

  6. Bob says:

    Does this mean that the next versions of Office will use the system dictionary instead of rolling their own (i.e. there is only a single place where dictionary/auto-correct settings are stored)?

  7. Rice says:

    +1 For Brazilian Portuguese! Glad to see.

  8. Considering how many times autocorrect mispells a noun that was correctly typed, I'd say that being "the first browser with autocorrect" is not much to be proud of; if you were waiting for that heinous feature to claim one-upping other browsers (such as Firefox which has provided spell checking for years now, but thankfully without autocorrect), then let me tell you, I'm in no hurry to get it!

  9. Jesse says:

    No Finnish spell checking :( There is even Finland's Swedish but no Finnish…

  10. Aethec says:

    +10000 to FremyCompany's suggestion – I do the exact same thing, and switching dictionaries each time you switch tabs is annoying.

  11. JM says:

    No Slovak spellcheck /o why not just implement the spellchecker for all languages supported in MS Office?

  12. Sterling says:

    I just can't believe that it's taken this long for IE to have a spell-checker. Why didn't Microsoft just used the spell-checker in Word? But, I guess it's a good thing IE will finally have a spell-checker.

    Right now I'm using Speckie on IE9. It's great and you don't have to switch languages to use its spell-checker.

    http://www.speckie.com

  13. xpclient says:

    If it's implemented as a Text Service, why doesn't it work in WordPad in Windows 8 Developer Preview?

  14. Quppa says:

    I'm no fan of autocorrect, but spell checking is a welcome addition to the browser and OS.

    In the Windows Developer Preview, IE10 doesn't seem to respect the 'Autocorrect misspelled words' setting (found in the 'General' section of the Metro control panel). Is this a bug, or is there some other way to turn off autocorrect?

    As shown in the screenshots in this post, IE10 draws all scrollbars in the Metro style, even in the desktop environment with the Aero theme. Will this be remedied before release? (And has the owner-draw code been updated? Even IE9 doesn't give any indication that a scrollbar is being hovered over by the mouse.)

  15. game kid says:

    "Spellchecking is an IE10 feature; while it is seamlessly integrated into Windows 8, we want to ensure that all users of IE10 benefit from this feature, including our users of IE10 on Windows 7. I’ll share more about the IE10 on Windows 7 experience in a future post."

    Well, it looks like Windows 7 users will get IE10 after all! …wait, you HAVE confirmed this with your, uh, program manager manager, right Mr. Leithead?  Will 7's adoptees (like me) be lucky enough to use it without having to get 8 (like we have to now, to get the IE10 preview)?  Inquiring filtered-SVG writers' minds want to know, and by "Inquiring filtered-SVG writers' minds" I mean "I". :)

    "(And has the owner-draw code been updated? Even IE9 doesn't give any indication that a scrollbar is being hovered over by the mouse.)"

    I always found that weird, Quppa, especially when basic programs like Notepad get that right.  I know the web browser and the 'pad's text editor are two very different controls but I still want that quirk dealt with.  Maybe do some InvalidateRect wizardry so the lovely scrollbar glow doesn't make the REST of the window redraw?

  16. Dumb Brit says:

    Any chance of native, first-class support for English, rather than the more regular treatment it gets as some sort of embarassing red-headed stepchild. I know there's more people speak Murrcan, but there's still somewhere round 100 million of us who know how to spell colour 😉

  17. BlindUser says:

    I am blind and use a screen reader to read the Web. My screen reader is called Jaws. Like IE 10's spell checker it uses the lang attribute on the current HTML element or on any of its parents in order to switch the text-to-speech language to the correct language. For example, if I am reading a French website, it uses the lang attribute to figure out that it is French and switch to the French synthetic voice. And if I am reading an English website which has some Arabic words or paragraphs intermiggled with English text, it uses the lang attribute to know when to switch to the Arabic voice and when to switch back to the English voice again. By the way, switching text-to-speech voices in Windows 7 (SAPI voices) is tooooooo slow and buggy, so sometimes the screen reader chrashes when reading text which has many language transitions. This is the fault of SAPI which is slow and horrible for so many years. Anyway. Please Please Please listen to the following:

    The lang attribute never ever ever works properly. 99.9% of sites don't use it or use it in wrong places. Even high profile sites. Even international sites of respected organization. These developers think that if it looks OK, then it is OK. On many English pages with some French, the French is not marked as such for example. The result is that I can't understand it as it is read with the English voice. On many French sites, English is not marked as such and it read with the French voice. On many Arabic, Chinese and Greek sites, lang is totally abbsent. The English voice tries to read these languages with "expected" results.

    I am telling you, the lang attribute system is broken broken broken. And for that I suffer every day. I have to manually switch text-to-speech voices. I am frustrated beyond belief!!!

  18. Xero says:

    I agree with @xpclient, the Wordpad and Notepad should be recompiled with spellchecking using windows service also the API for windOS app devs would be wonderful.

    BTW, the spellcheck thread in IE10 has some serious synchronization/timings issues (it doesn't respond to all the keystrokes pronto).

    Otherwise, its all good!

  19. EricLaw says:

    @Xero: The performance tuning of spellchecking, and IE10 as a whole, remains underway. The Developer Preview is merely a preview.

    @gamekid: IE10's supported platforms were announced back in April; the browser will run on Windows 7, Win2k8 R2, and Windows 8.

  20. Eduardo Valencia says:

    Eric

    When are we seeing a new Preview or BETA in Windows 7?

    Thanks

  21. RP says:

    @Dumb Brit,

    If you view the list of supported spell check languages, en-GB is not only included but is the default for "en" where there is no region sub-tag.  (Which makes sense, given that most other world Englishes follow the same or very nearly the same spelling as British.)  But whether Microsoft will finally add an option to get IE to refer to "favourites" and "colour" in its menus, I don't know :).   (Unlike the Office spell check, Windows has never had an en-GB version – see msdn.microsoft.com/…/ee461121 )  Oddly no default is given for Spanish "es" without a region sub-tag.  Also odd that pt-PT and pt-BR are always regarded by Microsoft as separate languages rather than separate versions of the same language, but perhaps there is a good reason for this that the rest of us simply don't know enough Portuguese to appreciate…

  22. Brianary says:

    Pretty cool.

    Anyone on the team allowed to talk about HTML5 inputs? Are those on the roadmap somewhere?

  23. Jack Pulliam 3rd says:

    IE is just now getting a spell checker?  I've been using it in Opera for years.  Congrats on finally getting to 2005.

  24. @Jack Pulliam 3rd says:

    It's not like IE didn't had the spell checker for years, in fact it was present as the extension in the previous versions.

    Also, the built-in spell checker in IE10 has advantages over that of Firefox, Chrome and Opera like duplicate words, autocorrect and whatnot.

  25. af says:

    Are you planning to add more dictionaries? Don't be rude for small countries : )

  26. FremyCompany says:

    Reply to my own comment: You can define a language like English on a French keyboard: it now works (at least in Windows 8). But that doesn't solve that "lang" attribute concern 😉

  27. Denis says:

    Why was the IE blog not the first place that Microsoft announced the overdue death of silverlight?!

    Weve complained for eons about the use of the silverlight player on this blog to show videos vs html5 or at least something all desktop users typically have (flash).

    Developers avoided win phone 7 development due to it and avoided it like the plague on the desktop – even though MSFT kept touting it.

    Announcing it on this blog would have been perfect PR for IEs mission to convince developers that MSFT is actually serious about standards and the future of html5 in IE.

    Once again MSFT fails to inform developers about IE in the channel they created.

    Denis

    Ps this comment form is STILL broken!!!! Way to fail hard MS

  28. tom says:

    The backspace and delete keys should not be used for back/forward page navigation since many it's common for a web page to change focus from an edit field to some other control on the page while you are typing in the edit field.

  29. tom says:

    IE 8 fails to respond when you try to post a comment here.  FF8 works ok.

  30. charlesfaria says:

    Great work in IE10!

    Brazilian Portuguese rules!

  31. UserKanguru says:

    Anyone has think to do IE10 to windows 7 ??

  32. John Kwame Appiagyei says:

    I am glad to see such wonderful improvement.

  33. ie says:

    ie9 is good but Tab Browsing kings is firefox.

  34. Mario says:

    IE can you answer my question that is will IE10 be for windows 7 also?  also with auto-correct in the browser please add a way to turn it off please…   please answer/respond to this question.

  35. johnnyq3 says:

    @mario

    quoted from Eric Law

    "EricLaw [MSFT]9 Nov 2011 5:58 AM

    @Xero: The performance tuning of spellchecking, and IE10 as a whole, remains underway. The Developer Preview is merely a preview.

    @gamekid: IE10's supported platforms were announced back in April; the browser will run on Windows 7, Win2k8 R2, and Windows 8."

  36. pmbAustin says:

    In addition to Ctrl-Z to undo the auto-correct, it's imperative (due to muscle-memory) that you allow back-space to undo an auto-correct… just like in MS Word.

  37. FremyCompany says:

    @pmbAustin:yeah nice idea. I'm gonna check it works like that.

  38. Mike Cummins says:

    I have a couple of suggestions. Previously I noted RE: IE8 how with the 64-bit version, it still calls the 32 bit versions of msfeedssync and ielowutil – both exe files. I have found both of these files lingering AFTER IE8 <u>and</u> IE9 are exited by <i>any method</i>. Would you be so kind as to please:

    (A)

    1. make these DLL files which are automatically unloaded <i>forcibly if necessary</i> when the browser closes; or,

    2. make this something that is run by the task scheduler and again, is unloaded, <i>forcibly if necessary</i>?

    (B)

    Bring back the option to show <i>at all times</i> the status bar, and while you are at it, do some type of double verification of Protected Mode?

    My vehement distain for IE lies in these issues. If they are not fixed, I will leave IE as my default browser in highest security mode and keep using <i>any other browser for day to day web browsing</i>

    Thank you.

  39. Mike Cummins says:

    Apologies, I forgot to add –

    (C)

    Why are those two applications (msfeedssync and ielowutil exe files) not digitally signed?

    They should be …

  40. fred says:

    where is the official press release on Silverlight end-of-life?  I can't tell my clients to stop making foolish requests for it until I can point to the official PR that indicates it has been deprecated.

    as for the spell checking, please ensure that it can be turned off by field.. there is nothing more annoying on a mobile device trying to type your email and your phone tries to correct the spelling.

    it won't matter much for mobile since Microsoft lost that race over 5 years ago but for the desktop it is just as important.

    and for god's sake fix this blogs commenting system!!!! how many years does it take to replace the action with formObject.submit();??????!!!!!!!

  41. eduardo V says:

    Too long developing time!

    Why it takes so long? People ned a third beta at least!

  42. Does anyone know whether IE10 is for Win7 ?

  43. Klimax says:

    It is. (Some time ago it was confirmed.)

  44. pmbAustin says:

    Off topic, but is the IE team going to implement a feature for rapidly getting to the top or bottom of the page?  Similar to Mobile Safari's "touch the status bar to scroll to top", but better and allowing fast scroll to bottom a well?  This would be incredibly useful.  I even want it on the desktop version, with the mouse/keyboard.