BrowserLab and Internet Explorer 9
Are you seeing IE9 rendering inconsistencies in BrowserLab?
Since we’ve added support for Internet Explorer 9 to BrowserLab, some users have been asking why BrowserLab shows a different rendering result than they see when testing locally with a real IE9 instance. Most of these differences end up being rooted in the same issue: IE9’s Compatibility View List.
Microsoft’s IE9 Compatibility View List contains a list of websites, which Microsoft believes are best displayed in a mode other than IE9 Standards mode. When viewing a site, IE9 will check whether the site is on the Compatibility View List, and if it is, the site will be displayed using Compatibility View – usually as if it were IE7. If the site is not on the list, it will be displayed in IE9 mode, and the rendering mode will be determined based on any meta tags and the DOCTYPE.
As mentioned previously on this blog, our philosophy for BrowserLab is to provide browsers that are as close to the default installation settings as possible. Most people do not change their browser settings, so the browsers in BrowserLab are most likely to reflect the installed base of browsers. Compatibility View List is on by default in IE9, so we’ve left it on for the IE9 browsers in BrowserLab. Some web pros have turned off Compatibility View in their local IE9 installation, which can cause a different rendering result.
For example, it is pretty common for web pros to temporarily host their sites on Dropbox, allowing simple synchronization and the ability to easily share with clients, etc. Unfortunately, dropbox.com is on Microsoft’s Compatibility View List, which causes all content from the dropbox.com domain to be rendered in IE7 mode.
Assuming that the final host of the content is not intended to be Dropbox, BrowserLab may end up providing a false negative (though if a client previews the content from dropbox.com with IE9 they may also see it rendered in IE7 mode). The BrowserLab team believes this to be preferable to the alternative where we turn off the Compatibility View List and run the risk of providing a false positive where BrowserLab shows you that the site renders correctly in IE9, but the majority of users with Compatibility View List turned on will see it in IE7 mode.
What Can You Do?
If you notice a discrepancy between your local IE9 browser and BrowserLab, there are some things you can do to identify and fix/work around the issue.
Start by determining whether the difference in rendering is due to IE9’s Compatibility View.
Verify whether Tools > Compatibility View Settings > Include updated website lists from Microsoft is checked in IE9. If this is checked, you have Compatibility View turned on and your results should match those from BrowserLab. If your results do not match BrowserLab, please let us know of the issue by posting on the BrowserLab User Forum.
If Include updated website lists from Microsoft is unchecked, you can either enable it to see if IE9 then renders it differently or you can manually check whether your domain is on Microsoft’s Compatibility View List. If your domain is on the list then it will not, by default, render in IE9 Standards mode.
To force IE9 to render in IE9 Standards mode despite the Compatibility View List, you can add either of the following X-UA-Compatible meta tags to your HTML:
Render page in IE9 Standards mode, ignore doctype:
<meta http-equiv="X-UA-Compatible" content="IE=9">
Render page in IE9 mode assuming a standards-based doctype, IE5 (quirks) mode otherwise:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
Alternatively, if you control the domain on which you are previewing the page and don’t think it should be on Microsoft’s Compatibility View List; you can contact Microsoft to address this.
Tell us what we can do to make this experience better for you. Do you need to see IE9 results with Compatibility View explicitly off as well as on? Should we somehow display the document mode that BrowserLab’s IE9 browsers are actually rendering in?
In a future blog post, we’ll talk about other factors that might affect rendering consistency and cause you to see different results between BrowserLab and your local browsers, and ways to minimize them.
Understanding the Compatibility View List: http://msdn.microsoft.com/en-us/library/dd567845(VS.85).aspx
Current Compatibility View List: http://ie9cvlist.ie.microsoft.com/ie9CompatViewList.xml