Standards, quirks and meta
Last week Microsoft announced through their IE blog that the upcoming next release of the most used web browser on the planet will have a third rendering mode. IE8 will be Microsoft's first web browser to pass the ACID2 test (for the record Firefox 3 will also be the first by Mozilla), but the enhanced standards compatibility has a price.
When looking at the three other major browsers, namely Firefox, Opera and Safari you'll discover that each one of them has at least two "official" rendering modes: standards and quirks mode. The first one is the perfect rendering mode where the web browsers tries to exactly follow the standards as specified by the W3C to render a page. The latter one is the imperfect world rendering mode, where the web browsers tries to render the page using common "mistakes" or incompatibilities introduced by IE.
So how are these modes switched? For Firefox, Opera and Safari quirks mode is triggered by certain old HTML doc types, or lack of a doc type declaration. Documents with newer (or unknown) doc types, or sent as XML, are handled in standards mode.
However for IE8 Microsoft wants to add a meta tag to web pages to allow the web browser to easily parse the content and switch the rendering engine. This means that when this meta tag is not available, IE8 will fall back to the faulty IE6/IE7 rendering mode. Instead of following the same footsteps as the rest of the web browsers, Microsoft came up with this new idea, which is logical in one way or another. Lots of pages are made for IE, and will break if they use the new IE8 rendering engine, which follows the standards more closely. To prevent the entire internet (and intranet) from breaking, or slow down IE8 acceptance, they need to give people a safe option. In fact once web developers will continuously use the meta tag to identify their web site as standards compliant we might see IE9 or IE10 to finally switch to be, by default, more standards compliant.
Can't Microsoft just support a standards and a quirks mode. If there's no doctype, then it means the page was written by some kid on Geocities. If there is a new doctype, feed i t into standards mode. Ultimately, though, Microsoft is allowing crappy websites to exist on the web, not forcing people to update their webpages to standards compliance... In fact, IE is encouraging them to not write in standards compliance by having IE not be a standards compliant browser. The best solution for this problem is for IE to just leap towards standards compliance, get coders to follow that leap, and then it'll solve a lot of the time and money problems both for browser vendors and for web developers.
This seems like a much better option than taking 10 years to slowly adjsut people to the standards, meanwhile charging companies 10 years worth of special-coding for both IE and standards-compliant browsers. Not to mention, with this new meta tag idea, web devs will need to know the differences between every IE version to support each one's "features", commonly known as bugs and overall crappiness.
Despite being an Opera fanboy, I think it is good. The only potential bad thing is if IE8's "standard standard" mode is full of quirks too then the whole thing is for nothing. But if IE8 lays down a solid standards base to build upon, this should be a good thing for everybody. Just to be clear though, IE8 is going to have 3 rendering modes (pre-IE7 quirks mode, IE7 "standards" mode, and IE8 actual standards mode)?
Yes there will be three rendering modes available in IE8:
Post new comment