I'm pretty disappointed, maybe even a bit angry, at the direction the Internet Explorer team has decided to take with IE 8 and support for standards. In this blog post, the team explains all the issues they ran into and how they decided to deal with them. As you can see from the many comments, they haven't made many people happy. For awhile now, they have promised to support the ACID2 standards for web design with the next release of IE. Unfortunately, I don't see any possible way their approach can be considered standards since it relies on a proprietary META tag to force the browser to render according to standards. Otherwise, it either renders in "quirks" mode (I was so over this years ago) or render like IE6 does. Both of these are terrible standards to follow, most if not all web developers would love to see a day when nothing has to be done to work around all the shortcomings of previous IE rendering engines. At any rate, needing a proprietary META tag to pass the ACID2 test is about the furthest thing from standards support imaginable. Just rip the band-aid off already, it's never going to be a good time to undo all the previous bad decisions.
A couple of the commenters rightly declared that they write web pages according to standards, not browsers. This is the right response. As a web developer, I should be able to code to standards and then expect the browser to render in a close enough fashion to standards that I don't have to jump through hoops to get pages to render properly. I can expect this for Firefox, Opera and Safari for the most part, but not IE.
The IE team's excuse is that web developers expect IE to work a certain way and already code their pages with that expectation. Maybe so, but in what universe is that a good thing? I don't think any of us want to do things that way, we are forced to because of the terrible rendering flaws in Internet Explorer. Honestly, most of the pages that would "break" are not being regularly updated anyway, so who cares? Or they are still using tables for layout, in which case IE's problems with the box model have a lesser impact anyway.
I have a couple of alternate approaches (neither of which are original with me). First of all, if you want to use a META tag, have it turn off the full-standards support, not turn it on. The default should be that the rendering engine attempts to render the page according to standards. Maybe if most pages start breaking in older versions of IE, people will stop using them. Sure there are folks who for one reason or another can't upgrade, but those aren't your power users anyway. Technology runs on progress, deal with it. Second, why not check for a valid RECENT DOCTYPE instead. Most developers using a DOCTYPE are using it intentionally to force IE out of quirks mode. So this type of page is probably already going to render in a standards-based browser without too much problem. If the page doesn't have a DOCTYPE, fine, go ahead and render it with all the IE rendering issues intact. But otherwise, render it correctly.
I don't have much faith that the IE team is going to do the right thing. I'm beginning to think that most of the web developers complaining about Microsoft's arrogance around standards is right on the money. Still, there are definitely people at Microsoft that care (Guthrie, I'm looking at you) and there are certainly enough developers that care. So do the right thing and finally fix IE so our children can live in a world where web design is full of happy little clouds and strawberry fields.