Web Development News October 22, 2008

I am going to forgo the normal article this week, because there is so much talk about compatibility mode in IE8. As any web developer knows, IE6 and lower is different from IE7 is different from the W3C standards. The problem is that as IE improved the engineers at Microsoft not only needed to support standards, but also the thousands of people who had already built websites according to the previous, non-standard compliant versions of IE. This continued up through IE6, then when they released IE7, Microsoft took a different route, supporting more standards, but being less backwards compatible with IE6. As a result the web community cried foul, frustrated at having to support yet another browser (and one that is not completely standards compliant at that).

Enter IE8… IE8 is standards compliant, as we all learned when it passed the acid test. However, it is not backwards compliant with IE7 or IE6 and the engineers realized that there did not yet exist a good way to allow backwards compatibility, which they would need to support their, "dont break the web" mantra. As a result, they have introduced an IE8+ only meta tag (it wont affect any other browser at all) that allows the web designer to specify which browser their site is compliant to.

Example 1: Meta Tag

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

This solution is simple, elegant, and degrades nicely. My hat is off to Microsoft on this one; I believe they are doing this browser right.

Here are some key articles about this topic:
Compatibility and IE8 by Microsoft
The versioning switch is not a browser detect by PPK
Beyond Doctype by A List Apart