Internet Explorer version 8, to be released later this year, will, by default, render web pages the same way as IE7. If the meta tag
<meta http-equiv="X-UA-Compatible" content="IE=8" /> is detected in a page’s header, it will render in the new ACID2-compliant mode. This is a bad idea, for several reasons.
First of all, Microsoft, again, is trying to force us to build web pages for IE specifically. If the X-UA-Compatible tag is not found, then a page will not render in the standards-compliant mode. So, basically, you’re having to specifically instruct IE to follow the standard, which it’s supposed to follow anyway. Does that make any sense? No. It seems like another ploy to maintain their monopoly. After all, if most pages work in any browser, there is less reason for people to continue using IE.
Microsoft claims that the meta tag exists so manually-updated web pages won’t break when IE8 comes around. Manually updated? If you’re still doing that, you’re just asking for trouble. Take this as an opportunity to move away from a manually-updated site. While you’re making your design standards-compliant, install a CMS, or at least start using PHP includes. Also, as Bb’s RealTech said:
“The argument for this tag is actually the number one argument against this tag: those people with hand crafted pages are not going to be willing to hand edit each page to make it standards compliant–why on earth would they hand edit each of these pages to add this tag? As for being able to test a site against a version of a browser–this site looks good in IE7, but not IE8, or some such nonsense–when are we finally going to actually commit to standards? Not just as browser vendors, but as web page designers and developers? More importantly, as people who use browsers to surf the web?”
Instead, IE8 should check the DOCTYPE. If it’s XHTML Strict, then use the standards mode. If it’s HTML transitional, or absent, use the IE7 engine. I’m guessing that a lot of the people who would run into the problem Microsoft talks of wouldn’t be using XHTML. It’s much easier to manually-update HTML than strict XHTML after all. Or IE8 could validate the entire markup in-browser, and if it’s not standards-compliant, render in IE7 mode, and display an icon to show that the page isn’t compliant. At the very least, they should make the standards-mode default, and have the meta tag specify IE7 mode instead. Microsoft needs to base their trigger off of an existing feature of (X)HTML, rather than inventing proprietary tags.
Edit: I wrote this post before Microsoft changed their minds. You read my mind, didn’t you, Microsoft? But couldn’t you wait until the post went live?