Media Temple Hosting

HTML5 Support in Internet Explorer 9

on | 47 Comments

Last week I posted a chart that listed support for CSS3 features in IE9. This post will consider the extent of IE9 support for HTML5 and related technologies.

The chart is divided into two sections. The first covers the new HTML5 markup elements, and the second covers the APIs and other stuff. My personal assessment is that IE9 is doing much better with CSS3 support than it is in HTML5, so don’t expect to be happy with the overall results shown in these charts. And as one commenter on the previous post pointed out, IE9 is still in Beta, so no need to get too distressed about anything not supported.

As usual, let me know in the comments if any of this is incorrect or if anything’s missing. The info for the charts was compiled from this page on MSDN, the super-useful When Can I Use… app, and this layout engine comparison of HTML5 features on Wikipedia.

HTML5 Elements…

Element IE9 Support Previous IE Support
<section> Yes None
<nav> Yes None
<article> Yes None
<aside> Yes None
<header> Yes None
<hgroup> Yes None
<footer> Yes None
<time> No
<mark> Yes None
<ruby> Yes 6-8
<figure> Yes None
<figcaption> Yes None
<embed> No
<video> Yes None
<audio> Yes None
<source> Yes None
<canvas> Yes None
<details> No
<summary> No
<command> No
<menu> No
New Form Elements/Attributes* No
Element IE9 Support Previous IE Support

* Evidently, the only new form enhancement supported by IE9 Beta is the autocomplete attribute, supported since IE7.

UPDATE: Thanks to comments from Richard Kimber and John, I’ve updated the chart to include a yellow checkmark for the semantic elements that are normally hacked into recognition using the HTML5 Shiv script. As they mentioned, generic elements are now supported in IE9, so you can safely style the new semantic elements. Does this mean that strictly speaking, the elements are supported? According to the layout engine comparison mentioned earlier, Trident 5.0 (the engine that runs IE9) does not support those elements. So, I’m not really sure what to think. But I guess the good news is, the elements are styleable, which is really all we’re looking for, along with DOM recognition (which I assume is also working as expected).
UPDATE (Oct. 30/2010): According to the release notes for the Platform Preview for IE9, Platform Preview 6 has added default styling for many of the new HTML5 semantic elements. This has not yet been added to IE9 Beta, so I’ll leave the checkmarks yellow for now, but it is a good sign, and likely means that IE9 will have full support for those elements.
UPDATE (March 15/2011): IE9 is now officially released, and the IE9 Developer Guide now has some updates, which I’ve included in this chart, so some of the notes above no longer apply.

…and Related Technologies

Below is a list of technologies, APIs and other goodies that may or may not be part of the HTML5 spec, but have been placed under the HTML5 umbrella as “related technologies”. The list doesn’t include every new technology or enhancement, because some of it is still fairly obscure. Everything that IE9 supports is, to the best of my knowledge, listed here. The rest of unsupported technologies are summarized in the final entry in the table.

Technology IE9 Support Previous IE Support
MathML No None
Inline SVG Yes None
contenteditable Yes 5.5-8
Data URIs Yes 8
Cross-Document Messaging Yes 8
application/xhtml+xml Yes None
Selectors API Yes 8
getElementsByClassName Yes None
application/xhtml+xml Yes None
SVG Yes None
Canvas APIs Yes None
SVG in CSS Backgrounds Yes None
Web Storage Yes 8
WAI-ARIA Yes 8
Offline Web Apps No
Drag and Drop Partial 5-8
Web Workers No
Web Sockets No
Ajax History Traversal Yes 8
Text Selection API Yes None
pushState() / replaceState() No
Geolocation API Yes None
A Bunch of other stuff… No
Technology IE9 Support Previous IE Support
Update (March 15/2011): IE9 now includes support for the Geolocation API.

47 Responses

  1. Rob:

    The purpose of a ‘beta’ is to test features not add new ones with each increment. Though this may happen when problems in the beta are fixed, it should not be expected that new features will be added. It’s a serious concern if something is not in the beta.

  2. Honestly this is a bit pathetic. It’s been what 2 or 3 years since IE8? In that time Chrome has come out and updated major milestones 6 times adding features and support for a huge breadth of standards as well as greatly increasing script performance. In that time the IE team was able to copy the Chrome look, partially support CSS3 and what…. that’s it?

    Someone over at M$ needs to pull their head out their bum and see what’s going on. Total lack of market perspective right here is what I’m chalking this down to. If this were not M$ and IE then IE9 would be a total failure as it doesn’t even reach feature parity with it’s competitors.

    • Actually, I’m amazed that it’s progressed as much as it has.

      Let me be clear; I’m not in any way praising IE; the industry as a whole needs to bury it — decisively, irretrievably and imminently. We as development professionals need to have the professional self-respect to tell current and potential clients, “We develop to current Web standards that are supported across various browsers and platforms. To the degree that any particular release of Microsoft Internet Exploder supports the markup, styling and behaviour of any particular site, that’s well and good. However, without monumental additional time and budget resources, no attempt will be made to provide IE support when those resources could instead be used to improve the experience for users of modern browsers.”

      I firmly believe that IE hasn’t progressed as far as, say, Chromium, can be laid firmly at the feet of Microsoft’s existing code base. They’re fully experienced with the reality that complete green-field rewrites of existing projects almost never succeed. They’ve got a code base where the list of major Windows modules and subsystems that do not have dependency relationships with IE could be read aloud comfortably in a single breath. That was done initially by design; now, it doesn’t matter how altruistic the intentions of the team are, they have to live with the codebase they have. It’s all legacy code. The developers at Microsoft are (with rare exception) not morons, but living in the sewer while they’re trying to make something that can stand next to the shiny new browsers next door has to be a psychologically toxic exercise. Their baby is blowing up the Web left and right; they know it, and they know they can’t do a damned thing about it without staging a coup d’état, replacing dozens of levels of management and senior executives and fundamentally changing the culture of the organisation. Don’t hold your breath waiting for that to happen.

      That isn’t sour grapes or a diss against the IE developers; it’s simple reality. Microsoft do some amazing things — just not so much for (or on) Windows. Unfortunately for all of us, Windows and Office for Windows are the herds of cash cows for Microsoft, and anything that could be seen as even potentially disrupting that would get shot down faster than you can say S-E-C; the investors would never stand for it. And, with the system the way it is, they’d be perfectly right to. Innovation isn’t as important to the bean-counters as “maintaining and enhancing shareholder value,” and MSFT have had enough problems with that lately. Doing anything “risky” is simply politically (and legally, really) impossible.

      So, no matter how many times the IE team jump up and down and say “look at all our neat new features,” without mentioning the standard features left unimplemented because they pulled off numerous miracles just making what they have work, the response has to be “nothing to see here, folks; move along.” And move along we shall.

      • Steven:

        “We develop to current Web standards that are supported across various browsers and platforms … no attempt will be made to provide IE support”

        To say that in the context of web accessibility standards however, would be like saying wheelchair access should not be supported, because there are advancements in artificial limbs or that old people should just get with the times so that we can ditch cheques and analogue television altogether.

        The reasons for encouraging web standardst are justifiable, but to ignore a large portion of users would be to entirely miss the point of one f the core directives for there very existance. That is why HTML5 is backwards compatible and why browsers themselves support deprecated tags.

        • Jason:

          Finally, at IT person showing wisdom and maturity and refraining from the silly esoteric postulating soapboxes that many live upon. Get a life you elitest wannabes.

    • IE is built on the Trident rendering engine, where Chrome is on WebKit. From what I’ve seen, Trident is much more complex and harder to upgrade. Short of dumping it and moving over to WebKit, I think they’re doing a pretty good job of bringing the system up to date in small increments. The main problem isn’t the support level of the current browser (IE9), its the legacy systems still out there and how upgrades happened way back in the day.

  3. Nico Burns:

    I would agree that HTML5 support is not as good as its css3, but it is still amazing considering. Also, IE9 *does* support <section>, <nav>, etc semantic tags

    • Really? Could someone explain to me why there is some confusion on this? To me, support of these tags is 2nd in importance only to the increase in CSS3 support.

      • My understanding is this. While IE9 doesn’t specifically support some of the elements that hold purely semantic value, the browser does support the notion of anonymous elements. Which basically means, where IE8 would ignore a tag it didn’t recognise, IE9 will assume the developer knows best and will render a standard HTML Element. This would make the HTML5 Elements table pointless for semantic elements, as they are all supported under this banner.

        Only elements that provide function or require special rendering need a specific implementation. A very good way of doing it in my view.

        Rich

        • As John rightly points out, they’re generic elements, not anonymous elements.

          Rich

        • Richard, this is a good point. Although, as you mention, IE9 doesn’t specifically offer support for the semantic elements, I’m going to update the chart to indicate partial support.

          Interestingly, this page, which has a layout engine support chart, indicates “no” support for the semantic elements in Trident 5.0 (which is the engine IE9 uses); whereas the When can I use… app lists the semantic elements as supported by IE9 (which I didn’t realize until now — although that’s specifically talking about the ability to “style” the elements).

  4. For those who might be interested here is a link to the MSDN HTML and CSS library. http://msdn.microsoft.com/en-us/library/aa737439.aspx

    Cheers
    Rick
    IE Outreach Team

    • Hey, Rick. Thanks for posting here. Please feel free to correct anything that I’ve noted here in the charts, if necessary. Thank you.

      • Thank you Louis,
        I appreciate the welcome, I work with the IE team to reach out to community and help connect folks to resources and information. I don’t always have the answers but I try my best to find a resource that might. Nice job on the correction to the charts in your follow up post. And yes IE9 is still in beta, but the IE team is taking user feedback & suggestions and that is helping to ensure the final release will be strong. Please let me know if there is anything I can do to help, and let people know that they can visit the Internet Explorer Developer Center on MSDN for advanced troubleshooting and guidance for Developers. http://msdn.microsoft.com/en-us/ie/default.aspx
        Cheers,
        Rick
        IE Outreach Team

  5. that’s a really good news who are working on internet Explorer 9

  6. I took a look at IE9 at the very first beta release and tried to contrast with latest web browsers. It didn’t quite come out competitive. Tried to put that in my blog here http://www.mahbubblog.com/browser/internet-explorer-9-review/

  7. I hope the future will be more complete…

  8. Although I personally think…sorry, believe that IE should not exist at all, this is quite useful. I’ll pass it along to our programmers.

  9. @ CodeMyConcept : totally agree with you. IE should not exist at all. It’s time to stop

  10. good god thats a very good news.. being a blogger designer its really been a hard time with internt explorer… thanks for the info

  11. Glow:

    I think it’s a Dying Struggle for IE, What’s a pitty that there is a high rate people use IE6.

  12. Hey am I missing something here??

    IE9 introduces canvas, video and audio. That’s pretty good!
    You should be able to use the other tags listed here anyway in a similar way a lot of people is already working with HTML5: using simple workarounds to make the tags work well in IE too.

    Am I wrong???

    • And also.. I’m quite confident the microsoft team will introduce basic support for those tags, at least allowing the parser to recognize and style them.

      I always hated IE but this time there’s hope a decent browser will finally come out from Microsoft.

      • At the time of release, I think IE7/8 are the only disappointing releases to come out of Microsoft. Previous versions of IE have been responsible for a lot of the innovations we take for granted today. Ajax and dHTML to name but two.

        I personally prefer WebKit, but credit where credit is due.

        Rich

    • Yes, of course — you can use the HTML5 shiv, but that is a nonstandard way to offer support, and essentially amounts to a hack. So technically, IE does not support those tags in any version.

  13. Wow! This is really dissapointing! A real shame.

  14. IE pace of development is not as impressive as Chrome. Chrome is the next big thing to watch for in the advent of the new web technologies.

  15. I may understand that this piece of croppy software called IE9 is still in beta but c’mon guys… new tags like <header> or <nav> not supported yet? They should have come first!
    Browsers like chrome/safari/camino/opera really make IE a dino!

  16. Enough Already:

    IE9. Too little, too late. :-(

  17. John:

    Maybe this was mentioned already, but to my understanding tags like <article> and <section> are exactly the same as <div class=”article”> or <div class=”section”> only with more semantic value placed on them. If this is the case then IE9 DOES in fact support them as generic elements. http://msdn.microsoft.com/en-us/ie/ff468705.aspx Or am I wrong?

  18. Anthony Alexander:

    I like IE10 better. It has built in support for electrolytes.

    • Joakim Hellström:

      I like Windows 9 better, and IE11 but none of them are availible yet… neither does IE10

  19. I do not understand it. Too many people working on it, too much time to work on it, and still no support for future key things like geo or web sockets :( The only thing I am interested in future releases is speed of this browsers.

  20. From http://msdn.microsoft.com/en-us/ie/ff468705.aspx
    About HTML5

    Note It is important to remember that, as of this writing, the HTML5 specification is still in the Working Draft stage. Until it reaches the Candidate Recommendation stage, it could change significantly. For more information, see the latest HTML5 working draft.
    ————
    1. Read the note.
    2. Yeah, trident and a relevant integration with windows dificults the IE update =)
    3. IE9 is beta :)

    Now I won’t be precipitate to talk about IE9 HTML5 supports :D And I’m not a blind-geek-nerd to “love” some browser. :)
    I just will be wait and I would like that IE9 supports everything like others soon =)

    By the way, FIREBUG ROCKS!!!!!!!!!! LOL!!!!!!!!!!!!!!!!!!!

  21. iGEL:

    What about html5 attributes like the new input types? Is multiple file upload supported?

  22. There are so many new elements and tags in HTML5, I think I need to learn HTML again.

  23. Susan:

    why whats wrong with ie 6

    most people us e ie

    • PatriotBob:

      Seriously?
      IE has made web development a pain since IE 5.5. The whole reason we have web standards is to allow developers to write once and have a uniform experience across all browsers. IE hasn’t conformed to standard in practically the last decade. And this results in javascript hacks, css tweaks and what amounts to writing the front end of a web application twice because IE can’t be bothered to do it’s job.

      The entire point of a web browser it to display web pages. If those pages are written according to standards that your program doesn’t support. You sir, are doing it wrong.

  24. kuldeep:

    plz check this one and your problem is clear to all html5 tag in ie8

  25. Hello..
    for banner which tag I have to use…? in logo part I have already use header tag

    Thank you

  26. I’m learning about it. Fortunately when you share me. Thank you. Not that it is good to use as IE 5.5 does not.

  27. I9 New test hope it was good quality.

Leave a Reply

Comment Rules: Please use a real name or alias. Keywords are not allowed in the "name" field. If you use keywords, your comment will be deleted, or your name will be replaced with the alias from your email address. No foul language, please. Thank you for cooperating.

Instructions for code snippets: Wrap inline code in <code> tags; wrap blocks of code in <pre> and <code> tags. When you want your HTML to display on the page in a code snippet inside of <code> tags, make sure you use &lt; and &gt; instead of < and >, otherwise your code will be eaten by pink unicorns.