Understanding IE8′s site compatibility view list
Not too long ago, I wrote about Internet Explorer 8′s browser mode and document mode settings. The goal of the post was to familiarize everyone with the various modes that IE8 can run your document in. Since that time, I’ve had ample opportunity to play with the browser and figure out a bunch of quirks related to this functionality. I’ve seen IE8 send the wrong user-agent to the server a handful of times, messing up server-side user-agent detection. But the most interesting issue I’ve come across has been the site compatibility view list.
What is it?
When Microsoft announced that IE8 would run in a new “super standards” mode by default, it created a lot of fear that this would “break the web.” The argument was that there were web sites/applications that were created for use specifically with IE7 (or worse, IE5) and that these sites would break as soon as the user upgraded to IE8.
To mitigate this concern, Microsoft took several steps:
- Introducing browser and document modes so that IE8 was capable of acting like IE7 and IE5.
- Developers can add the
X-UA-Compatible
HTTP header or<meta>
tag to specify that the page should be rendered in a particular browser mode. - The creation of a site compatibility view list, maintained by Microsoft and delivered to IE8, that kept a list of sites known not to work in IE8 browser mode and therefore should be rendered in IE7 browser mode.
Numbers 1 and 2 covered those sites who were fully staffed and able to do work to prepare for IE8 compatibility. Number 3 is designed to help the rest of the web, the sites that aren’t actively maintained and don’t have resources to make any changes.
Where can I get a copy?
Prior to IE8 release candidate, Microsoft created a draft site compatibility view list based on pages that had trouble working in the browser. The list was fed by feedback buttons on pre-release versions of the browser as well as through comments and interactions with the web community. Over time, the list has been updated and changed as feedback was received.
You can download a copy of the site compatibility view list in Excel format from MSDN. The file contains details such as when the site was added to the list, when it was removed (if it was) and why, and more.
The site incompatibility list is downloaded as part of Windows Update. When you download updates from Microsoft, the list comes along with it.
How can I tell what settings my browser uses?
At any point in time, you can view the site compatibility view list that your browser is using by typing the following into your address bar:
res://iecompat.dll/iecompatdata.xml
If you’re ever unsure if IE8 thinks that a site should be run in compatibility view mode, double-check the list to see if it’s included.
What happens in the browser
When you visit a site that’s on the site compatibility view list, the “Compatibility View” button that is normally next to the Refresh button disappears. Since the browser has already determined that the site must use compatibility view and won’t work in IE8 mode, the button is hidden to prevent the user from accidentally putting the browser into a mode in which the page won’t work. This is actually the same behavior as if the X-UA-Compatible
header is set.
Learn more
There is a lot of information about the site compatibility list and all things related to browser and document modes. The best place to start is MSDN’s, Understanding the Compatibility View List, which gives an overview of the feature. To understand more about why this is necessary, I’d recommend reading, Defining Document Compatibility.
Disclaimer: Any viewpoints and opinions expressed in this article are those of Nicholas C. Zakas and do not, in any way, reflect those of my employer, my colleagues, Wrox Publishing, O'Reilly Publishing, or anyone else. I speak only for myself, not for them.