After first announcing that there will be a new version of Internet Explorer, Microsoft went mysteriously quiet. After digesting the announcement, what everyone wanted to know was – what’s going to be in it? We already had a release date of sorts (a beta release in the summer). But no feature list. The ensuing silence masked an internal confusion. Subsequent announcements on the IEBlog were bland at best. Another empty post regarding IE and Standards was met with dismay by the web development community. Today it began to emerge, what developers already suspected, IE7 will not support CSS2. The reason?
One partner said that Microsoft considers CSS2 to be a “flawed” standard and that the company is waiting for a later point release, such as CSS2.1 or CSS3, before throwing its complete support behind it.
Microsoft won’t support CSS2 in IE7 because they can’t. Not with that “summer release date” anyway.
I’ve had a good look at IE’s rendering engine, Trident. I’ll qualify that by saying that I’ve spent a lot of time testing it and playing with it but I’ve never seen the source-code. From what I can tell, to support CSS2 layouts properly, Microsoft would have to re-write Trident. Not a trivial task and certainly not one that you can perform in six months. It occurred to me that they might use some unreleased engine, part of the Longhorn arsenal of weapons. But it would be equally difficult to integrate a new engine with the existing shell and maintain backward-compatibility.
My first inkling that the IE rendering engine was hopelessly knackered came when I first discovered “layout”. When an element in the document tree acquires “layout” it seems to drop out of the document flow. It starts to behave a little bit like a window. Text will not flow around it properly for example*. It is almost as if there were two competing layout engines within Internet Explorer.
The IE development team was reformed in a hurry. Developers who hadn’t seen the IE source-code for years have been dragged away from other (probably more exciting) projects. Announcements have been made lacking important details such as feature lists and release dates. This is an embarrassing knee-jerk reaction to the rising popularity of Firefox.
Whilst we all applaud the security fixes, what we really wanted was support for web standards, particularly CSS2. We are not going to get what we want. A few tweaks maybe (
max-width for example) but not full support. It is my belief that full support is beyond Microsoft’s foolish summer release date. Yes, they have lots of resources. But it still takes an hour and a half to roast a chicken no matter how many ovens you’ve got. Trident is broken. It needs a major overhaul before it can properly support CSS2. We are going to be stuck with its flaws for a long time yet.
*See Chris Wilson’s comment below.