dean.edwards.name/weblog/2005/03/the-reason/

The Real Reason Microsoft Won’t Support CSS2 in IE7

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.

Twaddle.

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 (min-width and 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.

Comments (54)

Leave a comment

This was spot on I thought: “It also seems that CSS support may be more important for client side work, and full or complete CSS support makes a thin client more attractive. This would seem to be counter to Microsoft’s push for ‘rich’ clients. So you might not expect them to rush to fix any issues in this area”. If you accept that, then a creaky old engine isn’t a bad thing for MS, as they’re working on something tied to the OS and don’t want to fix it anyway. What happens after Google releases “fuzzy bunny” for the client side on any OS is anyone’s guess at this point.
  • Comment by: stylo~
  • Posted:

It is true that a cultural shift toward web-based applications terrifies Microsoft but providing CSS2 support doesn’t make that much difference IMHO. Lack of decent CSS hasn’t prevented Google from producing some killer apps already. These depend mainly on scripting and use of the HTTPRequest object. Those technologies are now starting to mature. CSS2 is icing on the cake so to speak.

I could be wrong about their engine though. For all we know, they just have to flip a few switches to turn on CSS2 support.;-)

  • Comment by: -dean
  • Posted:
Kinda reminds me of that episode of the Simpsons: “Here’s your problem, you had it set to evil instead of good”. Same with Trident? “Ahh, you had it set to crappy standards support instead of flawless!”
  • Comment by: Dante
  • Posted:

*Sigh* I believe you’re not the first person to notice the appaling state of Trident…

I’m curious about what’s the Next Great Big Thing that MS will release regarding web technologies when Longhorn emerges from the deep. Completely tied-up-to-the-client stuff, for sure, but I’d imagine they’ll come under the guise of “open standards”, if they use some mind-boggingly complex, non-standards-complient XML (MS Office documents, anyone?). So, bye-bye to the advantages of lightweight web applications.

Well, we’ll at least (probably?) get alpha transparency support for PNGs…

  • Comment by: Nelson Menezes
  • Posted:

Isn’t this the same reason that Netscape 4 was scrapped in favour of rewriting it completely? ie: it was easier to build a new standards-based browser from scratch than to patch the creaky machine it had become.

  • Comment by: Kae Verens
  • Posted:

Regardless of whether what you’re saying is true or not, it is widely believed that CSS2 is unimplementable and inconsistent (including, apparently, by the W3C themselves, who now primarily link to CSS2.1 instead despite its “candidate recommendation” status).

The real question isn’t why won’t MS support CSS2, it’s why they won’t support CSS2.1. As I understand it, things that are in CR status are intended to be implemented – in fact I think that’s the whole point of CR status. So for MS to suggest they’re “waiting for CSS2.1” is disingenuous and probably a mask for the real reason, which is probably close to what you’re suggesting.

I do think it’s important to be clear when talking about CSS2 vs CSS2.1, though. Demanding “full CSS2 support” instead of “full CSS2.1 support” leaves MS wiggle room to make the “CSS2 is flawed” argument. If everyone had been correctly demanding CSS2.1 support in the first place, they couldn’t have dodged the question so easily.

FireFox: 1, IE 7: -1 Dean, you are such the man for nailing this one on the head.

Stuart Ballard – CSS2.1 *IS* CSS 2, despite popular belief to the contrary.

Hixie explains it best (as usual)

As for what level of support we’ll get, I believe IE7 will either give us the bare minimum (a few of the more glaring float bugs fixed, quotes for <q> elements etc) or pretty much full CSS2.1 with a few CSS3 selectors thrown in – what IE7 gives us now. Having publicly acknowledged the existance of Dean’s work, the IE team probably feel compelled (privately) to deliver the same. Whether management will let them have the time/resources they need…

I’m not sure if they could port the Tasman rendering engine over by then, but that engine with a few improvements could greatly increase their support of CSS standards.

  • Comment by: David
  • Posted:

Dean, I’m sorry you found my post to be “empty”. However, to set the record straight I would like to point out that in my memory (IE2 and later) Microsoft has *NEVER* released the feature list of Internet Explorer publicly prior to releasing a beta, nor do we announce release dates so far in advance. That “summer release date” you refer to is a beta, not a final release.

MicrosoftWatch.com is not a vehicle for us releasing that kind of information – nor have I (or anyone else from Microsoft that I know of) stated that CSS 2 Is a “flawed standard”. It has its problems, of course, but that’s why we participate in the CSS Working Group – to try to iron out those flaws in maintenance releases of the standard, such as CSS 2.1.

One technical point – it is not correct to state that, in the current Trident engine, text cannot flow around an element with layout. It would be correct to state that an element with layout cannot allow floating elements to impinge on the layout of its contents, however.

Chris, don’t get me wrong, your post was a pretty interesting read really.;-)But I read it hoping to learn about “IE and Standards” in the future, not the past. That’s where it was empty. If you want a wider view you can read the repsonses yourself.

Microsoft has *NEVER* released the feature list of Internet Explorer publicly prior to releasing a beta

Microsoft has never blogged about a release of Internet Explorer before either. Precedents do not apply in this case.

nor have I (or anyone else from Microsoft that I know of) stated that CSS 2 Is a “flawed standard”

Cool!:-)If you want me to remove the quote from MicrosoftWatch.com then I will as a matter of courtesy.

  • Comment by: -dean
  • Posted:

The closest thing to the source code you can get for Trident is to find mshtml.dll, and explore it with PE Explorer. You can see the the names of functions and such, but not source code. You can also see bits and pieces of random HTML stuff by opening mshtml.dll in notepad.

  • Comment by: Dante
  • Posted:

Why IE7 Will Not Support CSS2 It can’t. At least, that is what Dean Edwards is saying. He has had a look at the rendering engine used in IE, named Trident. He says that for that engine to support CSS2 properly, it would need to be…

The Real Reason IE7 won’t support CSS2 For the design minded this will be of interest i think. Dean Edwards has apparently been playing around with IE’s new rendering agent, Trident, and has som

IE7 and CSS2 The IE7 development team recently announced that they will not support CSS2 due to being a flawed standard. Further insight from Dean Edwards might explain the reasoning as they can’t, more than they don’t want to. Interesting reads for a rainy d…

  • Trackback by: Wyome
  • Posted:

[…] , March 19th, 2005 at 4:57 am by XeroCool At least, that is what Dean Edwards is saying. He has had a look at the rendering engine used in IE […]

Dean, have you tried searching for your name in the “IE and Standards” post? Apparently you’re being highly recommended for a job at Microsoft.:)

  • Comment by: Adam M.
  • Posted:

[…] osoft, it had better fix the problems (which including full CSS2 support). Unfortunately, rumor has it IE7 will not fully support CSS2. ‘Tis a shame. […]

The Real Reason Microsoft Won’t Support CSS2 in IE7 The Real Reason Microsoft Won’t Support CSS2 in IE7…

Apparently you’re being highly recommended for a job at Microsoft.

Microsoft did contact me when (my) IE7 became public. I don’t want to work in the USA so the matter is pretty much closed. They were very friendly and I was very flattered.;-)

  • Comment by: -dean
  • Posted:

They won’t hire anyone outside the USA? That’s kind of debilitating isn’t it? I would think given their needs at the moment that they would hire whomever had the skill to do the job. After all, the internet does allow you to do work and submit it remotely? IBM sets a nice precedent of a large company doing that sort of thing.

I too would highly recommend that; that is, if you don’t mind being associated with such a lumbering and doomed project. : p

  • Comment by: Dan Lewis
  • Posted:

The Real Reason The Real Reason Microsoft Won’t Support CSS2 in IE7…

  • Trackback by: Link-Fu
  • Posted:

I think firefox has had a very deep impact on the net more than has been realized so far, for the most part except for elite webdevs everyone else is in a stupor as to how next to code their sites to standards. is it just me or does the windows xp media edition internet explorer act exactly like firefox. I mean exactly in terms of popups and blocking active x controls. although firefox can be made to freeze and not respond at all til you restart your computer and I have run across some sites being able to change all your firefox pages OR tabs to whatever sites the last popup wants and then close all instances of them the same way as it happens in IE. So far as of now Firefox has the upper hand in the area of presenting the web for most non-windows OSes “according to standards” that is about it. For the general public when MS finally secures their browser as well as firefox is now, that is all they will care about. While you guys are arguing about standards, MS is quietly closing their security holes ironically learning from firefox how to do this but ignoring firefox’s ability to conform to standards(on purpose probably maybe), when that day comes and IE says they are just as secure as firefox, you might as well call firefox netscape.

My above comment, I don’t like it either but I think it is true.

MS has been closing security holes for several years now, and I cannot call it “quietly”. There is much bragging every time. On the other hand they will not disable AcitveX (who needs IE without AcitveX?), so they will be busy closing those holes for years to come.

  • Comment by: Rimantas
  • Posted:

>>you might as well call firefox netscape.

Interesting theory. I think it depends how many people are using Firefox as a temporary tool until the next IE is released. If however people are using the fox because they think its cool, then MS will not be able to defeat it so easily.

  • Comment by: David
  • Posted:

Dean I was going to say that you are totally clueless and you have no idea what you are talking about, but then I saw Chris’s post and he showed how much I was right. But I am going to go ahead and tell you what I was going to say anyway.

“We already had a release date of sorts (a beta release in the summer). But no feature list. “

How do you know that it is customary for Microsoft to release feature list? Do they relase feature list everytime they release software? Let’s assume you know what you are talking about and move to the next topic.

“One partner said that Microsoft considers CSS2 to be a “flawed” standard and that the company is waiting for a later point release”

Now, let’s see. You are quoting a magazine that is in no way a trusted source which may or may not quote a true partner which may or may not misunderstand or even worse lie about something it may or may not have seen. And then just based on this alone you conclude that CSS 2 will not be on IE 7.

Ok that was not smart, but you say something even worse. You claim that Microsoft has to rewrite the rendering engine without even looking at the source code and worse you have no idea how to implement one in the first place. In other words you are clueless to understand how to implement css2 on top of an existing rendering engine yet you claim that it is impossible.

The only thing I can conclude about you is that you are not a smart guy.

  • Comment by: Anonymous Coward
  • Posted:

My article is a little inflammatory it’s true.;-)I don’t think I’ve done any harm though. I’m happy to eat a little humble pie if Microsoft prove me wrong.

  • Comment by: -dean
  • Posted:

Dean wrote: “Microsoft did contact me when (my) IE7 became public. I don’t want to work in the USA so the matter is pretty much closed. They were very friendly and I was very flattered”

Am I missing somethnig? Is your IE7 more than a library of javascript functions?

  • Comment by: Al Sparber
  • Posted:

I haven’t really been getting my hopes up much anyway– it’ll be a while before all the old IE6 browsers disappear enough for it to be excusable not to support them.

Even if IE won’t officially pursue CSS2, hopefully they’ll at least throw in some new selectors and such, that we might all be able to clean up our markup a good bit. Even the child selector would make such a difference. And, given IE’s groovy XPath support with XML documents, perhaps it’s something that could indeed be added on the CSSside before betatime.

I guess we’ll see.

At least IE5.0 is on the way out. We’re getting more Opera than IE5.0 hits over at deviantart.com as of this week, which is nice news, after having to put up with 3% hits coming from IE5.0 half a year ago.

Nearly 30% for Gecko hits for us, too. That’s huge. Things like that make me think that IE7 not improving much, might not be all that bad.

I’d love to see Gecko implementing some of the WHATWG stuff-, or some of Safari’s interesting new proposed extensions- something to make developers want to say ‘use firefox browsing my site pleeze’, like IE did with its fancy filters and everything else back in the day. Something to show to the IEteam, other than pointing to a document full of ‘standards’ (alas, recommendations) to make them want to improve IE. I don’t suspect that pointing at the rival browsers and saying ‘look! standards!’ is impressing anybody on teamIE.

‘look! every other browser lets me use this canvas element thingie!’ That sounds a bit more attention-getty.

Maybe I’m way off. But my suspicion is that the IE team just isn’t interested in standards. The team’s been working on some kickass web technologies like scripted filters and all sorts of fun activexobjects. Implementing some new CSS toys… that’s a step down from the glamour… that’s not something I see motivting a team.

All the crap they’re taking from people on the blog probably isn’t helping matters. They’ve made it clear that they have more people to listen to than just the developers; and I suspect they might just start filtering out the developers if all they’re getting is loud noise about the same, basically dull, requests.

I’m not saying it’s an excuse for them– but it seems to me likey that it could happen.

Arr.

The Browser the Way You Want It I’m in awe of Dean Edwards’ IE7, considered by many to be the CSS rosetta stone for Microsoft Internet Explorer (MSIE), which also still happens to be the most widely used web browser on the planet. For the long-frustrated…

  • Trackback by: Joe's Apt.
  • Posted:

What I don’t get is.. why doesn’t MS just take *your* IE7 scripts and embed them into *their* IE 7? This way users won’t have to download the script and everything will just work beautifully. Combine that with the PNG fix that they will hopefully put in and we have all our wishes come true. Maybe having javascript do all that rendering is a bit slower than actually implementing it as part of the browser, but hey.. at least its an option…. just a thought.

  • Comment by: Ramin
  • Posted:

Could be wrong but I get the impression that MS are reluctant to become fully standards compliant and would rather everyone was browsing using IE and their own ‘MS standards’.

  • Comment by: Sol
  • Posted:

I can imagine how it went. All those MS developers happily heading towards IE Avalon, when some managment type decides to introduce IE7.

They must have sat round a table to decide what they could include and what they couldn’t. And I’m figuring that if IE7 is to make any headway at all with the general public before Avalon, it’s got to prioritise user ‘features’ over standards and developer fixes.

They won’t give us a list of features, because they’re on a tight timeline and some stuff won’t make it – that’s understandable with our anti-MS press. You know they’d just be harping about what was missing.

IE4 had ‘channels’, Netscape had ‘push’. Both were selling points for the public, not the developer. As such, both were popular even though those features died.

I’m predicting Tabs, to catch up with FireFox, even more security lockdowns (bleah) to charm the public, probably some iTunes interoperability, more font antialiasing, if we’re lucky, PNG support and a whole new set of shiny icons. They’ll want to make the headlines for users, not make us developers happier.

I don’t think it’d kill them to add more strict doctypes and I’d love to see WHATWG, but that’ll be unusable for at least a year, when enough people (or the whole corporation) upgrade.

I think I’ll stick to Dean’s IE7 until the next real step (Longhorn/Avalon/whatever).

  • Comment by: Kenneth
  • Posted:

[…] t release, such as CSS2.1 or CSS3, before throwing its complete support behind it.” (Link Seriously man, FUCK microsoft. God I need to flush my XP machine down the drain. […]

I’ve heard from a fairly reliable source that IE7 is not going to be based on the Trident engine. I just hope they fix their existing css bugs, but I kinda doubt they’ll do that, because it’ll “break” so many pages out there that are written to IE-standards.

  • Comment by: anon e mouse
  • Posted:

They should do this because we are worth it and I think that MS is trying to get back at the world for accuessing them from using monoply tactics with IE.

  • Comment by: Peter
  • Posted:

IE7 Beta 1: The Annoyances There are few things that annoy me about IE 7.00.5112. First off, it’s not all that great. I just don’t feel overwhelmed when I run it, you know? I definitely had high expectation when I downloaded it, but those are all in vain. Instea…

[…] th, 2005 Leo en barrapunto : Varios medios se hacen eco del artículo "La verdadera razón por la que Microsoft no soportará CSS2 en Inte […]

from a web developer’s stand point, internet explorer has held us back from implementing reccent technologies like xml, xhtml, css 2, etc.

to say IE 7 will be an improvement, is nothing more than a dream, the fact that firebird (firefox) went from beta to 1.x in less time than the release of IE 6’s SP1. i have read through some of the features that IE 7 currently has, and all the new IE features (pop-up blocking, tabbed browsing, etc., one unique feature is the “anti-phish” thing, probably there to offer a “sense” of security for stupid people) are nothing more than a copy of what mozilla has had for a long time. in my opinion, IE 7’s release will be only an attempt to stop the blood letting of users that are switching to the “alternative” browsers like mozilla and opera.

it’s funny, as of several years ago, i have gone from using IE for browsing and using mozilla for testing web pages to using mozilla fulltime and using IE only for test web pages. i have learned though experience that taking IE out for a strole on the WWW is damn near suicidal.

i think it is safe to say, bill gates is starting to feeling the heat of the open-source community

  • Comment by: SK
  • Posted:

buy strong Coca tea at http://ie-seven.com

If I understand it correctly, png alpha transparency will be supported by IE7.

Until IE7 gets widely accepted by users, here’s a simple css hack that ensures it that both IE5+ and other browsers (with native png transparency support) display transparent png pictures properly, and at the same time (and without lengthy javascript trickery): http://7black.uw.hu/PNG_css_hack/PNG_opacity.html

I just thought you might be interested.

[…] n will browsers comply with CSS 2.1 Here’s an interesting reading from one blog – The Real Reason Microsoft Won’t Support CSS2 in IE7. Here’s something from the draft […]

[…] DOM implementations, and Redmond still doesn’t seem to be willing to support CSS2. (See: http://dean.edwards.name/weblog/2005/03/the-reason/) Anyway, enough about IE’s shortcoming […]

i know this is off topic but– if i were to complain about anything it would have to be… microsoft should made IE7 compatible with older systems, there are still lots of user of windows 98se. if you think of it 98se is more secure than xp almost, ive hardly ever had an attack of anykind in months. i would like to see support for windows 98se in IE7.

  • Comment by: johnboy- 98se
  • Posted:

[…] Pero sigue todo con la misma tendencia: problemas conocidos desde hace años que siguen sin solucionar, extrañas políticas de actualizaciones de seguridad, mal soporte de las tecnologías web (como CSS2), etc. Espero que Microsoft arregle esto algún día, aunque es poco probable. […]

[…] Pero sigue todo con la misma tendencia: problemas conocidos desde hace años que siguen sin solucionar, extrañas políticas de actualizaciones de seguridad, mal soporte de las tecnologías web (como CSS2), etc. Espero que Microsoft arregle esto algún día, aunque es poco probable. […]

[…] The Real Reason Microsoft Won’t Support CSS2 in IE7. IE 7 tampoco soportará el estándar de hojas de estilo CSS2, que todos los demás navegadores soportan desde hace varios años. (en inglés) […]

[…] IE6 supports what is actually fairly basic CSS. Firefox and other standards compliant browsers are way ahead in their support. CSS2 is not supported by IE6. Strangely enough it isn’t supported by IE7 either! […]

noah

  • Comment by: yeaah
  • Posted:

[…] The Real Reason Microsoft Won’t Support CSS2 in IE7. IE 7 tampoco soportará el estándar de hojas de estilo CSS2, que todos los demás navegadores soportan desde hace varios años. (en inglés) […]

  • Comment by: yeaah
  • Posted:

[…] The Real Reason Microsoft Won’t Support CSS2 in IE7 […]

Well, I’ve only just experienced this issue and it seems most of the posts I have read are from 2005 onwards. Am I to believe that this issue is still unresolved?

I am writing this post using Firefox and I can only view my site currently with Firefox – http://www.virtualburn.co.uk

Still can’t find any details on what in My CSS is causing this issue??

  • Comment by: Darren
  • Posted:

[…] The Real Reason Microsoft Won’t Support CSS2 in IE7. IE 7 tampoco soportará el estándar de hojas de estilo CSS2, que todos los demás navegadores soportan desde hace varios años. (en inglés) […]

Comments are closed.