105 - Always back to quirks mode
Step 1: Design a web app for IE’s ‘quirks’ mode.
Step 2: Try to make it work in ‘standards’ mode.
Step 3: Go back to ‘quirks’ mode.
These are the three steps I’ve been through this morning. I am mainly a HTML/CSS guy; I don’t really mess too much with JavaScript. I thought that the Doctype switch was mainly to turn on valid CSS support. It would turn out that I am wrong. It also turns on the W3C DOM. Which I guess is understandable, really.
The problem is that this also seems to turn off some parts of the IE DOM. This causes errors in rather a lot of places in the site I am looking at converting to standards mode. Sometimes these are silent and just result in “things just not happening ™” and others give errors in the parsing of the code itself. Whilst I’m an ardent supporter of W3C standards and ideals, I’m not a great fan of flogging myself over it right now for an IE only site. So, for now, Quirks Mode it is I guess.
This brings up some more issues on how Microsoft operates. Whilst perusing the MS documentation on the Doctype switch, I came accross this interesting quote:
The position is very clear—because a standard exists, that does not mean Microsoft will automatically implement it. Microsoft will implement appropriate standards that we believe are useful to our customers.
Being a company, MS of course needs to only implement the things that will keep it going as a business. However, as I touched on in an earlier post, some of the time Microsoft have such a large control over the market that they need to put at least some effort into making standards work. Something like the Internet should not be lead by a Microsoft whim. Adding plenty of propietery extensions within Internet Explorer lead the the ubiquitus “Best Viewed With…” logos of the late 90s as IE and Netscape went further and further from the standards. We don’t want to end up back there again.
This time around we are looking at methods to provide limited styles to IE and then improve the user’s experience for those using newer browsers. Take MOSe as a good starting point for this. Thanks to CSS parsing bugs in browsers, we can provide a single style sheet to browsers which contains specific small hacks to get around browser’s shortcomings. Much easier than providing different versions of a site to different browsers, though still not ideal.