Skip to content

IE 8 Compatibility - Should You Be Worried?

Last month, Microsoft released Internet Explorer 8. While it has been available for download since 19th March, mass distribution through the Windows Update has not yet started.

"Starting on or about the third week of April, users still running IE 6 or IE 7 on Windows XP, Windows Vista, Windows Server 2003, or Windows Server 2008 will get will get a notification through Automatic Update about IE 8", according to Microsoft's "Prepare for Automatic Update Distribution of IE8" announcement.

Already, on my site, IE8 use is climbing. After the automatic upgrades start going out we can expect to see a lot more people viewing our sites in Internet Explorer 8.

Potential Problems for Site Developers

As I mentioned in my first article about Internet Explorer 8 Compatibility, IE8 has a "Compatibility View" and a Master List for website compatibility. Compatibility View does not render sites in the same way as IE7. You can, however, add a Microsoft proprietary X-UA-Compatible meta tag to the head section of your site to tell IE8 how you want it to render your site.

X-UA-Compatible Meta Tags

Microsoft explains how to define Document Compatibility here and it's worth reading carefully. However, as noted by Dan G. Switzer in his article, Internet Explorer 8 issues with Compatibility View & EmulateIE7, the use of the X-UA-Compatible meta tag does not always produce the expected result.

In a nutshell, the only way to ensure your site renders correctly in IE8 is by testing it with the appropriate X-UA-Compatible meta tag, as well as with the Compatibility View button in the browser.

The X-UA-Compatible meta tags are:

  • Emulate IE8 mode tells Internet Explorer to use the <!DOCTYPE> directive to determine how to render content. Standards mode directives are displayed in Internet Explorer 8 standards mode and quirks mode directives are displayed in IE5 mode. 
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

  • Emulate IE7 mode tells Internet Explorer to use the <!DOCTYPE> directive to determine how to render content. Standards mode directives are displayed in Internet Explorer 7 standards mode and quirks mode directives are displayed in IE5 mode.
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

  • IE5 mode renders content as if it were displayed by Internet Explorer 7's quirks mode, i.e.. the way content was displayed in Internet Explorer 5.5.
    <meta http-equiv="X-UA-Compatible" content="IE=IE5" />

  • IE7 mode renders content as if it were displayed by Internet Explorer 7's standards mode, ignoring the <!DOCTYPE> directive when determining the rendering mode to use.
    Note: If your site uses prototype.js you will want to use this meta tag. IE8 makes a real mess of prototype so until this is fixed, make sure your pages are sent as IE7.

    <meta http-equiv="X-UA-Compatible" content="IE=IE7" />

  • IE8 mode - IE 8 standards rendering mode, renders the document as it it were displayed by Internet Explorer 7's standards mode, ignoring the <!DOCTYPE> directive when determining the rendering mode to use.
    <meta http-equiv="X-UA-Compatible" content="IE=IE8" />

You can also specify multiple modes and highest known mode will be used:
<meta http-equiv=“X-UA-Compatible” content=“IE=7; IE=8” />

Compatibility Master List

Microsoft maintains a Master List of sites that are "most likely to be better displayed in Compatibility View". All Internet Explorer 8 users are given the option to use this list and to receive automatic Compatibility View updates. Domains on the list are automatically displayed in Compatibility View, without additional user interaction or notice.

Internet Explorer 8 Compatibility View List v1.1.xls has been available for download since 9th April and Microsoft say they will update this approximately every two months.

A number of popular sites, including IBM and Google are on this list. The number of sites has increased since the release of IE8.

Getting off the list so your site can display in Standards Mode by default requires you to send an email to iepo at microsoft.com, giving full site and company details. Microsoft had previously stated that removal could be accomplished by adding an IEStandards.xml file to the server root, but this seems to have been abandoned.

Sub-domains inherit the Compatibility View of the main domain. This is potentially problematic for everyone who hosts a site under a parent domain - if this is you, tell your provider of any concerns.

User Lists

IE8 users maintain their own Compatibility View lists, either through Tools menu -> Compatibility View Settings or by using the Compatibility View button.

User lists are not sent back to Microsoft but anyone who opts-in to real-time Smart Screen Filtering reputation checks sends details of the sites they have set to Compatibility View. Microsoft also provides an optional Report a Webpage Problem Internet Explorer 8 Add-On, for users to report problem sites. Whether these result in sites being added to the Master List remains to be seen.

The Problem with Compatibility View Lists

  • If your site ends up on the Master List, getting off it requires an email. If you look at the latest list you will see that there are sites scheduled to be removed in the next update. Microsoft has already stated that updates will occur when IE updates are released, which they say is approximately every 2 months. This is a long time to wait if your site renders incorrectly in Compatibility View.
  • If visitors to your site use Compatibility View, IE8 automatically renders your site in Compatibility View on every return visit. Your site will stay in Compatibility View until the user deletes it from their list (Safety -> Delete Browsing History or Tools -> Compatibility View Settings -> delete site.)
  • IE7 Emulation does not render sites in the same way as IE7.
  • X-UA-Compatible meta tags specifying IE7 or EmulateIE7 do not render sites the same way as the Compatibility View button.

Summary

IE 8 is designed for rendering HTML 4.01 and CSS 2.1. It has some limited support for some CSS 3.0 and the Draft HTML 5.0 specification. If your site is Standards-compliant and validates to the W3C specifications it will most likely render correctly in IE8. If it is using Quirks Mode, or does not validate, you could find your site on either the Master or User Compatibility View lists. Getting off the Master List is inconvenient, but doable, getting off all User Lists is next to impossible.

If you want your site to render correctly in IE7 and IE8 (and perhaps also IE6) then you will need to make sure it is Standards-compliant and apply the appropriate X-UA-Compatible meta tag.

More Reading:

This is part of a series of articles I am doing about IE8 and things web site designers need to be aware of. As always, your tips and comments are most welcome.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Topic: Web Design
Tagged as: compatibility, ie 7, ie8, internet explorer 8, meta tag, Microsoft

Share on FriendFeed

{ 3 comments… read them below or jump to the comment form to add your thoughts }

  1. 1 bluedee April 27th, 2009 at 2:09 am

    yeah, I've been tried IE8 and did all ACID test. I was disappointed with the result of ACID3 test from IE8. This browser only got score 20.

  2. 2 James Hopkins May 12th, 2009 at 2:11 am

    @bluedee:- Microsoft were never aiming for an Acid 3 pass.

    @lynne:-
    "If your site ends up on the Master List, getting off it requires an email."
    Incorrect - you can force users that have chosen to view your site in Compatibility View by adding either the Standards Mode META element or HTTP Header; this will override the blacklist.

    "If visitors to your site use Compatibility View, IE8 automatically renders your site in Compatibility View on every return visit. Your site will stay in Compatibility View until the user deletes it from their list"
    Incorrect. See my comment above.

    Another easy way to get yourself on the blacklist is irresponsible use of the IE (all-versions) operator. Since IE8's Standards Mode rendering engine is much more advanced than its predecessors, theres very little chance that you'll ever need to target both IE8 and an older version of IE at the same time.

    FYI, you can view the current blacklist by going to res://iecompat.dll/iecompatdata.xml in your browser

  3. 3 Lynne Pope May 12th, 2009 at 6:46 pm Lynne Pope

    @lJames :-
    "If your site ends up on the Master List, getting off it requires an email" is actually correct. The meta tag will override this when the page is viewed, but it doesn't take a site off the master list. However, even adding the meta tag does not guarantee that visitors will see the site in standards mode. The site can override it but if the user still views it in emulation and doesn't clear the browser history, IE8 jumps right back into compatibility mode on the next visit.
    Good point about the IE all-versions operator! I'd missed mentioning that.
    NB. Viewing the current blacklist in IE8 is only possible if you are using the master list and allowing it to be updated.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Any comments that look like spam will be treated as spam - this includes SEO titles and use of spurious keywords.

By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution.