The Default Layout Mode

During my talk at MIX 08, I covered more background and detail behind the new IE8 layout mode that provides greater standards support, particularly with regards to CSS 2.1, and version targeting. I’d like to follow-up that talk with a brief post on both points for those that were unable to attend in person.

Clearly there is a lot of momentum behind pushing the web forward (as evidenced, in part, by the lively dialog on this and other blog sites around the web). To this end, we’ve invested in the functionality demanded most by developers and designers – better standards support and cross-browser compatibility. You saw a peak into our progress with the Acid2 announcement a few weeks back. You can see more in the released developer build, which includes support for several CSS 2.1 features not found in previous Internet Explorer releases including the ‘inline-table’ value for the ‘display’ property and basic  generated content support (more to follow).

As you may have heard by now, Internet Explorer 8 will ship with three layout modes – Quirks, IE7 Standards, and IE8 Standards. The saying goes: “put your best face forward” and, true to this, Internet Explorer 8 will use its most standards compliant mode, IE8 Standards, as the default when encountering standards content. The behavior looks as follows:

Page Content Declaration

Layout Mode

Known standards DOCTYPEs and unknown DOCTYPEs IE8 Standards
Quirks mode DOCTYPEs (includes the absence of a DOCTYPE) Quirks

Note: A brief discussion on DOCTYPEs can be found on MSDN.

By displaying standards mode pages with our most rigid interpretation, we get closer to that utopia where content may be written once and expected to work in a similar manner across browser types. Keep in mind, however, that progress is often the result of trade-offs. On the one hand, we certainly want to invest in new features, those innovations that entice our existing customers to move to the newest release (and hopefully win us new customers as well). This force is a “push” – we want to move our product, and the community that uses it, forward. On the other hand, we want to ensure that we don’t senselessly break an ecosystem that has come to rely on the behaviors included in our previous releases. This force is a “pull” – causing us to do constrained innovation that specifically takes into account  backwards compatibility. 

The <META> tag attempts to solve this latter point by providing content developers a way in which to signal the desired layout mode regardless of DOCTYPE. This can be particularly useful as a “stop-gap” measure to provide the time required to build and test the latest standards compliant content.


Scenario: A website contains a standards mode DOCTYPE declaration but is actually giving versions of Internet Explorer, including Internet Explorer 8, non-standard content according to the “current” form of the standard.

Result: Internet Explorer 8 attempts to display the content using IE8 mode, the most standards compliant layout mode, because of the DOCTYPE declaration. The site fails to display correctly and updates to the site are needed.


  1. Immediately update site content to ensure that Internet Explorer 8 is provided with standards content fitting the DOCTYPE (preferred).
  2. Defer the site update until the next scheduled maintenance window / period
      • Use the <META> opt-out to signal that Internet Explorer 8 should continue to display the document in a manner similar to Internet Explorer 7, e.g. ‘<META http-equiv=”X-UA-Compatible” content=”IE=7″>. This can be done globally via a host-header or as a per-document edit. This action allows the site to still be usable by Internet Explorer 8 clients.
      • Create site content ensuring that Internet Explorer 8 is provided with standards content fitting the DOCTYPE.
      • Publish the new, standards-compliant content and remove the <META> opt-out.

Note: The <META> tag declaration always overrides DOCTYPE. A deeper discussion can be found in the developer whitepaper.

Another interesting point about the <META> tag is that it more precisely marks the content of a page than the larger bucket labels: “Standards” and “Quirks”. Regardless of whether a browser chooses to use that information today, it does seem like an interesting data point to have in the future…

Scott Dickens
Lead Program Manager

Edit: replaced “pretty print” quotes with regular quotes in META tag info

Comments (47)

  1. I don’t think introducing measures to make broken and non-standards compliant websites is the right direction.

    IE8 should be standards compliant and force developers that aren’t developing standards compliant websites to fix their own messes.

    We have all waited 7 years for Microsoft to develop a standards compliant browser to ease up the stress on developers everywhere. I think it is about time (also, discontinue support of IE6 so I can tell my clients that MS doesn’t support it, thanks!).

  2. RD says:

    Is there a way to see what mode IE8 is currently rendering with? If, I understand your post, if a doctype is not declared IE8 will use IE7 rendering? What if the page is declared as "Almost Standards" with a doctype of:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""&gt;

  3. EricLaw [MSFT] says:

    @RD: Check out the "ShowDocMode" Bookmarklet here:

  4. RD: Transitional doc types will render in the IE8 stds engine.

    A super easy way to see what mode IE is rendering at is to set up a favelet with javascript:alert(document.documentMode). When you click it, you’ll get a 5, 7, or 8 back. 5==quirks, 7==IE7 stds mode, and 8==IE8 stds mode. I use it all the time!

  5. Garry Trinder says:

    "closer to that utopia". . .

    You know it bro! Ooh Rah!

  6. You’ve been kicked (a good thing) – Trackback from

  7. Ron says:

    @Eric: what’s with the HTML tag coming before the Doctype on

    Thanks for the favouritelet.

  8. EricLaw [MSFT] says:

    @Ron: Just checking to see who’s paying attention.

  9. FarStrider says:

    about the IE VPC Images it says theres a:

    IE6 XP

    IE7 XP

    IE8 ?

    IE7 vis1.exe

    IE7 vis2.rar

    IE7 vis3.rar

    whats the ie8 one on & what are the vis 1-3 images & why are 2 of them in rar compressed?

  10. rd says:

    Thanks for the answers! I’ll give that a try.

  11. Gyrobo says:

    I don’t know exactly where to direct my complaints, as this blog has been mysteriously inundated by posts, so I’ll just say it:

    I have a problem with the way IE8 handles data URIs.

    The fact that you cannot use data URIs to create Javascript-laden web pages on the fly limits their usefulness, and the 32 kilobyte limit is completely arbitrary. No other browser vendor has data URIs implemented this way.

    Could someone explain to me how the 32 kilobyte limit was decided upon, and why data URIs couldn’t be run in the same zone as Javascript URIs?

  12. Mark Byers says:

    When opening a new Window in IE8 from an existing Window, the session is lost!  Which makes it unusable for any web application.  I can not find anywhere to configure this.  Help!

  13. Jon Tan says:

    Scott, I think this is exactly the right approach to support the arguments of developers fighting for standards compliance in legacy applications.

    <a href="">Dustin</a&gt;, when you have a commitment, like the IE team does, to ten years of backwards compatibility your answers have to be more erudite than "force developers that aren’t developing standards compliant websites to fix their own messes". Replace "force" with "encourage" and it seems to me that’s exactly what the IE team are doing, without being so aggressive. Everyone wants a standards compliant world and I’ve seen more progress towards that in the last 18 months than in the previous 7 years. A radical idea might be to offer positive alternative solutions rather than ranting, if you have any.

  14. Le blog de MSDN, dans un billet intitul� "The Default Layout Mode", r�sume les diff�rents modes d’affichage disponibles sous la version 8 d’Internet Explorer.

  15. Rowan says:

    EditPlus is a Windows text editor that I use for web development, it has a simple preview mode that uses IE to render a web page within the EditPlus window.

    However even with IE8 installed EditPlus seems to use IE7’s rendering engine, is this a bug with IE or EditPlus? Do other programs, such as Firefox’s "IE Tab" behave the same way?

    Imagine the confusion this could cause some people!

  16. Rowan says:

    Since I can’t post on the connect site (and the discussion group is lame) I’m posting this bug report here.

    I’ve created a test case that explains this bug fully, please click the following link to view the report.

    Images unexpectedly lose size constraint

  17. ccatto says:

    Hey Now Scott,

    Long live the <META> tag! Everyone should be experiencing web slices in IE8

    Thx 4 the info,


  18. Brian LePore says:

    How do the differing rendering modes affect conditional comments? Does a page set to use the IE7 standards mode evaluate comments marked for IE7, or do they get rules for IE8?

    I know it’d be asking for a lot, but if you could modify the rendering mode without a restart and add in the IE6 standards mode it’d be great. I’d love to be able to test IE6 without a VM.

  19. Aaron says:

    Just want to say thanks to the IE team again. I’m quite excited about the progress made. Now if we can just get the event model updated…

  20. Hi, Scott Dickens,

    re: IE8 – Beta1

    I’m an IT Pro – not a Developer.

    1. It’s hard to report bugs. No Link on the

    IE8 – Beta1 Welcome page.

    2. Installing over Vista Business Desktop, distorted all the widgets on the right panel, : Clock, Stocks, Currency ..

    3. – lower left, bottom of a table got scrunched together. IE7 Revert Button, fixed this.


  21. Mike Dimmick says:

    Dustin, you’re missing the problem with HTML pages being written to read-only media such as CD-ROMs, as release notes or as static help pages, including HTML Help. Even writeable help pages as part of a larger installation of software are affected until the supplier can issue a patch. This is the web-without-the-web, and the deployment story is not as simple as ‘fix your broken pages one time on your web server’. IE, and IE’s rendering engine in the form of the Web Browser control, have to cope with these pages as well as the classic HTML-over-HTTP(S) scenario.

    That’s why I preferred the original solution, of stating which version you had actually tested with. Given the new, IE8-default mode, it might make more sense to deploy quirks-mode pages in these scenarios, if that will be more stable.

    I’m not sure I agree with HTML documentation for software, but that’s the route we’ve gone down and we have to make it work.

  22. Mephiles says:

    What HTML5 tags and attributes do you support? I’d like to use them on my website ^_^

  23. Stifu says:

    @Mike Dimmick:

    By putting invalid HTML pages on a CD-ROM, you’re asking for troubles. Those who did so should face that. Browsers evolve, data on read-only mediums doesn’t. Besides, properly-written HTML pages put on CD-ROMs will still work. If you do things the nasty way, you end up paying the price for it sooner or later. It’s only fair.

    Browser vendors should focus on the web, and pages copied on read-only mediums are a tiny minority that isn’t part of the web. I really don’t think the whole web should be held back just because of something that meaningless.

  24. Well, site’s with java don’t work example… Live Maps.. or the sucks.. Google Maps… site open all bugged. and blogger too.. dont open correct… but using the IE7 Emulate.. all works

  25. Han says:

    @Mike Dimmick,

    The good news is that if you put web content on a CD (readonly material), chances are that the end user if they look at it years from now, will be using Firefox, Opera or another advanced browser that will render the content fine.

    If you coded it against standards, or in an IE-only proprietary HTML format, then you messed up, and now your end users suffer.  The only way to code, is for standards, if you don’t, you are asking for serious trouble.

  26. Phil says:


    This is all fine and good, but it isn’t the person that "did things the nasty way" that pays the price.  It’s the end-user stuck trying to read broken documentation.

  27. Farstrider says:

    about the IE VPC Images it says theres a:

    IE6 XP

    IE7 XP

    IE8 ?

    IE7 vis1.exe

    IE7 vis2.rar

    IE7 vis3.rar

    whats the ie8 one on & what are the vis 1-3 images & why are 2 of them in rar compressed?

  28. Jeremy says:

    Puh-leeeze.  Why do you make comments like this?  We are the ones who have been writing those blogs for years  Just say what you have to say without the holy preamble that might have been interesting five years ago.

    "Clearly there is a lot of momentum behind pushing the web forward (as evidenced, in part, by the lively dialog on this and other blog sites around the web)."

  29. Tino Zijdel says:

    So basically a page without doctype but with some meta-tag can still trigger standards-mode in IE? Thats… odd

  30. PatriotB says:

    @Tino — then don’t put the meta tag in your quirks-mode page.  No one’s forcing you to.

    @Stifu — it’s not just about people who wrote "invalid" HTML or CSS.  What about the parts of HTML/CSS that are left undefined?  If IEn implements these things one way, and then a future spec comes a long and defines these undefined things to be different than the way IEn implemented them, then IEn+1 could break these pages.

  31. Stifu says:

    @Phil: yes, but the end user won’t be happy with the documentation made by company X, hence s/he’ll blame the problem on them (or on the browser, but I think that’s less likely).

    @PatriotB: on the other hand, some badly-coded pages may still be fine. Dirty table-based pages also have high chances to render properly.

    It’ll only be broken if the pages use a doctype, and rely on IE CSS bugs (like related to float, margins and the likes). And even then, even if there are rendering problems, the whole documentation may still be quite usable, just not as pretty as it could be.

    Taking that in consideration, the number of read-only pages that’ll be totally screwed in IE8 will probably be very low…

  32. Tino Zijdel says:

    @PatriotB: I can think of situations where that is not completely in your own control (e.g. a server that emits X-UA-Compatible as an HTTP header by configuration). In such cases there is no way for an author to force quirksmode (or is that why MS decided to break normal header vs meta behaviour and let any meta X-UA-Compatible tag take precedence?).

    Anyhow it is inconsistent behaviour compared to other browsers. Imo X-UA-Compatible should complement DTD based switching, not overrule it.

  33. Zum IE 8 werde ich jetzt nicht viel schreiben, aber eines ist sicher: Dadurch, dass der IE 8 im Standards-Mode (IE 7: Strict, IE 5: Quirks) wirklich absolut nach CSS 2.1 rendert und keinerlei R&#252;ckw&#228;rtskompatibilit&#228;t zu bekannten Fehlnutz

  34. Demian says:

    So, you’re telling the rest of the standard compliant browsers, and the rest of the standards world that the document complies with the standard (by declaring a DOCTYPE), but ONLY your browser will know that the truth is the document doesn’t really comply with the DOCTYPE it just declared, so ONLY your browser will render it correctly and the other browsers don’t…


    That’s playing fair with the community. 😛

  35. Demian: We believe that most people who use the x-ua-compatible flag to override the doctype have IE-specific coding that other browsers wouldn’t need. Also, there’s certainly nothing stopping other browser vendors from respecting x-ua-compatible if they want. We’re just tryng to provide web developers and designers with a little more control over how IE renders pages.

    Rowan: When IE is hosted by an application, we default the mode to IE7; we’d break many applications like Help in Windows XP otherwise. Like the CDROM case discussed in the comments, it would be difficult for application developers with deployed products to update their code.

  36. I onsdags under MIX08-keynoten presenterades den första beta-versionen av Internet Explorer 8. Den innehåller

  37. I onsdags under MIX08-keynoten presenterades den första beta-versionen av Internet Explorer 8. Den innehåller

  38. Tino Zijdel says:

    One more time to demonstrate why x-ua-compatible should be complimentary to a standards triggering doctype and should not be leading:

    Imagine a uneducated webdeveloper (shouldn’t be hard) who is testing some pages in IE8. He sees several pages break down and decides to add x-ua-compatible=IE7 to all pages (or asks his serveradmin to emit such header). Lo and Behold! The pages that were broken suddenly work correctly in IE8, but other pages are now suddenly broken – the ones that were depending on quirksmode! Being uneducated this poor webdeveloper is now very confused and blames IE…

  39. Mix08 3日目 (最終日) Developing Cutting Edge Web Applications with IE8

  40. IEBlog says:

    For the Internet Explorer 8 Beta, we’ve added an Emulate IE7 button to the command bar. It will help

  41. Mix08 3日目 (最終日) Developing Cutting Edge Web Applications with IE8

  42. Demian says:

    @Tony Chor: Thanks for your reply. Funny, you always expect other to join you, while most of us are expecting you to join the rest of the community. What can I say…

  43. IEBlog says:

    Many commonly used applications and Windows system components depend on the MSIE WebBrowser control to

  44. IEBlog says:

    With the release of IE8 Beta 1, I’m pleased to be able to talk about the first round of improved standards

  45. If you did not know Microsoft is currently working on Internet Explorer 8 (IE8), you may ask why a new

  46. Microsoft said the right things, then blew it. In March, Microsoft announced that their upcoming Internet

  47. Hier après-midi, entre deux tâches de ma Todo List je vais rapidement checker les flux RSS de certains