New Media Initiatives

Just another Walker Blogs weblog

Part of: blogs.walkerart.org

 
by Brent Gustafson at 11:03 am 2008-01-23
Filed under:
4 Comments

A few days ago Microsoft announced their standards compatibility plans for IE8. It starts off talking about how IE8 passes the Acid 2 test, and then goes on to talk about the viewing “modes” in the various IE browsers.

IE handled these modes like most of the other browsers. There was “quirks” mode, which is invoked if no doctype is set (or a deprecated doctype), and “standards” mode if you used an appropriate doctype. Safari and Firefox work the same way. This gives a bit of flexibility to those who may have some older site with nonstandard or old spec code, and still follows general web standards for new code like you would expect.

Microsoft however decided to change things again in IE8. One would think the new and better standards that came about through the Acid 2 test would work in “standards” mode in IE8 given they follow the standard. But that is not the case. If you use “standards” mode in IE8, the browser will instead render the page like IE7 did, you will not get the new up to date standards fixes. And “quirks” mode will still render in IE8 like IE6 did.

Instead, to get the “super standards” mode, web developers will need to add a special meta tag to their sites to tell IE8 to render it in the new mode. This is just short sighted. It’s a band aid fix us web devs will have to live with for another 5 to 10 years.

The biggest problem here is the fact that standards compliance means “opt in”. Standards compliance should be determined by the doctype of the page, like the standards say, not some random meta tag. Microsoft’s comeback is that adding in standards means many pages build specifically for IE6 or 7 will break, and expecting everyone to rewrite their entire websites to standards compliance is not feasible.

Which is why I want to know why standards compliance can’t be an “opt out”? The meta tag idea is fine, but it should be the fix for the old, out of date, non-standard content, not new content. Microsoft can (and should) save companies the time and effort in having to rewrite all their sites, but that saving should come at the cost of adding a simple meta tag in the header of your old pages.

If you look at Microsoft’s OS’s they do similar things. XP broke some of the Windows 2000 programs because the API changed. Same thing happened in Vista. Microsoft rightly gave developers notice of these changes and gave them time to implement fixes for compatibility, so that when the new OS came out, the old programs could already be updated to run on the new OS. I’m not sure why a browser should be any different. Give legacy site devs the meta tag to add now, so that when IE8 comes out it “just works” like it used to. But leave the standards compliance the way it should be, the way the spec says.

This also has the added benefit of allowing legacy code and this fix to die off faster. If meta tags are only put into old code, as those sites are replaced, we can get rid of this “fix” much quicker. Making developers put it into new code just means we have to deal with this for that much longer, which is a pain.

I’m happy that Microsoft has finally decided to embrace web standards for a change. But in their quest for legacy support, their decision to slap an ugly band aid onto future code is a bad one. And it opens a slippery slope for future versions of IE that I’m not looking forward to, and that is unfortunate.

 

4 Comments

  1. Agree that this is a weird way to go about solving a tricky problem. I was surprised and disappointed to see the last couple of articles on A List Apart backing this flawed approach. John Resig also has an interesting take on this.

    Comment by Joe Slag — January 23, 2008 @ 12:53 pm

  2. No sooner do I hit ’submit’ than I see that John’s followed up with a great solution.

    Comment by Joe Slag — January 23, 2008 @ 12:55 pm

  3. I see HTML 5 being a solution for a different problem, though. XHTML and HTML5 are totally different things, and the blowback MS is getting on IE8 is because they’re breaking (or not fixing to the standards of the rest of the world) websites that good developers who are already doing the “right” things.

    The standards are the standards. You either support them or you don’t. A meta tag is not part of the standards. IE8 doesn’t support the standards.

    Comment by Justin Heideman — January 23, 2008 @ 1:54 pm

  4. My reading of John’s post was that using HTML 5 lets authors ignore all this IE 8 meta tag nonsense.

    From my limited understanding, in the HTML 5 world, the differences between HTML & XML aren’t that big.

    Comment by Joe Slag — January 23, 2008 @ 2:22 pm

Sorry, the comment form is closed at this time.

Powered by WordPress