I have spent most of the last weeks changing some designs to use pure CSS layouts instead of table based designs and having to support IE 5.0+. So you can imagine my frustation level. It’s really sad to see the required work to make a complex design work in IE 5.0, IE 5.5 MAC IE 5, IE 6, IE 7, Firefox, Safari and Opera. IE versions prior to IE 6 are really terrible in CSS compliance and you need to have solid IE bug theory to fix those limitations.
It is really sad that here (in Spain) and maybe in other countries too, there are still a significative percentage of users using IE 5.0 and IE 5.5. IMO there should be some kind of movement to delete old browsers from the earth. For example, in Europe there will be an analogic TV shutdown before 2012. There should be something similar periodically for old browsers. For example every year most of the webpages should use an updated script to completely fail in browsers older than 2 or 3 years, forcing the people to upgrade because most of the webpages they visit will not work for them (as some people will only upgrade for that reason).
Talking about browsers, it is sad to see that IE 7 does not pass the ACID2 tests. Also Firefox, the browser that claimed to be more standard compliant than IE and that will save our souls, doesn’t pass the ACID2 tests either (in the 2.0 release). The first version of Firefox was very good compared to the browsers out there but now they haven’t improved it very much lately. Anyway, the developer extensions for firefox are so good that it is a must have. I was very surprised with Opera 9 because it passed ACID2 tests, has finally added support for rich text editing so things like R.A.D. editor (www.telerik.com) finally works and it has an excellent zoom tool, not like the Firefox one that the only thing that does is to break all pages when you zoom a bit.
But to be fair, a big part of the problems are because of the lack of a reference implementation by the W3C. CSS will be better designed and more trouble free with a reference implementation so the people defining and implementing the standard can play with. It won’t be too difficult to produce automated tests to compare rendered web pages with different implementations of the standard using a common set of stylesheets and fonts, so a pixel perfect comparision will be possible if the rendering engines do not employ any dithering. Having a reference implementation to play with will also help in making a more robust and useful specification (why is so complex to align something vertically in CSS when aligning it horizontally is trivial?).
Will this situation change some day? It is changing slowly but with some help it will be able to change faster and let us focus in real problems and not in stupid incompatibility problems that only causes us headaches and slow down web evolution.