Jaa


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

  • Anonymous
    November 08, 2011
    Glad to see this improvement. Very happy.

  • Anonymous
    November 08, 2011
    Good work! Keep adding features to IE10 social.msdn.microsoft.com/.../463dbc6d-8bc5-4aca-9b70-b8084ed268cf

  • Anonymous
    November 08, 2011
    I hope setting my language to English doesn't change the keyboard mapping to qwerty as in windows phone 7. It's irritating....

  • Anonymous
    November 08, 2011
    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

  • Anonymous
    November 08, 2011
    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...

  • Anonymous
    November 08, 2011
    @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.

  • Anonymous
    November 08, 2011
    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)?

  • Anonymous
    November 08, 2011
    The comment has been removed

  • Anonymous
    November 08, 2011
    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!

  • Anonymous
    November 08, 2011
    No Finnish spell checking :( There is even Finland's Swedish but no Finnish...

  • Anonymous
    November 08, 2011
    +10000 to FremyCompany's suggestion - I do the exact same thing, and switching dictionaries each time you switch tabs is annoying.

  • Anonymous
    November 08, 2011
    No Slovak spellcheck /o why not just implement the spellchecker for all languages supported in MS Office?

  • Anonymous
    November 08, 2011
    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. www.speckie.com

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

  • Anonymous
    November 08, 2011
    The comment has been removed

  • Anonymous
    November 08, 2011
    "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?

  • Anonymous
    November 08, 2011
    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 ;-)

  • Anonymous
    November 08, 2011
    The comment has been removed

  • Anonymous
    November 08, 2011
    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!

  • Anonymous
    November 08, 2011
    @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.

  • Anonymous
    November 08, 2011
    Eric When are we seeing a new Preview or BETA in Windows 7? Thanks

  • Anonymous
    November 09, 2011
    The comment has been removed

  • Anonymous
    November 09, 2011
    Pretty cool. Anyone on the team allowed to talk about HTML5 inputs? Are those on the roadmap somewhere?

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

  • Anonymous
    November 09, 2011
    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.

  • Anonymous
    November 09, 2011
    The comment has been removed

  • Anonymous
    November 10, 2011
    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 ;-)

  • Anonymous
    November 10, 2011
    The comment has been removed

  • Anonymous
    November 11, 2011
    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.

  • Anonymous
    November 11, 2011
    IE 8 fails to respond when you try to post a comment here.  FF8 works ok.

  • Anonymous
    November 11, 2011
    The comment has been removed

  • Anonymous
    November 12, 2011
    Anyone has think to do IE10 to windows 7 ??

  • Anonymous
    November 12, 2011
    I am glad to see such wonderful improvement.

  • Anonymous
    November 13, 2011
    ie9 is good but Tab Browsing kings is firefox.

  • Anonymous
    November 13, 2011
    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.

  • Anonymous
    November 14, 2011
    @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."

  • Anonymous
    November 14, 2011
    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.

  • Anonymous
    November 14, 2011
    @pmbAustin:yeah nice idea. I'm gonna check it works like that.

  • Anonymous
    November 17, 2011
    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.
  • Anonymous
    November 17, 2011
    Apologies, I forgot to add - (C) Why are those two applications (msfeedssync and ielowutil exe files) not digitally signed? They should be ...

  • Anonymous
    November 19, 2011
    The comment has been removed

  • Anonymous
    November 20, 2011
    The comment has been removed

  • Anonymous
    November 21, 2011
    Does anyone know whether IE10 is for Win7 ?

  • Anonymous
    November 21, 2011
    It is. (Some time ago it was confirmed.)

  • Anonymous
    November 21, 2011
    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.