Introducing Compatibility View


At the start of the Internet Explorer 8 project we made a commitment to great website compatibility. It’s worth noting that this commitment hasn’t changed, even given the short-term impact of our announcement to better align with Microsoft’s interoperability principles. In other words, compatibility has been and continues to be a very important part of the Internet Explorer 8 feature set.

With Beta 2 we’re announcing a brand new feature known as Compatibility View. In a nutshell, Compatibility View allows content designed for older web browsers to still work well in Internet Explorer 8.

Compatibility View and End Users

When a web site says that it supports modern web standards, Internet Explorer 8 respects that and displays the site using its most standards compliant mechanism. In the majority of cases, this works out just fine. However, every once in a while, a page that says “display me using modern standards” really means “display me like Internet Explorer 7 used to display modern standards pages”. This is where Compatibility View comes in.

There are a bunch of changes under the hood, but the main points to know are –

  • Sites on the public internet still display in IE8 Standards Mode by default.
  • Switching in and out of Compatibility View (between IE7 and IE8 modes) happens on the fly without a browser restart.
  • Compatibility View is domain specific.

A new UI button located in the navigation bar just to the right of the address bar (next to the refresh button) controls the Compatibility View feature and replaces the Emulate IE7 button from Beta 1.

Compatibility View Button

IE only displays this button when toggling into Compatibility View makes sense, such as when viewing Standards mode pages. In all other cases, such as when viewing Quirks mode pages or viewing intranet sites (they’re already being displayed in Compatibility View as discussed later in this post), IE hides the button.

Depending on the speed of your machine, you may see the page refresh when the Compatibility View button is selected. In any case, a balloon tip lets you know that the site is now running in Compatibility View. Additionally, the Compatibility View icon shows a “pressed” state so that you can know what view you’re running in after the balloon tip disappears.

Compatibility View Button Depressed with Balloon message indication of Compatiblity View

The “scope” of emulation is limited to the domain you are viewing when you press the button, not some other mechanism like the life of the process or the tab. And, Internet Explorer remembers your preference by storing the domain in a client-side list so that the next time you visit the site you don’t have to press the button again.

Compatibility View and the Enterprise

A large number of line-of-business websites are Internet Explorer 7 capable today. In order to preserve compatibility, Internet Explorer 8 ships with smart defaults based on zone evaluation. In the default state, all sites on the public internet display in Internet Explorer 8 Standards mode (Compatibility View off) and all intranet websites display in Internet Explorer 7 Standards mode (Compatibility View on).

Let’s look at some examples.

If you navigate to sites on the Internet like www.msn.com and www.live.com, Compatibility View is off by default. Internet Explorer 8 identifies itself with a User Agent string of ‘8’, Version Vector of ‘8’ and displays webpages that trigger standards mode in Internet Explorer 8 Standards mode. The same is also true if you navigate by IP address, such as http://192.168.0.1. As Internet Explorer can’t tell offhand whether the IP address is internal or external, it assumes the latter. Use Compatibility View to fix problems with websites in this category just like you used to use the Emulate IE7 button.

If you navigate to sites on your local intranet like http://myPortal and http://sharepoint/sites/mySite, Internet Explorer 8 identifies itself with a User Agent string of ‘7’, Version Vector of ‘7’, and displays webpages that trigger standards mode in Internet Explorer 7 Standards mode. This combination allows webpages that worked correctly in Internet Explorer 7 to continue to do so in IE8.

Just for completeness, it’s also worth noting that local pages such as ‘C:\Temp\MyWebPage.htm’ display in Internet Explorer 8 mode (Compatibility View off) by default.

A new entry in the ‘Tools’ menu allows for advanced configuration of the feature.

Internet Explorer Tools Menu with Compatibility Mode Selection

Internet Explorer Tools Compatibility Settings Menu

You can configure all intranet sites to display in Internet Explorer 8 mode. You can also configure policy such that every site is viewed in Internet Explorer 7 Compatibility View (identical to the behavior from Internet Explorer 8 Beta 1 when the Emulate IE7 button was pressed). Lastly, you can pre-populate a list of sites that should always be viewed in Compatibility View and / or edit the current entries that are populated via Compatibility View button press. This is especially handy if you encounter a Quirks mode site that is blocking Internet Explorer 8 due to incorrect User Agent String detection – you can add the site in question to the compatibility list and be on your way.

The entire feature is Group Policy enabled, giving you the most granular level control over the various knobs and switches. Most settings can also be configured using the IEAK.

Compatibility View and Web Developers

If you develop pages according to modern web standards and use the DOCTYPE directive to indicate layout mode, Internet Explorer behaves just as you would expect – Quirks DOCTYPEs map to Quirks mode and Standards DOCTYPEs map to IE8 Standards mode. And, just as in Beta 1, you can opt-out of IE8 Standards mode via <META> tag / HTTP header.

The best way to ensure users have a great experience with your website, and thus don’t have to use the Compatibility View feature at all, is to test your site using Internet Explorer 8 and update it as necessary. In the event that a user selects Compatibility View for your site, you can “bring them back” to your desired layout mode via use of the version targeting <META> tag / HTTP header. A new content value, ‘IE=EmulateIE8’, rounds out the list of supported values and assists in this particular scenario.

Content Value

Details

IE=EmulateIE8

Display Standards DOCTYPEs in IE8 Standards mode; Display Quirks DOCTYPEs in Quirks mode. Use this tag to override compatibility view on client machines and force Standards to IE8 Standards.

The presence of the <META> tag / header serves as an indication that the site has been updated to support IE8 and its value “wins” over whatever mode Compatibility View on the client would have resulted in. The presence of the tag / header also has some other side effects. For one, it triggers clean-up of the user list entry, ensuring that long-term the client’s user list gets pruned and you don’t have to keep the <META> tag / header in place forever. (BTW, the user list also gets pruned when you choose to delete browser history). For another, presence of the tag / header causes the top-level command bar icon for Compatibility View to not be displayed, effectively preventing most users from adding your site to the Compatibility View list.

A new tag in the User Agent string allows for detection of clients viewing your site in Compatibility View. This tag is also present in the “normal” Internet Explorer 8 User Agent string.

  • Compatibility View:
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

  • Updated IE8 UA String:
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

Finally, an update to the Developer Toolbar completes the feature set. The new ‘Browser Mode’ menu lets you modify how Internet Explorer behaves as well as how it reports its version to servers and websites. This lets you use Internet Explorer 8 to see what your site looks like in IE8 (the default), what your site looks like in IE7, and what your site looks like for users in IE8 who are running in Compatibility View.

IE8 Developer Tools with Compatibility Browser Mode

The ‘Document Mode’ menu continues to exist independently of ‘Browser Mode’ to let you see what your site would look like if you changed the layout mode by using a different DOCTYPE or the <META> tag.

Summary

We hope you find the new Compatibility View feature a noticeable improvement over the Emulate IE7 button experience.

If you encounter problems with a specific website that Compatibility View doesn’t resolve, we’d like to know about it. The Report a Webpage Problem tool will help you submit a report.

Scott Dickens
Lead Program Manager

edit: updated ALT text for images

Comments (78)

  1. Anonymous says:

    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft.com/ie8

  2. Anonymous says:

    A public BETA of Internet Explorer 8 is now available for download at http://www.microsoft.com/ie8 .&#160;

  3. Anonymous says:

    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft

  4. Anonymous says:

    Have you considered the insanity this will cause when a website is developed on the local ‘intranet’ (where most development servers live) and then deployed to the live website?

  5. Anonymous says:

    Today, the Internet Explorer Team has made available Internet Explorer 8 Beta 2 for all to download.

  6. Anonymous says:

    A public BETA of Internet Explorer 8 is now available for download at http://www.microsoft.com/ie8 .&#160;

  7. Anonymous says:

    I’ll keep an open mind about this feature until I personally experience it with IE8, but this seems like a confuser for sure.

  8. Anonymous says:

    pingback from http://bits.samiq.net

    [… for this Microsoft has enabled a way for site owners to specify the type of treatment they want their sites to have. Specifically, the type of engine used to render their content, also known as the Compatibility View

    After downloading and installing aggiorno express, getting your sites ready for IE8 is as easy as launching the application, selecting the source folder of your web site, deciding where the new web site should be stored, choosing the flag you want to meta tag your pages with and hitting Start!

    … ]

  9. Anonymous says:

    Why is BROKEN-DOM and BROKEN-CSS turned on by default for IntrAnet sites? ("a")

    Of all the sites that get fixed pronto, this is the top of the list.

    Thanks for holding back the web again.

  10. Anonymous says:

    It was announced some time ago and right on time the IE team released the second beta of Internet Explorer

  11. rodjer says:

    Congratz for Public beta 2! We as MS lovers appreciate it!

  12. Anonymous says:

    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft.com/ie8

  13. Anonymous says:

    I had to laugh at the IE8 download page.. listed under "features" was "Compatability Mode".

    So, basically, the fact that IE was "Broken", is now a "Feature" in IE8?

    nice.

  14. Anonymous says:

    Can you make InPrivate open in a new tabs.

    Kinda annoying that when using a inprivate mode it opens in a new IE windows.

  15. Anonymous says:

    Today, Microsoft released Windows Internet Explorer 8 Beta 2 in English, German, Simplified Chinese,

  16. Anonymous says:

    Du kan ladda hem och installera den här . Har du Beta1 installerad måste den först avinstalleras, kör

  17. Anonymous says:

    I see a problem with this approach:

    1. People get a bunch of broken sites.

    2. People decide to give up and use compatibility mode for everything.

    3. Standards-compliant sites are forced to use your meta tag just to be displayed correctly by these users.

  18. Anonymous says:

    First up, congrats on the b2 release, here’s hoping that testing proves it to be worth the wait. 🙂

    Ok… now can someone tell me who thought it was a good UI design idea to deliberately put (move) the IE7 "Compatibility Mode" button to BETWEEN THE ADDRESS BAR AND THE REFRESH BUTTON??

    Seriously…?

  19. Anonymous says:

    Windows Internet Explorer 8 Home page (홈페이지) Internet Explorer 8: Worldwide sites (다운로드) Internet Explorer

  20. Anonymous says:

    This is leaps and bounds above IE7 feature-wise, but I’m not convinced that it’s fully CSS 2.1 compliant (yet).  I hope that work is still in progress.  

    Maybe I’m looking at this through the wrong lenses, but Firefox 2+ and Safari 3 render a number of sites with nearly identical precision.  The same sites in IE8 standards mode look like they were rendered in IE7 when it attempted to render in standards mode.  And in this case, I know we’re not dealing with poorly structured conditional comments or server controlled CSS files.

    The last thing we need is another version of IE on the market that designers have to specially code for because it interprets compliance differently from everyone else.

    Can you guys speak to the progress of CSS 2.1 compliance in IE8 beta 2?

  21. Anonymous says:

    What happened with the FEATURE_NATIVE_DOCUMENT_MODE registry key which was controlling the web browser control mode? It looks like it is not used anymore … Did you add a web browser control interface to control the rendering mode?

  22. Anonymous says:

    So much for "standards compliant by default"…

    As others have observed, the different default behavior between the Intranet and Internet zones is likely to cause a great deal of confusion. Let corporations opt in to Intranet Compatibility Mode with a GPO as needed rather than holding back the Web.

  23. Anonymous says:

    Se poate descărca . Dacă v-ați jucat cu beta1, trebuie să-l dezinstalați. Detalii aici . Tudor ne povestește

  24. Anonymous says:

    OK, thanks for all the hard work! Please keep it up!

    I hope this is not the final version of Trident that will ship with IE8.0 final as I noticed quite many bugs.

    I am not going to report them all as I don’t have access to a decent bug reporting tool but here’s one very simple – document.documentElement.clientWidth/Height differs in IE8 mode and in Compatibility View mode (of course, it is incorrect in IE8 mode, that’s why I am reporting it).

    Check out this simple test case if you like:

    http://files.myopera.com/smartmenus/files/bugs/bug-ie8beta2-docelm-props.html

  25. Anonymous says:

    hey, why not incloude IE6 mode also in Developer Toolbar and make web developers lifes much better?

    p.s

    "Browser Mode" and "Document Mode" looks the same to me, i think they should be marged.

  26. Anonymous says:

    does IE8 have something like *css (IE7) or _css (IE6)

    (for example _border:1px;*border:2px; etc.)

    thanks

  27. Anonymous says:

    I’m a Firefox user but I congratulate the IE team for their efforts to make the transition to a more standards Web the least painful possible. I understand that it cannot be done with a yes/no approach since there is so many sites made to work on IE6 only. So I’m eager to see this new version deployed and what will come for the next IE versions too. Good work.

  28. Anonymous says:

    (Note: The following instructions are for information purpose only and correspond to Apache 2.2 on Windows.

  29. Anonymous says:

    The compatibility mode button is a gutsy maneuver, I understand the reasons for  it and I give you credit.

    But many will find the rules as to when the button pops up confusing and/or inconvenient.

    This needs some clarification to answer the question: "What do I, as a page author, need to do to keep the compatibility mode button from popping up."

    For example, this makes my brain twirl a little:

    "A large number of line-of-business websites are Internet Explorer 7 capable today. In order to preserve compatibility, Internet Explorer 8 ships with smart defaults based on zone evaluation. In the default state, all sites on the public internet display in Internet Explorer 8 Standards mode (Compatibility View off) and all intranet websites display in Internet Explorer 7 Standards mode (Compatibility View on)."

    So what exactly does that mean?

  30. Anonymous says:

    Much as I dislike this I can see some valid reasons for it but shouldn’t the behaviour be to switch to IE6 mode rather than IE7?

    One of the main reasons IE7 take-up has been so slow within corporations is because many ‘enterprise’ and intranet apps only work properly in IE6.

  31. Anonymous says:

    @LD – IE8b2 passes Acid 2 (http://www.webstandards.org/files/acid2/test.html#top). Default padding/margins for elements is not defined in the CSS spec, and are assigned by browser manufacturers – this may account for differences you are seeing. If you build sites, are you using CSS reset rules to set margins/padding the same across browsers?

  32. Anonymous says:

    NO! You have completely broken the UI! Keep the improvements, like:

    -Position of Refresh/Stop buttons

    -Search/Address suggestions

    but make it look like IE7! Add icons for EVERY toolbar button! Get rid of the stupid toolbar colour!

  33. Anonymous says:

    Shouldn’t there be some sort of visual indication that a tab is in compatibility mode?

    Maybe change the colour or add an icon.

  34. Anonymous says:

    @ F C

    FEATURE_NATIVE_DOCUMENT_MODE has been replaced by FEATURE_BROWSER_EMULATION.

    HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATION]

    “iexplore.exe” = dword:8

                   (possible values of 7 or 8)

  35. Anonymous says:

    @Will

    Yes, generally we do use resets.  But one thing I’ve noticed that may or may not be related is alignment.  I’ve seen more than a handful of sites that are centered on screen in Firefox, Safari, IE7, and IE6 that are left aligned in IE8.  I’m not completely sure what would cause that.

  36. Anonymous says:

    The next beta for Internet Explorer has been released for broad distribution to the public, according

  37. Anonymous says:

    I understand that including the IE6 engine for normal users might be prohibitive because of the weight it would add to the program, but releasing a "developer" version of IE8 that included the IE6 rendering engine would be a huge boon for developers.

  38. Anonymous says:

    It’s the first release of Internet Explorer in a decade that I can’t find anything to say against it.

    IE8 is the first version being compatible with the Internet without requiring extensive rewrites or hacks.

    Thank you for making IE8 standards-based.

  39. Anonymous says:

    Compatibility View is a good feature.  But please don’t enable it by default on intranet sites.  Standards compliant mode should be the default everywhere.  The inconsistencies caused by defaulting to compatibility view mode in the intranet and standards mode elsewhere will cause a lot of confusion.

    Also, the button for enabling compatibility mode should NOT go between the address bar and the refresh button.  That is going to confuse users into thinking it IS the refresh button.

  40. Anonymous says:

    When using a proper Doctype declaration, I love the fact that IE does not try display the compatibility button at all. Which is very good for us doing both intranet and Internet sites.

    Thank you again for not trying to reinvent the wheel.

  41. Anonymous says:

    Hi

    That’s really cool feature, and I’ve tried it a little bit on the "acid2 test".

    In IE8 mode it works fine. When I press compatibility mode button – it looks like in IE7. But when I unpress button it doesn’t come back to the full IE8 view.

    It looks like this: http://farm4.static.flickr.com/3127/2808529696_6609d6f18b_o.png

    After refresh it works fine.

    Hope this help make IE better )

    And what about acid3 test? http://acid3.acidtests.org/

    With IE8 it works much more better then with IE7, but still not pass it..

  42. Anonymous says:

    This website (http://www.hurricanezone.net) validates at w3.org as XHTML 1.0 Strict, yet IE8 displays the Compatibility button and does not render the pages correctly unless you enable Compatibility View. Firefox 3 and Safari 3 agree on how these pages should render (so did IE7, for that matter).

    The question I would have is why would IE8 not recognize the validation and handle the strict code, if it is standards compliant?

  43. JAB Creations says:

    While the ability to almost instantly switch between IE7 and IE8 without having to close the browser tab/window is grand indeed it is ****COMPLETELY**** unacceptable to have IE7 as the default rendering engine for localhost. *THAT* is what has angered a lot of people and I have read brought criticisms from Opera. I have to agree, this default essentially negates all the hard work you folks have been doing to make IE8 render CSS properly.

    You guys are capable of 180’s, let’s see localhost default to IE8’s desired/standards compliant rendering mode for Beta 3. This completely overshadows all the work that has been done thus far…

  44. Anonymous says:

    Do you want to try Internet Explorer 8 beta 2? Or do you want to test your website with XP and Internet

  45. Anonymous says:

    1. What is the "user list" that you are refering to?

    2. You say that the Compatibilkity View button is hidden With X-UA-Compatible: IE=EmulateIE8. Is it hidden or disabled?

    3. What happens for other values of X-UA-Compatible, for example X-UA-Compatible: IE=100? I would expect the Compatibility View button to be disabled in that case too.

  46. Anonymous says:

    How is this possible? You are failing yet AGAIN!

    COME ON!!! Seriously! You can’t be this stupid!

  47. Anonymous says:

    Wading through the MS marketing pingbacks I see some interesting comments..

    I’m interested if you’ve ever heard of reducing complexity to solve a problem rather than introducing new features to try and solve a problem? What happens when IE9 comes along – two sets of configuration rules? two broken page buttons? double the testing costs ?

    Wouldn’t it just be simpler to say to those out there who develop for only one browser "hey, here’s a beta of our new browser, test your site, if you can’t update your code, stick this hack meta tag in and you’ll be happy forever".

  48. Anonymous says:

    So instead of standards-compliant websites needing to include an extra &lt;meta&gt; tag to tell IE 8 to render in standards mode, they now need to include an extra &lt;meta&gt; tag to tell IE 8 not to show a "please break my website" button in the chrome.

  49. Anonymous says:

    Very nice.

    Could we have an way to see what rendering mode ie is in? A status bar section that lights up perhaps if it’s in anything but the latest standard mode, and an indicator of why (page quirks mode, page standards mode, page standards but user override to compatibility, etc)

    Or the properties of the page that show rendering mode, in addition to Protocol, Type, Connection, Address, Type.

  50. Anonymous says:

    Hello, This problem will only occur if you are viewing JIRA using IE8 in compatibility view. Please see this page for more details on IE8 compatibility view: http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx When…

  51. Anonymous says:

    As near as I can tell, there is no way to tell IE8 to simply _always_ use the standards mode by default.  Barring the use of the "meta" element described, as near as I can tell you either get compatibility mode (if there is no DOCTYPE) or standards mode (if there is one).

    As a user, I would like IE8 configured to always be in standards mode, even if there’s no DOCTYPE.  If the site looks wrong, I can always push the button.

    Except that, oops…the button doesn’t seem to show up if you’ve got a DOCTYPE.  So fix that too.

  52. Anonymous says:

    As you may know, all browsers have a set of CSS features that are either considered a vendor extension

  53. Anonymous says:

    Compatibility view, and its predecessors are a big part of the reason so many sites still *need* a compatibility view.  Compatibility mode in IE makes web site developers and other browser developers work around the deficiencies of the various IE rendering engines.

    And since IE7 has a compatibility mode for IE6, that means that even if EVERYONE in the world updated to 7, or 8, developers still have to write around the garbage HTML renderer in IE6.

    The only people this helps are the lazy or cheap ones that won’t update their sites.  It’s holding back progress because every browser has to focus energy on rendering bad code in the same way IE does.

    You don’t see this in other coding environments.  If I write bad C# code, the compiler fails or the code doesn’t do what I want.  Why should HTML be any different?  It’s a language like any other, and has rules, that people never bother to learn because browsers like IE make it so they don’t have to.

    And it’s clear from the article that "site that worked correctly in Internet Explorer 7" is code for "broken, poorly written site," otherwise, of COURSE it would work correctly in IE8.

    Stop building in compatibility modes!

  54. Anonymous says:

    Hi, my name is Jatinder Mann and I work on the Internet Explorer Administration Kit (IEAK) and Group

  55. Anonymous says:

    I’ve been wrestling with this for a little while now and wanted to try and get down some thoughts so

  56. Anonymous says:

    Добрый день, меня зовут Ятиндер Манн (Jatinder Mann) и я работаю над Internet Explorer Administration

  57. Anonymous says:

    I have been running IE8 as my default browser since Beta 2 was released a few months ago and I have been

  58. Anonymous says:

    The next public update of IE8 (for Windows Vista- and Windows XP-based operating systems as well as the

  59. Anonymous says:

    Je ne sais pas comment ils font. Malgré tous leurs efforts pour rendre leur navigateur acceptable, ils arrivent à faire en sorte de devoir reprendre tous les anciens sites pour qu’ils fonctionnent comme avant.

  60. Anonymous says:

    As announced in February 2008 , Internet Explorer 8 sends an updated user-agent string when interacting

  61. Anonymous says:

    This is one of my favorite times in the product cycle. IE8 is platform complete and as we get closer

  62. Anonymous says:

    Will this be the biggest feature of IE8?

  63. Anonymous says:

    A few weeks back, we announced Compatibility View improvements available in the Release Candidate build

  64. Anonymous says:

    We’ve previously blogged about Compatibility View ; this post is a follow-up on compatibility and Internet

  65. Anonymous says:

    We’ve said a lot about our approach to website compatibility in general and the Compatibility View feature

  66. Anonymous says:

    Insåg idag att "standards mode" i MSIE8 antagligen kommer att bli en intressant upplevelse för en hel del av oss därute i verkligheten, just för att den är så hårt fokuserad på att följa standard !Paradoxen det här handlar om…

  67. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  68. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  69. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  70. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  71. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  72. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  73. Anonymous says:

    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  74. Anonymous says:

    IE开发团队更改了IE8的User-agent,

    更改的部分信息如下:

    IE8onWindowsVista(CompatibilityView)

    Mozilla/4.0(c…

  75. Anonymous says:

    &#160; &#160; Internet Explorer 8 계획을 시작했을 때, 웹 사이트의 호환성을 유지하는 것을 공약으로 했습니다. 이 공약은 여전히 유효하고, Microsoft

  76. Anonymous says:

    This post is intended for IT administrators, but more technical users might also find it useful. During

  77. Anonymous says:

    更改的部分信息如下:IE8onWindowsVista(CompatibilityView)

    Mozilla/4.0(compatible;MSIE7.0;WindowsNT6…

  78. garry trinder says:

    Stronger

    Members n