Treehouse

Disable Autocomplete, Autocapitalize, and Autocorrect

By on  

Mobile and desktop browser vendors do their best to help us not look like idiots by providing us autocomplete, autocorrect, and autocapitalize features.  Unfortunately these features can sometimes get in the way;  we don't always want or need the help they provide.  Luckily most browsers allow the developer to remove these features in the cases they aren't desired!

The HTML

Disabling these three native mobile features is as easy as a few simple HTML attributes:

<input autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />

<textarea autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>

Any or all of the autocorrect, autocomplete, and autocapitalize attributes can be used on a given element to prevent the given corrective feature.

While I love these features, they aren't always applicable and when they aren't, users get frustrated.  Keep these attributes in mind when using forms on your desktop or mobile site!

ydkjs-3.png

Recent Features

  • Convert XML to JSON with&nbsp;JavaScript

    If you follow me on Twitter, you know that I've been working on a super top secret mobile application using Appcelerator Titanium.  The experience has been great:  using JavaScript to create easy to write, easy to test, native...

  • CSS&nbsp;@supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each...

  • CSS&nbsp;Filters

    CSS filter support recently landed within WebKit nightlies. CSS filters provide a method for modifying the rendering of a basic DOM element, image, or video. CSS filters allow for blurring, warping, and modifying the color...

Incredible Demos

  • Smooth Scrolling with MooTools&nbsp;Fx.SmoothScroll

    I get quite a few support requests for my previous MooTools SmoothScroll article and the issue usually boils down to the fact that SmoothScroll has become Fx.SmoothScroll. Here's a simple usage of Fx.SmoothScroll. View Demo The HTML <a...

  • Flashy FAQs Using MooTools&nbsp;Sliders

    I often qualify a great website by one that pay attention to detail and makes all of the "little things" seem as though much time was spent on them. Let's face it -- FAQs are as boring as they...

  • Build a Calendar Using PHP, XHTML, and&nbsp;CSS

    One of the website features my customers love to provider their web users is an online dynamic calendar. An online calendar can be used for events, upcoming product specials, memos, and anything else you can think of....

Discussion

  1. would you like to give me an example when they are not desired?

  2. Good blog post David. Useful to add autocorrect=”off” and spellcheck=”false” to input fields for things like product keys, post codes and things like that.

  3. Inputting code is another example. You don’t want things like ‘href’ or ‘var’ being marked as spelling errors.

    • And David, a tip, your reply button is a bit too well hidden. I only discovered where it was (under the profile picture) after I’d already posted my comment.

  4. Disabling auto complete is something I’ll do for credit card info, etc.
    For names and such, disabling auto correction is something you might want to do.
    The only reason I see to disable auto capitalize anywhere at all is when you have a case sensitive input field. This will, in most cases at least, have to be case transformed on the backend anyways, to take care of weird user input. I can only see that disturb a user where the input can be both lower and upper cased and should not be altered by the application in any way, shape or form. This boils down to stuff like product keys, as Christian pointed out.

    Not to be negative or anything, but Chris would’ve made a list with do’s and don’ts for each feature, I guess. Chris being Chris Coyier ;-)

  5. How about W3c validator giving errors?

  6. Instead of the W3C validator, use something like CSE HTML Validator which is more practical. There’s an online version of it too.

  7. Thanks! Unfortunately, this doesn’t work for HTC Sensation running Android 4.0.3.

  8. me

    You guys wouldn’t happen to know how to clear auto completed / keypad memory on my Micromax canvas 2 phone, short of resetting it would you?

  9. William

    I’ll give you an example.
    Im a web developer for a language services training company, and our testing services evaluate peoples ability to translate/interpret text from one language to another….
    Some people cheat by using these features, and basically let the browser take the test for them lol.

    • Jen

      I’m told that this works for most, but not for Android. Can you (or others) share what you’ve done to combat this? We have similar testing services, although not for translation.

  10. Ed

    You may also not want confidential information sent to Google for spell-checking.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!

Use Code Editor