Thursday, January 24, 2008

All your browsers are belong to X-UA-Compatible

An article this week on the Web design bible A List Apart lets us know the latest plans by Microsoft to embrace and extend the way HTML is rendered in Web browsers. Apparently in consultation with ALA boffins, Microsoft has agreed to implement a new meta declaration in the head section of HTML documents in their forthcoming Internet Explorer 8 release.

Using a simple meta declaration, we can specify the rendering engine we would like IE8 to use. For example, inserting this:

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

into the head of a document would make IE8 render the page using the new standards mode. This syntax could be easily expanded to incorporate other browsers as well:

<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />

This is a great idea for developers, because they get to write once and then never have to edit their code again, no matter what new browsers are released. Never again will a new version of IE or Safari break their lovely site. Unfortunately, it sucks for users, mainly because participating browsers will have to bloat out to humungous sizes because they will have to include the rendering engines of all previous browser versions in order to be compatible with this new system. It also sucks for Mozilla, because part of their marketing message is that Firefox is the cleanest, smallest browser out on the market, and the inevitable bloat will blow that claim out if Firefox implements this system.

Microsoft caused this problem in the first place by not adhering to Web standards in previous versions of IE. Now they are trying to apply another band-aid over the suppurating wound, and they have enlisted a surprisingly self-serving ally in the ALA crowd. I would have thought ALA would be better than that. Developers should focus on developing standards-based code, minimising their use of browser hacks, and lobbying Microsoft to adhere to standards, not to cover their arses.


Post a Comment

Links to this post:

Create a Link

<< Home