Compatibility and IE8


In Dean’s recent Internet Explorer 8 and Acid2: A Milestone post, he highlighted our responsibility to deliver both interoperability (web pages working well across different browsers) and backwards compatibility (web pages working well across different versions of IE). We need to do both, so that IE8 continues to work with the billions of pages on the web today that already work in IE6 and IE7 but also makes the development of the next billion pages (in an interoperable way) much easier. Continuing Dean’s theme, I’d like to talk about some steps we are taking in IE8 to achieve these goals.

I’ve been on the IE team for over a decade, and I’ve seen us apply the “Don’t Break the Web” rule in six different major versions of IE in different ways. In IE 6, we used the DOCTYPE switch to enable different “modes” of behavior to protect compatibility. When we released IE 6 in 2001, very few pages on the web were in “standards mode” (my team ran a report on the top 200 web sites at the time that reported less than 1%) – few people knew what a DOCTYPE was, and few tools generated them. We used the DOCTYPE switch in IE6 to change the box model to comply with the standards and enable developers to opt-in to the new behavior. We’d already seen so much content written to IE5.x’s non-standard interpretation of the CSS2 spec that we couldn’t change it without causing a slew of problems.

In IE7 we made a lot more changes to improve IE’s standards compliance, particularly with CSS. We limited these behavior changes to IE’s “standards mode” only, and we expected that this would help limit compatibility problems as it had in the past.  Unfortunately, and somewhat surprisingly to us, this wasn’t true; many of those changes made IE incompatible with content that was already part of the web. It turned out by the time IE7 shipped in late 2006, roughly half of the top 200 US web sites were in “standards mode”. Many of those sites had been “opted in” to standards mode by a tool that generated their content; many of them had probably been hand-coded by someone who was trying to do the right thing, and make their HTML code valid according to the W3C. Regardless, users of those sites expected them to keep working the same, even when they downloaded a new version of IE.  Unfortunately, that didn’t happen.

But wait, a lot of people say at this point, why isn’t this a problem for Firefox, or Safari, or any other browser? The answer is that developers of many sites had worked around many of the shortcomings or outright errors in IE6, and now expected IE7 to work just like IE6. Web developers expected us, for example, to maintain our model for how content overflows its box, even in “standards mode,” even though it didn’t follow the specification – because they’d already made their content work with our model. In many cases, these sites would have worked better if they had served IE7 the same content and stylesheets they were serving when visited with a non-IE browser, but they had “fixed their content” for IE. Sites didn’t work, and users experienced problems.

In short, there was an expectation that even under standards mode, IE would keep working the same way.  Because sites expected IE6 behavior, the DOCTYPE switch failed to protect compatibility in the real world when we changed behavior under standards mode to become more compliant. We realized that “Don’t Break the Web” should really be translated to “Don’t change what developers expect IE to do for current pages that are already deployed.” (Of course, for content that is developed to a later standard that isn’t deployed yet, you can expect different things.)

With this painful and unexpected lesson under our belt, we worked together with The Web Standards Project (in the WaSP-Microsoft Task Force) on this problem.  I can’t give them enough credit for this work; it’s tough to step into the shoes of a browser vendor that ships to half a billion users to figure out what the best thing to do is, when you really just want to sit down and write code to the standards. We started from a simple statement of “enable (and encourage) interoperable web development, but don’t force IE to break pages that work properly in IE today.” I think we all want to converge to a world where a web developer doesn’t have to spend much time at all testing and recoding their site for different browsers.  At the same time, we can’t break the web experience on current sites for users like my mom, even for as good a reason as improving standards compliance.  With all the great styling and layout changes we’re working on in our new engine for IE8 to be much more standards compliant, that’s a lot of potential breakage. (More details in the near future, but the Acid2 announcement gives you some idea.)

We realized that the model for web development was really “write to the standard, then test against and fix problems in the most popular browsers.”  This meant that the web developer had one crucial piece of information we could make use of – what version of IE they had tested against, and after much discussion in the WaSP-MS task force, we ended up with a <meta>-based “opt-in to the browser version I tested with” strategy. 

Aaron Gustafson, one of the members of the WaSP-Microsoft Task Force wrote an article detailing where we ended up that was posted on A List Apart today; I highly recommend reading it for a different perspective. I’ll summarize, though, that:

  1. “Quirks mode” remains the same, and compatible with current content.
  2. “Standards mode” remains the same as IE7, and compatible with current content.
  3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.

We believe this approach has the best blend of allowing web developers to easily write code to interoperable web standards while not causing compatibility problems with current content. We also think this approach allows developers to opt in to standards behavior on their own schedule and as it makes sense to them, instead of forcing developers into a responsive mode when a new version of IE has different behavior on their current pages. I’m excited by all the standards work we’re doing in IE8; I’m even more excited that we won’t cause a lot of compatibility problems for our users and web developers.

Chris Wilson
IE Platform Architect

Comments (702)

  1. Rowan says:

    Thanks for posting this, let’s spread the news around.

    Digg This: http://digg.com/tech_news/IE8_Super_Standards_Mode

  2. Cory Nelson says:

    I wish this wasn’t needed, but backward compatibility is important and it does seem like the best solution with that in mind.

    I’m curious why a whole working group was needed to come up with such an obvious solution though!

  3. tShao says:

    It’s really no fun to switch the <meta> tag in the source code for the purpose of testing. At least, it could be a switch in IE configuration or IE Developer Toolbar to turn the IE8 standard mode on/off.

  4. Xepol says:

    Enough nonsense.  Point the finger where it belongs – squarely on the webdevelopers and site owners for having their heads lodged firmly up their posteriours.

    It isn’t like they didn’t have any notice.  IE7 was in beta for a good long time, the IE team was VERY vocal about what was going on and coming down the pipe.  

    I say enough of this bloody nonsense.  Break the bloody web, and maybe, just maybe, we’ll finally be able to break free of the morass of the pre-IE7 days.  

    Quirks mode be gone.

    Just put in standards mode and be done with it so that everyone can more forward to a stable, standard platform and finally be convinced that they need to get off their duffs and fix up their websites for new versions instead of assuming that nothing will change.

    Heck, if you want quirks mode, make it so they have to have the meta tag for that.

    Trying to fix around the fixes for problems that aren’t even there anymore isn’t going to do anything but cause more problems.

    LET THEM BREAK IF THEY CAN’T BE BOTHERED TO MAINTAIN THEIR SITES!  

  5. Nemeseri says:

    @Xepol: if they break the compatiblity with older sites they will lost market share instantly.

    wow… quirks mode, standards mode, super standards mode… :D

    In IE9 we will see the super duper standards mode… this will be the ABBA release… hehe

  6. jm says:

    This is retarded. If you’ve learned anything in developing IE, it’s that new versions don’t encourage developers to use standards. They’ll open their site in IE, and see that their IE5 code looks the same now. If it looks the same, then why change coding techniques? I thought IE8 was about advancing the web. I thought advancing the web didn’t include stuffing your head with useless meta tags.

  7. EricLaw [MSFT] says:

    @tShao– Good feedback, thanks.

    @Xepol– If only it were that easy…

    Pointing fingers does nothing to help the end user, who just wants the yesterday’s content to keep working.

    Even assuming that all sites on the Internet have active development teams (a large and incorrect assumption), what is to be done about all of the content which is no longer editable for myriad other reasons (e.g. burned on CD/DVD/etc being the most obvious)?  

  8. Peter Michaux says:

    It is simple. From the point of view of CSS hacks and JavaScript, kill the IE brand. Call it IF or something but just don’t identify as IE anymore and make sure none of the popular sniffs or hacks work. Problem solved. You can still market it as IE. Only developers will notice the difference.

  9. Peter Michaux beat me to it!

    If this problem only affects Internet Explorer due to the fact that sites check for the agent string or whatever, then just radically change the agent string!

  10. Stifu says:

    As some people suggested, I hope you’ll make it so the meta tag won’t be needed in some cases. Like if the doctype is for an HTML5 document, or if the page is served as application/xml.

    That wouldn’t break the web at all, and would spare us the extra tag in the future.

  11. Sami says:

    I’d prefer having the superstandards mode on by default. Let the user switch to quirks mode, if the page is not displayed.

    IE7 gives an enormous warning about invalid ssl certificates, why not to do the same about invalid markup?

  12. Little Dave says:

    I think the additional meta tag is a very good idea. Another suggestion though, would be the ability to enable ABBA standards mode from external documents, such as CSS files (Maybe in the form of a CSS comment). Then, we don’t have to clutter up our HTML with code that isn’t necessary.

    e.g.

    CSS File

    /* @IE8:supermode=true */

    #normal

    { rules-go:here;

    }

    And, while I’m here, one more suggestion:

    The conditional comments feature of IE6 and 7 is good. It solves a lot of problems. However, it also means we still have to alter our document structure JUST FOR IE. Would it be possible to enable conditional comments directly within our CSS? You already do this with Javascript. Then we don’t have to maintain two different CSS documents, which is a right pain in the space between </head> and <body>.

    Dave

  13. kimblim says:

    For me personally the best thing would to drop the backwards compatibility and let all the webdevelopers and companies who didn’t care about standards pay the price. However, the META-solution seems like a reasonable compromise although by v9 it must time for quirks-mode to die. By that time it will have been at least 8 years since IE6 was launched, and 8 years must be long enough for people to learn about doctypes.

  14. AC says:

    Well, how convenient for you. So what you’re saying is that you’re going to allow people to write says it’s standards compliant when it isn’t because you’ve screwed up in the past. Well, guess what, this is the present and you’re screwing up again. You’ll "suffer" this decision at some future point when you’ll come back with another point and analysis that will justify further leaving the web in a b0rked state. And it’s convenient as it continues to keep standards compliant browsers at bay through your monopoly of the market. Good work.

  15. IE 5 -&gt; IE 6: Quirksmode -&gt; Standardsmode per DOCTYPE IE 6 -&gt; IE 7: Es wurden eher nur offensichtliche Bugs in der bisherigen CSS-Implementierung gefixt. IE 7 -&gt; IE 8: Standardsmode -&gt; Best Standardmode per &lt;meta&gt;-Tag http://blogs

  16. You’ve been kicked (a good thing) – Trackback from DotNetKicks.com

  17. M T says:

    I completely agree with Sami – SuperStandards should be ON by default. If IE7/quirks mode is needed, the meta tag should be used.

    And backport this meta tag to IE7 and IE6.

    This would make a lot more sense.

  18. Rowan says:

    Will it be possible to target IE6 with this new meta tag as well? For instance, using IE8, could we use content="IE=6" to see how the page would look in IE6? I won’t complain if it’s not implemented, because IE6 should be forgotten anyway.

  19. Yves says:

    Standard should be on by default, or just call your browser ‘IE 7 extended’.

    You’re not going to break anything, all the web works fine on Safari, Firefox, Opera & Co.

    What’s actually breaking the web are deprecated browsers like yours :)

  20. virtualblackfox says:

    You guys totally and utterly SUCKs.

    I’m bored to add "I want IE to support standards" tags everywhere (DOCTYTPE, meta, what next ??? a special comment <!– I wish for microsoft to do the right thing at least one time in their life –> ?).

    Nice to see that at least IE8 will follow vista with the philosophy : http://garywiz.typepad.com/trial_by_fire/2006/03/windows_vista_p.html

  21. ruemere says:

    Why not just enable side-by-side install for IE8 and IE7-? Also, allow users for easy switch between rendering engines of these browsers.

    IE8’s unique agent string – great idea.

    Also:

    - say NO to full system integration – shell becoming unresponsive due to browser problems is simply unacceptable. This is twenty first century and application should be able to break down without affecting the rest of its environment.

    - say YES to multiple sandboxes – one instance of the browser should not affect other instances.

    - say YES to user sandbox finally – it’s a calamity that web applications require higher priviledges under IE than Mozilla.

    Sigh.

    Regards,

    Ruemere

  22. Webdesign says:

    I’d prefer having the superstandards mode on by default. Let the user switch to quirks mode, if the page is not displayed.

  23. Eric Eggert says:

    That’s just rubbish.

    People shouldn’t have to opt in for the best Version of IE. If someone’s expecting IE8 to behave like IE7 he should opt out to IE8s behavior. Many web developers don’t know about Doctype-Switching and struggle with IE5.5s flaws in IE6 and 7. Now you expect them to have knowledge of both: Doctype switching AND IE8 Super Webstandards Compatibilty Mode Like it’s 2004?

    Microsoft is doing the wrong thing over and over again. There is absolutely no need in having wrong done websites displayed right. Although, I admit, for very old sites there may be a good cause for the quirksmode.

    Standards based websites WILL NOT break in a new version of IE. Thats the reason, why they don’t break in all other major browsers, like Firefox and Opera. We use conditional comments to give IE7 and 6 what they need. If the new engine is on par with current browsers no site should break.

    Probably Microsoft is doing it’s own type of standards mode? Do we get new incompatibilities to Firefox, Opera, Safari? Is that the reason, why you are promoting this? If not, give us the standards mode every other browser has since ages. If so, i’ll advice everybody to use another browser or stay at IE7, which has expected behavior but many shortcomings, because I will not support IE8 anymore.

    I will not clutter my HTML with unnecessary proprietary markup, because the IE folks don’t know how to make a decent browser. I won’t even clutter my HTTP header, if that’s an option.

    The idea alone is stupid, retarded and not useful at all. It was great to see IE8 passing Acid2 but then you’re coming with such a stupid thing  to enable the browser to do what he was expected to do three years ago. Makes no sense. At all.

  24. Steve says:

    Once you have an IE which is standards compliant, or pretty darn close to it, then I don’t see a need for the meta tag thing.

    What I am most shocked to see, and I hope I am misreading it, is "’Standards mode’ remains the same as IE7, and compatible with current content." Why not keep quirks mode as it is, and upgrade standards mode? People (web developers) don’t want to deal with three different modes, and they certainly don’t want to deal with another line of IE-unique code.

    By the way, (sorry to go off-topic) when is SVG coming to IE?

  25. Takazudo says:

    >Sites didn’t work, and users experienced problems

    Can’t you understand why this happened?

    It’s because funny behavior like IE6’s box overflow model is unfortunately known to all people much more than right CSS2’s overflow model now.

    I thought that you are testing Acid2 and making IE8 for perfect compatibility with other browsers like FF, Opera and future browsers under the right specification but was it my misunderstanding?

    I hate all meta tags you made.

    imagetoolbar? conditional comment?

    How many meta tags should we write in HTML in 10 years?

  26. Kenneth says:

    I understand the above, but don’t remember huge problems in upgrading the sites we work on for IE7.  We had a mix of standards and non-standards websites, and most were upgraded for IE7 easily. (Most didn’t need to)

    Will this meta tag affect the conditional comments?

  27. Aaargh! says:

    "we can’t break the web experience on current sites for users like my mom, even for as good a reason as improving standards compliance."

    Yes you can, you don’t want to, that’s something completely different.

    Btw, why are you still working on this POS rendering engine, there are lots of other free options available that work a LOT better than IE ever will. Just drop Trident and replace it with WebKit or Gecko.

    You guys are reinventing the wheel, again. Probably just a bad case of not-invented-here syndrome.

  28. Robin says:

    So you won’t be passing Acid2 then? Shame.

  29. Paul says:

    In IE8 why don’t you just shift the current modes? So Quirks mode renders pages as if it were IE7, and Standards mode renders pages as if it were IE8?

    By the time IE8 comes out there shouldn’t be a reason for people coding to IE6 standards…

  30. Paul says:

    In IE8 why don’t you just shift the current modes? So Quirks mode renders pages as if it were IE7, and Standards mode renders pages as if it were IE8?

    By the time IE8 comes out there shouldn’t be a reason for people coding for IE6 quirks…

  31. Mihai Tarmure says:

    I agree, super-standard mode should be the default mode. That way, any new website won’t need much of a cross-browser testing.

    Detect if website was built with conditional comments for IE6 or IE7 or with classic hakcs, then render the old content with the old engine. Older sites should work, newer built websites should be standard compliant. Gradually, old sites will be replaced.

    You can’t come after so many years of ignoring us and say, you know, we’re getting there but probably IE9 will do it.

  32. Mihai Tarmure says:

    I really understand the need of having a choice when it comes to a web-browser. But why has the rendering engine have to be the main concern?

    Why have several different foundation engines striving to reach exactly the same result?

    Why not make the rendering engine a plugin, develop the engine as open-source but let the rest of the browser closed-source. Each browser will have its own proprietary interface, unique set of features, but at least the rendering engine will be essentially the same.

    There will still be competition among the browsers.

  33. Peter Kasting says:

    I think this is a catastrophically bad idea.

    Notably, no other browser has ever needed such a concept, because the other browsers all regularly release updates that fix rendering bugs, meaning that site authors have an expectation that the browser’s behavior will differ over time, and generally in a way that becomes more compliant with a spec.  As a result, web developers praise other browsers, rather than loathe them, for fixing rendering bugs.  All the IE team needs to do is set the same expectations.

    Instead, the introduction of this concept results in a couple effects:

    * Hardcodes into the DNA of the web Microsoft’s questionable practice of shipping multiple rendering engines.  Supporting this switch basically means that no rendering engine or behavior will ever be obsoleted, and thus must always be supported in the codebase.  This hurts IE development and IE users.

    * Makes life incredibly difficult on all non-IE browser vendors.  Browser vendors already supported quirks and standards modes for IE compat reasons.  Now they’ll need to reverse engineer and support every single new IE rendering engine as it comes down the pipe if they want to work with the web as a whole, since site authors will no longer have any reason to update older pages to make them more standards-compliant.

    There are a couple ways out of this mess:

    * In HTML5 mode (<DOCTYPE HTML>), ignore this ridiculous meta tag and use the latest, most compliant version of the browser.  Then at least as vendors and authors support HTML5, this problem disappears.  (The circumstances that led to the current problem, namely Microsoft not bothering to update IE for over half a decade, are unlikely to be repeated with the rise of Firefox, Safari and other competing browsers.)

    * Hope that web developers raise a hue and cry when they hear about this change, and Microsoft relents.

    * Hope that IE’s market share continues to shrink to the point where it is significantly less relevant, and site authors don’t particularly care about this behavior.

  34. loggin says:

    My god I swear most people here are either idiots or have got their own heads so far up their own a@#~s that they just can’t see the light of day.

    Paul why would people still need to be coding for IE6 ? I know of a lot of charities out there running dinosaurs for computers, they rely on the good will of people to get by, they help the less fortunate and unemployed (hell some of these I know are still running IE5).

    So before anyone starts jumping up and down and demanding the past should just be brushed under the carpet spare a thought the small (business) man and those less fortunate than yourselves….

  35. game kid says:

    @loggin: Indeed.  You know, I have a good business plan:  complain to a big software company that their browser is not compatible, then wait for them to offer multiple VirtualPC images for this problem and even an idea to fix it!  Then when they’re done, let’s then whine that it’s not the right idea at all and spam Operafox like we usually do!  That’ll give the IE team a clear road ahead.

    One thing’s for sure, consistency is not one of the oft-requested standards.  If MS rejects this I’m betting good money on a dozen "I could read this Archive.org’d page in IE7 and now I can’t!" posts.

    That said, I’d much prefer the frame-security attribute last mentioned on the IEBlog be a meta-tag too.  Maybe ‘name="X-Frame-Security" content="frameid1=restricted,frameid2=normal,framename3=blah"’.  That would mean no waiting for HTML5 to add a standard security attribute.  Not that anyone here is waiting for HTML5 to spam Operafox.

  36. Asbjørn says:

    This is a very very bad idea. Just make this "Super standards mode" the default in standards mode, and leave quirks mode alone (if it shouldn’t just be removed). If people want their sites to work in a modern browser they should just follow the standards. The idea about letting the user (not the web developer) switch to an older rendering engine sounds good. For once just break that backwards compatability!

  37. Microsoft Impeding & Undermining Web Standards Since 2001 says:

    No surprises here, Microsoft continues to impede and undermine web standards. Hey IE team, this is 2008, not 2001. Stop living in the past, no one wants to code stupid workarounds for IE6 and if websites still uses IE6 code it probably isn’t up to date with the current content.

    Then again this is a waste of time, even microsoft.com is rendered in quirks mode on all other browsers, way to go there when it comes to standards compliance.

    http://img251.imageshack.us/img251/997/msvj5.png

  38. David Naylor says:

    This is crazy, but I guess I understand your reasoning.

    Although I still can’t help feeling … *so what* if ancient, forgotten websites don’t look pixel perfect in the latest browsers? Any website owners that care about it’s users will have active development.

    This decision just makes me more determined to keep spreading the Firefox love. I was hoping IE8 would be an equal alternative, but alas.

  39. Rowan says:

    Keep in mind that breaking the rendering of old sites wouldn’t necessarily make them unusable, some maybe, but not all.

    I think it would be much better to provide an opt-OUT meta tag that forced a webpage to ignore IE8’s new rendering changes, this way people can fix their sites with a single line of HTML. It would take any technical person less than 5 minutes to fix an ‘old’ site. I could fix 100 sites in one day with this approach.

    I’ll be flabbergasted if other browsers implement this meta tag.

  40. Mr. Quirck says:

    It’s probably best to not introduce yet another IE specific token (i.e. quirk). Most websites probably look good (enough) in standards mode (as they already do in FireFox today). If you keep allowing web-developers (or amateurs in some cases) to use their hacks and quirks then you continue to send a wrong signal. This way, these quirks will continue to live on forever. We need to move forward on this legacy issue, not stand still.

    It’s like continuing to support 32-bit versions of Windows. That way, it’ll be difficult to finally push people to 64-bit and thus applications will not be updated for x64 (compatibility).

    Please discuss this issue further in the IE team. It’s quite important.

  41. David Naylor says:

    This also means that the Acid2 test in it’s true form *WON’T* render correctly.

  42. Ryan says:

    What a load of horse dung. No modern browsers require a special tag to function correctly. Firefox has managed to wrangle a good 30-40% of your market share without having to worry about breaking sites. All you need is a decent rendering system, but you don’t have it – period.

  43. Stifu says:

    Yes, it’s a bit saddening that those who make efforts to follow standards have to deal with such annoyances, while those who don’t care at all and made a badly coded site 10 years ago get away with it for free.

    Still, things aren’t that bad, at least IE8 will be easier to work with. It’s just that I wish Microsoft would care more about pushing standards rather than supporting lame sites.

  44. Thomas Tallyce says:

    http://alistapart.com/articles/beyonddoctype

    "the IE team began work on a completely new rendering engine for IE8—one that followed the CSS 2.1 spec as closely as possible"

    Ah, so Trident is dead at last – hurray!

    What’s the new engine called, out of interest?

  45. David Naylor says:

    After having read the article at ALA, I’m seriously worried.

    I hope (and believe) the other browser makers aren’t stupid enough to tag along (haha!) with this idea of locking a web page to a certain rendering engine. It’s an awful idea.

  46. George Ornbo says:

    I’m not too sure about this approach. It is going down the route of user agent specific code at a time when we are getting very close to being able to code using standards based code alone.

    Coding sites properly is the responsibility of the developer. Developers are not just coding for IE on Windows, but many other browsers and platforms. To date IE has been the worst browser in the market, even though it has the largest market share. I’m enthused by what I’m hear coming out of the IE8 camp, but surely you want to encourage convergence rather than divergence?

    The standards are written and accepted by the community and almost all browser manufacturers. Why introduce new criteria outside of these? Sticking to standards will also allow IE to put the responsibility back on developers to use an accepted and standard way of creating websites.

  47. cwilso says:

    @Xepol – I think @Nemeseri answered you pretty well.  We shouldn’t just "break" developers (sites), because the ones who immediate suffer are our users.

    @jm – I’m not focused on encouraging developers to go back and change all existing content – or at least not to the point of forcing them to have to do it between now and when we ship IE8.

    @Peter Michaux, @Brandon Bloom – if we identify as something other than IE, we shut ourselves out to a whole DIFFERENT set of sites.  The problem is that sites are, in fact, tested against specific browsers and versions; this changes to a model that reflects that.

    @Stifu – I said that: "(Of course, for content that is developed to a later standard that isn’t deployed yet, you can expect different things.)"

    @sami, @kimblin, @ruemere, @Webdesign, et al – any method that requires end users to switch between modes to get the page to "work right" is broken.  Most users don’t know about quirks mode, and don’t (and shouldn’t) need to care.

    @Little Dave – we actually proposed a conditional-comments-like syntax for CSS a couple of years ago to the CSS WG, and were roundly denied by most of the other members of the group.  I still think it would be a good idea, personally.

    @M T – that would only make more sense if we wanted to put the burden on users.

    @Rowan – no.  IE7 compatibility for quirks and "standards" mode is the minimum bar.

    @Takazudo – what makes you think I don’t understand how we got here?  I do; that doesn’t change my answer for the least damaging way out.

    @Paul:

    >By the time IE8 comes out there shouldn’t be a reason for people coding to IE6 standards…

    Actually, they still will be; and they’ll still be coding for IE7 too.  Oh, and most importantly, there’s tons of content that’s already developed that will still be there.

    @Thomas Tallyce – it’s called Trident.  Trident is more than just the layout and rendering engine bit – it’s the parser, core storage, object model, etc.

  48. Ajo says:

    I think it would be the best (as mentioned before) to leave the quirks mode alone, since these are the ‘old sites’. However the developers who did the effort to make IE7 work in normal mode are (probably) also the ones who want to make their site work with IE8. The same goed more or less for the users. Users with IE7 probably also update to IE8. The ones with IE6 or lower can use quirks mode..

  49. Thomas Tallyce says:

    I’m afraid that, on this occasion, I agree with most of the posters here that this is a very regressive step and I think the Webstandards folk really should be ashamed of going along with this.

    There may have been some layout compat problems when IE7 launched, but the world has not fallen apart, and the IE7 Trident is certainly a major improvement on IE6 Trident.

    I still don’t really see why this metatag ‘solution’ should be needed. The only sites that are really going to need serious checking of layout are the kind of sites that are done by people who understand CSS and therefore more likely to be actively maintained.

    People using table tags and other stuff are surely not likely to be affected for the simple reason that IE already implements all of the basics, and the vast majority of CSS stuff to the standards, with only more complex floats and other more complex areas less consistently supported (but again, IE7 Trident got alot of that closure to other browser vendors’ implementations).

    I think we just have to accept within the web development community that some breakage will occur as the web moves on. The same has happened in the security and other arenas. Otherwise we face the bad old world of browser sniffing, which surely we all tried to move away from years ago?

    And also, how does this solve the issue of maintaining support for older browsers? Do we now have to maintain two copies of a site, one with the meta tag and one without? I’d say the use of the odd CSS hack is far preferable to that kind of situation.

    I really hope that other browser vendors do not implement that and that the IE team think very seriously again about the consequences of implementing this. Compatibility is important but we have to accept that some breakage CAN occur as the web is a constantly evolving medium, and that people have to accept that.

  50. Stifu says:

    cwilso: thanks for having taken the time to answer, despite all the negativity. ;)

  51. Simp's says:

    MS, please reconsider your position ! We want a standard IE8 !

    Let’s have the IE8 Standards mode on by default.

    Having IE7 standards mode on by default so as not to break older uncompliant sites is nonsense. If IE7 broke so many sites when it came out they are either still broken with that engine or have been fixed, most of the time by using conditional comments.

    What’s the point of coming up with standards solutions to call in IE specific CSS if there useless in IE8 ?

    Please don’t do it !

    <!–[if !IE]> <–>

    <style type="text/css" title="Default" media="screen, projection">

    /* <![CDATA[ */

    @import "styles.css";

    /* ]]> */

    </style>

    <!– <![endif]–>

    <!–[if gte IE 6]>

    <link rel="stylesheet" type="text/css" href="styles.css" media="screen, projection" title="Default" />

    <![if lte IE 7]><link rel="stylesheet" type="text/css" href="ie/styles.css" media="screen, projection" title="Default" /><![endif]>

    <![endif]–>

  52. David Naylor says:

    George Ornbo: "I’m not too sure about this approach. It is going down the route of user agent specific code at a time when we are getting very close to being able to code using standards based code alone."

    I completely agree. We’re so close now, and they decide to go and destroy it all?

    Thomas Tallyce: "I really hope that other browser vendors do not implement that and that the IE team think very seriously again about the consequences of implementing this. Compatibility is important but we have to accept that some breakage CAN occur as the web is a constantly evolving medium, and that people have to accept that."

    You nailed it there.

  53. rc says:

    @cwilso

    It’s all good, but what you are going to do with future versions of IE? One more "extra mode" in IE 9, then again a new rendering mode in IE 10, and so on? Can you answer the question?

  54. Bart says:

    @cwilco: Basically, you’re rewarding those web developers who’ve done it wrong and don’t care about standards; validating them in their pigheaded ways by smothering any chance of a single standards-based internet.

    The internet as it exists right now is still in its infant-years; and you’re weighing it down with a soon-to-be infinite amount of baggage to carry around for the rest of its days.

    Worst. Decision. Ever.

    (Also, I have to say that the badly named web standards project has made itself quite impossible by supporting and advocating this farce. I hope its members realize that…)

  55. Mo says:

    Congratulations, it’s definitely the best solution for the time being.

    But what makes me afraid is the fact that you don’t see it as a temporary solution for IE8, but even want other browser vendors to adopt it. Which would mean you’re breaking the web, but in another way.

    Please let this be a solution only for IE8. As soon as 90% of all pages on the web are standards compliant, release IE9, which will only have one rendering engine: the most standards compliant one.

  56. Thomas Tallyce says:

    @bart

    I don’t think it’s fair to call non-standardista developers pigheaded – one of the real benefits of the web is the low barrier to entry. The fact that we do have standards means that those more advanced developers can leverage these to take advantage of them. But if we all had to write everything to 100% perfect code from the standard, the web wouldn’t be nearly as big as it is now because no-one would be able to start so easily. (I agree with your other points though.)

  57. macx says:

    What a shame, MS! Just implement a full support of web standards and no web develoeper has to take care about the compatibility after you send out updates from your browser. Wake up!

  58. JackP says:

    Chris,

    thanks for listening.

    As I said on ALA, I’d prefer it if it went according to the whole DOCTYPE thing, but I understand why you’ve felt the need to go down this route.

    And since you’ve come up with something that can be implemented within standards, using a meta tag – like I requested on your blog – that won’t break anything else, I’m content with that.

    It really does feel like MS have listened, here. Maybe it’s not the answer that would have been ideal (for standards advocates) but it’s a compromise we (for the most part) can live with; and that you can live with.

    So big thanks to yourselves and to WaSP for this.

  59. billybob says:

    All your good work on IE8 with the ACID test has been undone by this one move.  I cannot believe you are placing the interests of 200 websites over that of millions and millions that actually take the time to adhere to standards.

    Today is a sad day for the web, there are many of us that are truly disappointed with your attitude.  Same old Microsoft.

  60. Joe says:

    Man, there are some insane posters in these comments.  IE (like other browsers) are client / server systems where HTTP/HTML is the client/server protocol.  If servers support a specific version of that protocol then you need to support that version by default and opt-in to new behavior – just like any client/server system.

    I would have thought this was obvious.  End users don’t really care about web standards.  Nor should they.  Web Standards are there to make the server programmers’ lives easier when dealing with more than one client.  

    Most of comments sound like they are written by programmers with no real awareness of production systems.  Standards support is a medium/long term cost saver for businesses.  Changing the default behavior in a browser is a short term expense – it will require development effort to fix immediately.  This is therefore the right choice – you still get the best of both worlds.

  61. Ian says:

    Sorry, while I understand your reasoning I think the result of that thought process is astonishingly bad.

  62. Skorpnok says:

    What a load of crap this is, whingey, whiney, moomy, poopy, crap. "Oh, we broke lots of websites last time and people got over it and nothing awful happened, but we don’t want to do it again because we’re so worried for our customers". Yeah right. How about "we want to make sure that people have to code specifically for out browser, so we keep adding proprietary crap into it"? You’re a mess Microsoft, from your crappo Vista right down to your poopy IE.

  63. I commend Microsoft for such a move.

    For those that wonder what sort of rendering techniques Microsoft will use in future browsers, the answer is quite simple: it will use the same Meta tag. If the site renders fine without it, then good. If you add the tag and the site renders great, you should never have to change it. If you want to support the latest/greatest standards, just bump the number up in the tag.

    Eventually, when sites are updated more completely, this sort of behavior will be dropped. For now, it’s the only way to go. Developers, please do not be so closed-minded as to suppose that your sites are the only important ones. Many of the top vendors do not support standards mode, and it would be in poor taste to break their sites.

    (and remember that the Meta tag is not proprietary, and than other browsers have added *real* proprietary markup to their rendering engines)

  64. steppres says:

    I really don’t understand this at all. Every major site targets standards compliant browsers, and uses conditional comments to hack together suitable layouts for IE. How exactly is making IE8 standards compliant going to "break the web"? It just doesn’t make any sense, we can already target older version of IE (and the current mashup, IE7) with conditional comments, and it’s not like IE8 is just going to drop with not warning. If HTML monkeys are going to have to mess with the code to get IE8 to run in this ALL NEW standards compliant mode, why not just use conditional comments to target IE7 and code in a compliant fashion? This new scheme is just ridiculous. So you’re trying to say that IE7 standards compliant mode is actually just IE7 mode? And in how many versions time is IE going to evolve into this wonderous standards compliant (I’m getting sick of saying that) browser that MS has kept dangling in front of us? Jesus, this makes me sick.

  65. debasys says:

    I beg you, please make the browser standards compliant.

    Website publishers have a responsibility, to check their web pages from time to time , with new browser versions coming. So will they, with IE8, and will rectify if their site breaks. You don’t have to bother on behalf of web developers.

    And browser vendors also have one responsibility. To make a standards-compliant browser.

    So do it. Just do it. I beg you.

  66. Drew says:

    I’ve been a web developer for about 4 years now, and IE has been the cause of many extra hours and days of work.  I keep hoping that maybe in the next release you’ll get it right.  I can code one web site, and it’ll work… IE, Firefox, Safari, whatever… but no. Yet again, I have to jump through special hoops for IE.

    Like many people have said here in the comments, Firefox and Safari don’t have any "special modes", and they’re grabbing market share just fine with standards compliance.

    I understand the need to be backwards compatible, so please hear this suggestion!

    Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can’t the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway… why can’t this be their burden and not everyone elses?

    As others have said, when does this end?  What tags will IE9 require?  How will they differ from the IE8 tags? The IE7 tags? The IE6 tags? etc, etc…

    This sucks…

  67. Drew says:

    I’ve been a web developer for about 4 years now, and IE has been the cause of many extra hours and days of work.  I keep hoping that maybe in the next release you’ll get it right.  I can code one web site, and it’ll work… IE, Firefox, Safari, whatever… but no. Yet again, I have to jump through special hoops for IE.

    Like many people have said here in the comments, Firefox and Safari don’t have any "special modes", and they’re grabbing market share just fine with standards compliance.

    I understand the need to be backwards compatible, so please hear this suggestion!

    Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can’t the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway… why can’t this be their burden and not everyone elses?

    As others have said, when does this end?  What tags will IE9 require?  How will they differ from the IE8 tags? The IE7 tags? The IE6 tags? etc, etc…

    This sucks…

  68. This appears to be a Microsoft centric solution to a Microsoft centric problem which is exasperated by years of poor web authoring.  Good web authoring is timeless regardless of what user agents come and go.  Web authors who reley on poor user agents to judge visual feedback keep the good guys in jobs.  

    This issue has little to do with web development and more to do with Microsoft’s lack of willingness to engage.  Suggest: push out a version of MS Firefox – save some money and everyone’s time.

  69. SvenGroot says:

    I have to add my vote that this is a bad idea.

    Some of you guys know me, I develop add-ins for IE, I love IE. This is a bad idea.

    It means that standards-compliant sites that exist today won’t work as they should in IE8. Standards mode should be the default. You’ve set the precedent now with IE7 that people shouldn’t rely on browser bugs. Continue that precedent.

    The rule for sites should become: if it’s a browser (or a version of a browser) I don’t know, I give them the most standards-compliant version of my content I have.

    IE more than any other browser has the power to enforce this.

    Please reconsider.

  70. SvenGroot says:

    How about this: give us standards mode by default for application/xhtml+xml documents?

  71. lockoom says:

    So, and now you guys expect that with this super-duper meta tag some websites wont be:

    >> "opted in” to standards mode by a tool that generated their content << by accident. You guys have lost connection to reality. Dream on.

    BTW: Look at your market share as it’s probably the last time you see it that high.

  72. David Zülke says:

    Why not just switch on this standards mode for XHTML pages that are served as application/xhtml+xml ? Everyone can do that with an apache directive or a one-liner in his PHP/ASP/blah code. That breaks absolutely no BC because IE today doesn’t understand that one. Just be sure to send the same in the Accept request header, and all is fine. Switch it on for HTML5 and all following standards, too, and you don’t have any BC nightmare.

  73. disgusted says:

    ‘“Standards mode” remains the same as IE7, and compatible with current content.’

    (So it’s not REALLY standards mode is it? It’s just IE7 mode)

    ‘If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element.’

    (Oh great, more needless screwing around for another version of IE! This is exactly what we all wanted! Hurrah for the IE Team! At this rate, by the time your browser is standards compliant we’ll all be emotionless robots and living in Hyperspace.)

    THANK YOU so much for this, I was warming to the idea of IE8, but this post has shocked me back to reality. Some advice; just keep these "revelations" to yourselves from now on and stop antagonizing ‘page developers’ with these  updates. Final note on how not to break the web; stop developing IE8. Just let IE die. It’s over people.

  74. Mikko Rantalainen says:

    The web content authors that opted in to "standards mode" should author to the standards or fall back to quirks mode. The quirks mode should mean "do what I mean, not what I wrote" a.k.a. "please, try to fix it for me". Standards mode should be about standards. The meta workaround should be reserved for those that want to use the "standards" mode (IE7 mode?).

  75. Blaise Kal says:

    I want to code to standards, not browser versions.

    The ideal web is a web where you don’t have to think about differences between browsers – because there are none. Now Microsoft is moving away from that ideal by introducing another rendering trigger, while there should be only one.

    A strict doctype should trigger standard-compliant rendering for all browsers. Until IE is not fully compliant (hopefully that won’t take too long), I’m all for <!—[if IE N]>.

  76. SchizoDuckie says:

    What i think wóuld be a good idea is to turn this exactly around: add a meta tag or http header to sites that need to be rendered by IE8 in ‘crappy-mode’, ‘ie6 mode’ or ‘ie7 mode’ and kick it into standards compliant mode by default. That way, the rest of the web will work as it was once visioned and you only need to adjust whole webservers serving for old sites. One could upgrade to IE8 ánd you can still trigger quirksmode if neccesary.

  77. James D. Schwarzmeier says:

    Unlike the majority of other posters here, I have to say that I agree with this approach.  I currently wok on a team that maintains a suite 20 large web-based applications.  If I had to guess, I would say there’s serveral (if not 10s) of millions of lines of code.  If the layout engine radically changed, it would literally take years to fully test everything and update everything to be compatible.  It’s not that we’re lazy or "behind the times" — it’s just that the sheer volume of code makes it impossible to simply turn on a dime.

    No, this is a VERY GOOD THING.  Once we start seeing IE8 betas come out, I guarantee our new pages will be as standards-compliant as possible.  But it’s kinda pretentious to see everyone here saying "so what?".  If it breaks mission-critical code, it IS a big deal!

    The big thing is that this is a cross-browser solution, and will become neccesary for ALL browsers in the future.  Many like to act that it’s somehow a matter of IE being non-standards compliant and other browsers being standards-compliant.  Actually, standards continue to evolve and every browser is at a different point in supporting the latest standards (Firefox 2, the current official release, doesn’t support ACID2).  When other browsers begin supporting large chunks of CSS3 or the next major release of ECMAScript or whatever other web technologies come down the line, they too will need version targeting.

  78. Moralit� : renseignez sans erreur de frappe ni oubli une DTD HTML 4 ou XHTML et pensez aux meta et aux en-t�tes c�t� serveur et vous ferez avancer durablement l’impl�mentation des standards.

  79. Bart says:

    One Mozilla developer’s response to this:

    http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html

    http://weblogs.mozillazine.org/roc/archives/2008/01/slipping_the_ba.html

    Should make interesting reading for pretty much everyone here. I very much suspect Opera and Safari devs agree completely with him.

  80. SchizoDuckie says:

    @ James D. Schwarzmeier that is a VERY selfish post you’re making there. The fact that you don’t want to update your crappy old code makes us *ALL* have to adjust our way of working for the rest of our lives? LOL And then once you finally update your code to IE 8, IE 10 might come out and we have to re-invent some other way?

    NO! THAT is the BAD thing!

    There SHOULD be an option to trigger IE 8 to use old rendering engines but it should be disabled by DEFAULT and you should have to adjust your old crappy code to trigger that so that old stuff can be fased out.

  81. oogust says:

    I strongly believe that this is a bad idea.

    You cant make things future compatible when building a site. You simply have to suck up you code and fix it for new releases.

    Yet another step backwards for Microsoft. Why don’t you just let it use the word rendering engine?

  82. Ronald says:

    So you are planning to give webdevelopers YET ANOTHER option to test. I’m sure everybody who is forced to work with IE is delighted.

    Ship Firefox by default in Windows 7, this will certainly be the cheaper option for both micosoft and the world over another testpath and development.

  83. AD says:

    You are not enablers, you are hinderers.  You will look back with regret on these decisions.

  84. Feeling angry and betrayed says:

    Reading over the post and comments I remain unconvinced of this approach. Personally it seems like the best way is to just have a standards and quirks mode in IE8 and have quirks render like IE7 while standards mode is the true standards mode, no opt in or version targeting. Since there was already the rush as people with poorly coded sites (either through their own fault or because they inherited a behemoth with millions of pages) found that IE7 didn’t have the same faults of IE6 and people fixed their work, I think that IE8 using the IE7 rendering mode for its quirks mode won’t cause any real problem.

    The web is supposed to keep evolving and even self taught people should have picked up on this and learned some forward thinking code writing. It’s so ridiculous to even be here, you guys were on the verge of being hero’s fixing the web and then we suddenly get this post saying "no, sorry, you have to recode for our special needs to fix the web."

    Internet Explorer is not a beautiful and unique snowflake, it is not some princess that deserves special treatment. We’ve already had to treat it specially for long enough and we are getting fed up with it. We were happy when IE8 rendered the ACID2 test, but now finding out it takes special conditions that mean IE8 doesn’t actually pass the test is like a kick in the teeth of our slowly starting to smile face.

    Do the right thing for once and shame on the WaSP for going along with this.

  85. Chris Cox says:

    Could we at least have actual Standards Mode triggered by either using HTML5 or using XHTML1.1+ with application/xhtml+xml?

    That would at least give us a method by which we could activate it using completely compliant markup, which wouldn’t break previous versions because they don’t support application/xhtml+xml, ergo anyone who uses it is resigned to browser-sniffing anyway.

    There should be a clearly-defined divide between standards and quirks, and it should mean just that. If your browser is capable of supporting standards, it should draw the line at those standards, with everything else consigned to the same category as unmaintained HTML3 tag soup.

  86. Stifu says:

    I’m still confused as of why other browser vendors could possibly be interested in also supporting this meta tag.

    Valid sites already work fine with these browsers, and they already have Quirks mode for bad sites. What’s the point?

  87. loggin says:

    I think all the standista’s here need to spend a day volunteering for their local job club/back to work charities to get back to reality, you’ll find most of the machines in these places have been donated and are really quite dilapidated, just 3 years ago I helped a charity get 20 or so Win95 machines on their network so the disabled/unemployed could get on the net to search for work.

    Now I’m not sure about how best to implement a backwards compatible mode in IE8, and whilst I want to be able to code one way for all it strikes me as ignorance and arrogance as to the way it seems that people seem to think that once IE8 comes out that they can drop support for older browsers (IE6 and down), I’m afraid to say that in the most part we’re stuck with doing crappy work around’s for those browsers for a good few years yet.

  88. Marcelo Wolfgang says:

    I think that you worsening my worst nightmare, so now we have to code for Firefox and fix the layout for ie6 and ie7 and now ie8. I at least that ie8 will not need fixes if the code works right at firefox … but I wouldn’t bet on it.

    Can’t you make the upgrade a requirement on ie6 and ie7 at least ?

  89. Eric says:

    Why changing the current way? the brouwser should comply to the standards and not otherwise. In this case i’d rather see IE8 with a new way of parsing a website and not using new tags to use other rendering sources.

    @Microsoft; do it good for once… make your browser smaller and more strict! :)

  90. George Jones says:

    Joe has it right:

    >> If servers support a specific version of that protocol then you need to support that version by default and opt-in to new behavior – just like any client/server system.

    The cries for "make it work in super standards mode by default" must be coming from people who prefer to make their money by charging their clients to fix their sites when a new browser version becomes popular.

    I think the meta tag is a good solution.  It lets your old code and pages continue working, while you can embrace the standards for new development.   Then when **you** determine that your website’s visitors have moved away from an old browser, you can update that code when you feel like it, instead of being thrown into a panic whenever IE++ happens.

    One counter-argument could be that it hurts alternative browsers by encouraging coding to the old quirks mode, not using a doc type, not using the meta tag, and then users complain when it doesn’t render properly in Firefox/Safari/Whatever.  My response is – how is this MS’s fault?  It is obviously the web developer’s fault in this case, and he is the one who will look bad when his page breaks in other browsers.  Second point – how is this different than the current situation?  And how are those browsers faring right now?

  91. billybob says:

    "One counter-argument could be that it hurts alternative browsers by encouraging coding to the old quirks mode, not using a doc type, not using the meta tag, and then users complain when it doesn’t render properly in Firefox/Safari/Whatever.  My response is – how is this MS’s fault?"

    Because MS promoted MSHTML above standards compliant HTML for years in an attempt to dominate the web.  Not to mention all the ActiveX that still exists.

    You could reverse the question and ask why is it everyone elses problem when Microsoft cannot render to the standards, and why should we have to clean up because everything prior to IE6 is a total mess.  Remember the kind of rubbish Word used to output as HTML?  It was designed to kill Netscape.  Microsoft only seems to like standards when they are dictating them.

  92. Chris says:

    So, just to be clear on this, if I were to use

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    … this would cause quirks mode in IE 5, 6 and 7, correct? If so, then adding this new <meta> element would trigger standards mode in IE 8? If that is the case, then I can live with that, knowing that 5, 6 and 7 will use the same quirks that I already know about.

    I’m also all for other vendors implementing this, as then it wouldn’t matter about the doctype triggering any quirks mode they have, as this could override that, allowing me to only have to deal with one standards mode, and older IE’s quirks mode, because I’m confident in alternative browser users will more likely keep their software up to date.

  93. Chyld Medford says:

    Well, I think you’re trying to make the best out of a bad situation.  I applaud your efforts.

  94. ccatto says:

    Hey Now Chris,

    Great Post, informative about IE8. I really enjoy the comments & how strongly people feel about the topic.

    Patiently waiting for IE8,

    Catto

  95. Martin says:

    To questions:

    1: Can you install IE8 together with your existing ie6/7 so customers can keep ie6 for thoose sites(And hp printers) that don’t work with newer versions, while still using a mordern browser for normal surfing. (Just telling our users to upgrade will be much more easy, if they can still keep the old browser, if they need it for some other sites)

    2:

    Will super standard mode refuse to display a page(Or at least show a warning) if the content is not valid acording to the choosen dtd doc type? I think this is importent, because else some people will trigger super standard mode and still feed ie8 invalid html, and this might force you to keep handling bad html, thus preventing further bug fixes because that might breake some pages. Remember that the reason we have this html mess is that netscape started handling bad html, and ie then needed to have the same behaveour. This must stop, and Super standard mode is a good place to stop it, because it is opt in, and thus will not break existing pages

    3: Will microsoft do anything to only publish valid html/xhtml? It is diffucult to argue for implementing standards when microsoft themself don’t even do it.

    4: (Just a please). Will you not fix the bug in ie7 that sometimes prevent download of files. It is described many places on the net(Such as here:

    http://joseph.randomnetworks.com/archives/2004/10/01/making-ie-accept-file-downloads). (Yes the bug is still present in ie7, but how to prevent it seems to be voodoo magic, depending on your content type, pragma and attachment-type header).

  96. Fallen says:

    @loggin

    I really don’t see where you’re coming from. No one has suggested that we just suddenly stop writing the code that will deal with older browsers that are still in use, the only thing people are against is suddenly needing yet another piece of code to make IE work the way it’s supposed to work in the first place. I know I suffer no disconnect from reality as you seem more than happy to assume exists in everyone who doesn’t share your world view. I’ve been working with some friends to get some disabled people computers/laptops so that they can take notes and attend college to hopefully get a desk job they can handle (disabled by injuries that now mean they can’t continue in the lines of work they’d been trained for). I’m fully aware of what old and damaged machines get donated for these types of causes, but there’s also no reason why making IE8 automatically default to A truly standards compliant mode would affect any of these people. The absolute worst (web related) thing I can come up with is these people getting a job and a new computer with IE8 and suddenly seeing the web better than it appeared before, oh wow, that’s so bad… or not.

    You can’t tell me that when web stats show that IE6 has 0.0% of the market share that you expect us to keep coding for all its flaws simply because you know some charities have older machines. It’s at 0.0% for a reason, the likelihood of even an old machine somehow still using IE6 coming across your site is too ridiculously small to justify spending time coding to IE6. It’s not like we spend time coding for IE 3 and 4 today, it’s pretty rare to see a new site go up coded to IE5 too. I can’t think of any sites I’ve seen go up designed to work on IE5, but based on what you’ve said all these sites are made by ignorant of arrogant people not thinking about their users since they’re not actively supporting a browser 2 versions out of date and one that holds 0.0% of the market share.

    With things like the IE7 deployment kit (I believe I heard about an automatic update sometime too) and IE8 coming out I don’t see IE6 a measurable market share in the future, and when the market share is that low there’s no point to add 50% (yes assuming that development will be faster with only worrying about IE7 should IE8 work as advertised) to your cost/time to develop a site to support a user group too small to measure.

    —–

    The whole work as advertised thing mixed with this current post here makes me wonder though, what else will not be right with IE8, and how much information can we trust coming from here. It would be great to be able to start trusting the IE team again, and I was starting to, but this sort of wrecks what trust was slowly being built. Hope you guys can make this right by release time and actually have something we developers can trust and work on.

  97. Counter to George Jones says:

    I work at a slightly odd place, and as is, and based on the rules of the place to use the latest and greatest tech on our sites I’ll have to code in this new tag to every site, but wouldn’t have to do anything if this tag wasn’t required. I also don’t see how anyone working within the standards like I do would have to recode anything if IE8 just worked like other browsers. Maybe you care to explain how IE8 finally working to the standard without an opt in would require standards compliant coders to suddenly have to recode their sites and charge for it? There’s no reason or logic to your point as somehow you’re coming up with a result of "good code + working browser = broken site + need to recode." I’m truly lost as to what’s going on in your mind, please explain how IE8 working right could possible mean that the standista’s need to recode their sites. I count myself among them and have been one of the people asking for the super standards mode to be the default, but it seems like you know something I don’t. I want in on the secret so I can prepare my sites properly.

  98. loggin says:

    @Fallen

    You dont code for IE5 ? ? Our company does, it’s still part of our minimum browser requirements and we’ll probably be dropping 5 when you drop 6, lol. That said I’ll agree with you that when statistics get so low that they’re immeasurable browser support will be removed. However we probably see more oddities than most as we deal with some pretty big organisations where there isn’t a week go by where one of them isn’t in the national media

  99. Mephiles says:

    Bloody hell everyone! All you have to do is put <meta http-equiv="X-UA-Compatible" content="IE=8" /> and you’re done!

  100. Martin says:

    <meta http-equiv="X-UA-Compatible" content="IE=8" />

    is not valid html, and we have not so far seen anything from the ie group saying that they would handle xhtml. But one can hope :}

  101. Rob says:

    Here we go again.  Another hack for Microsoft.  We have to fix the web for poor, poor Microsoft who is incapable of fixing its own problems.  

  102. j rose says:

    I agree that quirks mode should be turned on with the meta tag- not standards mode.

    If some non-standards sites are ‘broken’- all they have to do is add a meta tag… no big deal.

    Remember the whole Flash fiasco (which is still on-going)? It’s not too different.  People will have to go and add an EASIER fix than with the Flash issue to get their site to trigger quirks mode.

    It’s time to move forward IE team.  You are holding things back. It’s this kind of stuff that’s caused people to move to other browsers.

  103. Chris says:

    I forgot to add in my previous comment:

    http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7199332

    I am assuming that IE 8 will be really standards compliment, in terms of HTML, CSS, JavaScript and DOM 1 and 2? If there are still bugs / missing features, then that’s only going to make things more complicated.

  104. Fallen says:

    I suppose if there’s that many people still using IE5 then it’s our unique position that lets us ignore IE5 users. Outside of the serious information we pretty much put everything on the web since we’re supposed to be open, but in the end the sites are just intended to be used by our employees at various branches and it doesn’t matter if someone outside the company can’t see a page because they’re using IE5, though according to our tracking no one has ever visited using IE5.

    Based on our openness policies I’ll probably have to work on sites for IE5 compliance if anyone hits them and complains about it, but it hasn’t happened yet, and after close to 2 years I don’t see it happening at all at this point.

  105. Wow! Thanks a bunch Chris!

    I’ve been working with these standards for years, commerce sites mostly, and have remained faithful to Msft.

    This is an excellent article!

  106. Ian says:

    I say leave the meta tag out.

    I’m I the only one who build sites with specific css for ie?

    Example:

    <!–[if IE 6]>

    <link href="inc/css/ie6.css" rel="stylesheet" type="text/css" />

    <![endif]–>

    <!–[if IE 7]>

    <link href="inc/css/ie7.css" rel="stylesheet" type="text/css" />

    <![endif]–>

    If ie8 comes out, then the code for ie6 and 7 won’t effect it anyway.

    And if ie8 does break some websites, then us web designers can charge for the fixes anyway. There’s no reason a company with interest in the internet would have a site that old anyway.

  107. Chris, some simple questions:

    1) What will IE8 do if it sees "IE=9"?  Ignore the page?  Do best-effort (IE8 super standards mode, presumably)?  Quirks mode?

    2) Since IE is tied so closely to the OS and I cannot run multiple versions, does this mean Microsoft is committed to supporting all IE rendering modes forever?  You’re currently at 3 and counting…  Or do I have to go down the vmware route?

    3) Since IE7- will ignore this meta tag, what are the recommended practices for those people who want to take advantage of IE8’s "super standards" mode without locking out older users?  User agent sniffing until IE8 footprint >> IE7- footprint?

    I, for one, have intentions of only using IE=edge (which is essentially what all other browser do atm).

    Thanks,

    Jeff

  108. loggin says:

    @Fallen

    we’re still seeing about 15,000 hits a month for IE5 across the board for all our sites, although to be fair that’s still only about 1% of browser usage, so to be honest its probably not going to be long before we do drop support for it

  109. AndyC says:

    From an idealistic point of view, this is the worst thing you could possibly ever do. It’s forcing us to accept a world in which browsers won’t ever be perfect and expecting people to understand that even when they all follow the spec, some minor discrepancy in the interpretaion might lead them to render content subtly differently. God forbid that anybody ever took the pragmatic approach and implemented a solution which will once and for all allow compliant sites to be developed quickly without ever having to worry about breaking pages that’ll never be updated, like it or not.

    Your guys are clearly all nuts. And I appear to have overdosed on sarcasm this morning.

  110. cwilso says:

    @rc: yes, until such time as the deltas were too small to cause any backward compatibility problems (e.g., only additive, and no-one uses them a la child selectors to hack).  In short, yes.

    @Bart: "@cwilco: Basically, you’re rewarding those web developers who’ve done it wrong and don’t care about standards; " no, you have it completely wrong.  We are rewarding our users by not breaking their web sites.  We are doing this by continuing to support both those misled developers who coded only to IE *as well as those who coded to standards, and then put hacks or conditional content of any kind in for IE*.  This latter category is an extremely large one, as nearly all web developers today care how IE renders their content.  (if you don’t, well, what are you doing *here*?)  

    @SvenGroot: the number of standards-compliant sites (meaning, sites developed to ideal standards, not how browsers actually interpret them) are dwarfed by the sites that are tweaked to work in specific versions of browsers.  Yes, I do want that to go away; to not cause problems in the meantime, we’re asking developers to tell us what version of behavior they expect.

    @SvenGroot, @David Zülke: of course, for content that we don’t have backward compatibility concerns for (a new DOCTYPE or MIME type, e.g.), we can automatically opt in.

    @Blaise Kal: If you truly want to "develop to standards", then I suggest you develop to the ideal standard, then opt in to the current IE version when you insert any tweaks.  If you don’t plan to insert any tweaks, and leave IE users with a broken experience on your sites until IE works properly, then insert the "edge" meta value.

    @James D. Schwarzmeier, and other pragmatists: thank you.  Nice to see real-world experience agreeing.

    @Marcelo Wolfgang:  Why don’t you just put in the IE8 meta element, and then code to standards?

    @Martin: users do not want to switch back and forth between browser versions to use the web.  They want One Web.  By default, they want it to Just Work.

    So 1) no, 2) no, we won’t enforce validation – no one does today, 3) as a company, Microsoft has progressively been moving to more valid code, but that’s not my bailiwick, and 4) I don’t know about this bug in particular, I’ll pass it along.

    @Jeff Schiller: 1) If we see IE=9, IE8 will run in IE8 standards mode ("best available"), 2) "Committed" and "forever" are unforgiving words, so no; but we are intending to, 3) write to standards, insert IE8 meta tag, and then use conditional commenting to fix up for IE<8.

    Please DO NOT use "edge" for production web pages, UNLESS you have no IE-specific fixups or other code in the page at all.

  111. cwilso says:

    @AndyC: careful, you’re in danger of not being recognized as sarcastic in this crowd.  Thanks for the LOL, though.  :)

  112. Derek Kent says:

    I think it’s time to abandon IE and start over with something new, using the improved standards mode by default and actually maintaining it this time.

  113. Xepol says:

    @EricLaw –

    "If only it were that easy…"

    No one said the transition will be easy, but it needs to happen to move forward properly.  IE is become a huge monument to its own mistakes, and I am guessing harder and harder to support with every version because of it.  People will bitch no matter what you do, so you might as well do the right thing and jump to full standards support and drop the increasingly impossible to maintain code.

    Besides, it can be that easy in the sense that if you just do it, its done, and in the long run, it will probably be easier that trying to figure out how to support your old mistakes.

    "Pointing fingers does nothing to help the end user, who just wants the yesterday’s content to keep working."

    Ya, unfortunately, it is at the expense of tommorows content which ALSO does not help consumers.  Sooner or later, something has to give.

    "Even assuming that all sites on the Internet have active development teams (a large and incorrect assumption), "

    Assuming that all sites on the internet have viewers is also a flawed assumption.  If they have enough viewers tho, someone will fix it, if only to keep drawing people to their site to drive their adsense revenues.

    Thanks to link wandering while bored, I can’t count the number of webpages that I’ve stumbled across that has not been updated in YEARS.  Guess how relevant&useful they were?

    Chances are, if the site suddenly looks ugly they’ll still get their 12 visitors a year.

  114. len says:

    Ok, glad to finally know the trigger.

    But, what will this look like when IE9 comes out?

    <meta http-equiv="X-UA-Compatible" content="IE=8;IE=9" />  ?

    Also not mentioned, is *what* this affects, is this purely for better CSS? does it change the DOM Methods to work now too? And more specifically, if it doesn’t, do I use the correct DOM Methods to update CSS properties now or do I use the broken methods to update the correct CSS properties now?

    Seriously missing info on this blog about JavaScript and DOM changes, fixes, and implementations in IE8.

  115. Tomal says:

    Well did Opera 9 and FIrefox 3 introduced such metatags for their standards compatibility?? Then why is IE8 adding such a stupid metatag?? I mean at one time you are making standards compliance and then at the same time you are making something that still gives incentives website developers to continue making non standard complaint websites. You are not encouraging the web to be standards complaint.

    If you are thinking about backward compatibility, then the web will not advance. It is because of MS’s stupid decision not to support standards at the first place that there are so many non standard complaint websites. Now again MS is doing the same thing which is forcing a developer to do something that many developers will not notice now. Yeah when IE7 came out, some websites were broken. Are they still broken now? Force IE8 to support standards mode by default and educate people about web standards …. yeah many websites will break but ultimately in the long run it will benefit the web.

  116. Florian Purucker says:

    I am really happy that Microsoft is now trying to adopt web standards into their products. But I have a suggestion that would improve IE8 even further. Instead of requiring every website that is standard compliant to add a new meta tag that ist IE8 specific, please only require old websites for IE6 to add a tag like IE=6. This will also solve the problem but IE8 will be able to treat millions of standard compliant websites correctly without modification.

  117. Thanks Chris.  One follow-up question on your answers to mine.

    If Microsoft is not committed to supporting IE7 quirks mode "forever", than when will you pull the plug?  When you see the number of pages drop below a certain percentage?  Same question applies to "IE8 super standards" mode.

    Hypothetically, if IE11 doesn’t support anything lower than IE9, what would happen if it saw "IE=8"?  This is an important question – if I, as an author, include "IE=8" in my meta tag, will I find 5 years from now that Microsoft browsers will fail to render it in exactly IE=8 mode?  What will it do?  

    To me, this is the incentive to use "IE=edge" without any IE-specific quirks in my page (that is, if I can get away with it).

  118. Joseph E. Davis says:

    How will components that get plugged into pages handle this header setting? For example, a javascript library that needs to work around browser specific bugs. Will the library be able to find out what compatibility mode the browser is in?

    Same issue with a web service that’s including html in a page via ajax. Currently these components can look at the user agent – will the user agent include compatibility mode information?

  119. toby johnson says:

    This is riduculous. Please stop the insanity of browser sniffing. In this new <meta> tag world of yours, who decides which browsers are "first class" and get their own acronym, versus browsers that are "Other"?

    The ONLY problem here is that people who don’t understand how the web works are designing web pages. If some amateur driveway mechanic destroys the engine in his F-150 because he ran it without oil, Ford doesn’t take responsibility for that idiot’s mistake, they tell him he should have taken it to someone that knows what they’re doing.

    I’ll tell you exactly what will happen with this <meta> tag: Code generators and amateur designers will include "IE=edge" in their generated code to make it "future-proof" and we’ll be right back where we started, and need another stupid new tag that’s *really* used for compatibility mode.

    <DOCTYPE> works fine when used properly. Please leave it in place and forget this <meta> nonsense. I can guarantee you none of the other browser makers will support it anyway, just like none of them have supported the <!–[lt IE 6]–> type hacks either.

  120. Another suggestion (if it’s already been mentioned here, consider this a vote): have authors label their pages with a <em>date</em> instead of a version. It would be vendor-neutral and thus less evil™.

    An opt-out of real-standards mode would be preferable, and I can see standards-incompliant web developers happily adding such an opt-out if they’re assured it’ll be the last compatibility update they’ll have to make.

  121. David Naylor says:

    Drew posted the bestest suggestion so far. I hope Chris Wilson et al considers this seriously:

    "Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can’t the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway… why can’t this be their burden and not everyone elses?"

  122. It would be great to hear what kind of overhead this decision is imposing on ongoing IE development.

    I see the problem you are trying to address but we won’t know until IE8 ships whether development departments choose to adopt this tag.

  123. Maritn says:

    If you don’t validate, does that mean that if a html page is specifying <meta http-equiv="X-UA-Compatible" content="IE=8"></meta>

    you will gurentee that it will generate the same dom, in ie8 and all further versions of ie, even if the html is invalid? A yes will mean that you have to keep a parser for each new version of ie you ever develop, and a no will mean that a new version of ie might display the page different, or not at all.

    About running ie6 and ie8:

    I know that having 2 different versions of ie is not something users really want to have, but sometimes the alternative is worse.

    Right now, there are still websites and services that don’t work in ie7, and they will most likely not work in ie8 either. Users who depend on theese will have to keep using ie6, and thats not a good solution.

    So having ie8 as default, and then using ie6 for special buggy sites that require it, is not a ‘good’ solution, but it’s better then the altervative which is to keep using just ie6*.

    I think a better solution, would be to bundle a complete ie6 as a plugin to ie8, similary to how firefox have a ieplus tab. Not a good solution, but better then the alternative.

    *What really happend for theese users was that we installed one of the ‘hacks’ that allow the installation of ie6 and ie7 on the same windows xp, so if theese keep working with ie8 theres not really a big problem. But something supported would be better then theese hacks.

  124. Matthew Raymond says:

    I’m curious why Microsoft thinks this is so much better than my |bugmode| attribute proposal for HTML5. Currently, they’re suggesting we use the following to specifically target IE8:

    <meta http-equiv="X-UA-Compatible" content="IE=8">

    With my proposed attribute, you would merely add a single attribute to your <html> element:

    <html bugmode="IE8">

    If you wanted to trigger different compatibility modes for different vendors, you’d just separate them with whitespace:

    <html bugmode="IE8 FF3 OtherUA4">

    As opposed to the Microsoft-proposed solution:

    <meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">

    Using the best standards mode possible is implicit with |bugmode|, so if you leave it off, or if a UA doesn’t recognize the rendering mode you specify, the browser would default to the best standards mode available. Using the Microsoft approach, however, forces everyone writing a standards-compliant web page to include the following "boiler plate" code:

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    The advantage of the Microsoft approach, of course, is that you can take a document with the HTML5 DOCTYPE ("<!DOCTYPE HTML>") and treat it like an IE-specific HTML 4.01 document.

    Of course, once nice thing about using <meta> is that if they drop the stupid "edge" idea and simply make HTML5 pages default to the best compatibility mode in the first place, the Microsofties get what they want, HTML5 doesn’t have to put in a switching mechanism for Microsoft, and developers that actually code for standards don’t have to include meaningless, bandwidth-sucking "boiler plate" markup.

    That actually sounds like the best solution to me.

    So, what do you say? Can’t "<!DOCTYPE HTML>" be the "edge" switch we need, and leave the <meta> code for people who can’t be bothered with standards?

    P.S.: Keep in mind that anyone targeting IE8 currently has to use the <meta> element approach, so you can’t argue that non-compliant pages are unfairly burdened by "boiler plate" markup.

  125. Mark says:

    This has bad idea written all over it.

    Do we only need this tag for HTML4 pages and will HTML5+ be rendered in standards mode? (the real standards, not yours)

    And what will IE9 do with "IE=7" and "IE=10"?

  126. GoodThings2Life says:

    I don’t understand why "Quirks Mode" can’t be adapted to compensate for its existing functionality AND the "IE7" mode that exists today. This would mean that STANDARDS MODE is exactly THAT— STANDARDS COMPLIANT— while Quirks Mode is exactly that— NON-STANDARD, and possibly quirky.

    Just my thought on the matter, but the whole meta tag opt-in idea seems really stupid.

  127. Dave Hodder says:

    It might be useful if the File – Properties window had a field for render mode.  It would then be obvious to developers whether a document was being displayed in IE7 standards compliance mode, IE8 standards compliance mode or quirks mode.

  128. Mark says:

    So this means the ACID2 test does NOT work in IE8 because it doesn’t have that tag?

  129. GoodThings2Life says:

    As a follow up– I think what I dislike about this approach is this:

    I have to choose to add a non-standards compliant meta tag into my code to make a browser render in standards compliant mode.

    Doesn’t this seem like a bad idea to anyone on the IE team?

  130. David Naylor says:

    Chris Wilson, what’s to say that html editors won’t include

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    by default in a couple of years time? You weren’t expecting them to include strict doctypes…

  131. Dao says:

    Make <!DOCTYPE html> a trigger for the IE8 mode at least, so that we can live without the stupid meta tag for a few more years. (Optimally, IE8 would be as good as Gecko/Opera/Webkit, so that the meta tag switch can actually be dropped as future updates won’t break the world.)

  132. Jeffrey says:

    @Dave Hodder

    This won’t work for "IE8-Render-Like-Standards-Based-Browsers" mode, but for existing Quirks vs. Standards, save this as the address for a Bookmark in IE, then click on the bookmark when you want to test a page:

    javascript:alert(‘Page was rendered in ‘+((document.compatMode == ‘CSS1Compat’)?’Standards':’Quirks’)+’ mode.’);

    (you may need to edit this to ensure it is all on one line)

    @cwilso: Like everyone else on this blog, I’m terribly worried that we’re adding a layer of complexity to this process now, that is not future-forward thinking enough to handle the next versions of IE.

    e.g. when IE9 or IE10 comes out, are we going to concatinate values? does IE8 see an IE9 value, and revert to quirks mode? – this will be a disaster!

    Likewise, I’ll bet my $MILLION USD that IE8 will NOT be 100% CSS2 compliant, and thus we are setting a trigger for an incomplete target.

    There should be 2 target modes.

    =====================================

    renderAs: IE8

    or

    renderAs: IE8_OR_BETTER

    =====================================

    You absolutely NEED both in order to stop the problems.

    IE8 would be for the way IE8 ships.  if IE9, or IE10 renders something differently (e.g. fixed something), it doesn’t matter.

    IE8_OR_BETTER means that it renders how IE8 renders, BUT, if loaded in IE9, IE10, etc. the WEB DEVELOPER has ACCEPTED that IE might render stuff better in the future, and has ACCEPTED that they will be altering their CSS/JavaScript to handle the differences!

    The second level, is the category I am in.  I want 100% CSS/JavaScript spec compliance.  If IE9 fixes something, you’re darn right I’m going to adjust my code to handle it, with pleasure, because I’ll get a better end product.

    And finally as mentioned here, http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html

    your currently discussed approach is the best way to shoot yourself in the foot for years to come.

  133. Gyrobo says:

    I can think of nothing more detrimental to the evolution of the web as a medium than your transparent attempt to hard-code browser sniffing.

    You’ve done more damage to forward compatibility with that one meta tag than every previous version of Internet Explorer combined.

  134. Dao says:

    "* Hope that IE’s market share continues to shrink to the point where it is significantly less relevant, and site authors don’t particularly care about this behavior."

    That’s an interesting point. Once the market share is low enough, people won’t care about this crud, which means that sites working in a modern browser but not IE7 will never work in a future IE release, either. That will be the last nail in the coffin, then.

    Frankly, I can’t wait for this to happen. :)

  135. Jason says:

    @Mark – That is correct, when IE8 ships, it WILL NOT render the ACID2 test correctly.  The opt-in required to get the correct rendering will not be in the base test, thus it will fail.

    Several people indicated this in every online forum imaginable. Some were laughed at, were scathed for suggesting it was lie but look whose laughing now.

    The only thing that was insightful to read was this line:

    "We realized that the model for web development was really “write to the standard, then test against and fix problems in the most popular browsers.”"

    Politically worded, but right on target.

    All Developers now develop using standards.  They load up and test their applications and sites in Firefox, or Opera, or Safari, then when ready, test in IE (6 and 7) to see what is broken and adjust/hack accordingly.  IE has fallen from its spot 3 years ago as the primary development browser, to the dead last development browser.

    I just find it quite funny that the original approach of "Lets not follow specs to make it easier for the developer" has now turned into "That one single design mistake has permanently ruined our pivotal role in the browser landscape".

  136. mike says:

    Kind of silly, but thanks for the heads up. Keep us informed!

  137. Mike says:

    Oh, and why not:

    IE=8+

    IE=8.1-9

    etc.

  138. The idea of having a meta tag to support "super standards mode" is ridiculous…

    It’s been suggested numerous times above, I just wanted to get my vote in as well:

    "Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 in standards mode.

    No room for argument there… it just needs to eb that way.

  139. mike says:

    On the List Apart site there was a comment that IE 8 will NOT pass the Acid test, since it doesn’t include the meta tag (and thus will not use IE8 rendering). What’s your reaction to that?

  140. Before you go any further about complaining about how catastrophic a meta tag is and take the 5 minutes to configure your server right now. There, done, over with. No babies, kittens, or baby kittens have died as a result of you having taken the 5 minutes to do this.

  141. I do have one question though, will a document using the IE7 rendering engine still receive an IE7 user agent string (and associated DOM support) or will some stuff be different?

  142. Speednet says:

    In case anyone on the IE8 team reads this (and is keeping a tally of opinions), let me state clearly that I like the concept, but it is IN THE WRONG DIRECTION.  Upgrading your web browser should automatically make standards-compliant sites WORK IN IE8 BY DEFAULT.  A site that wants IE8 to behave like IE7 should have to specify the meta tag, not the other way around.

    Why are you penalizing standards-compliant sites by forcing them to add an extra meta tag (which will have to be added "just right" in order to work correctly)?

    Unlike all the Firefox nuts out there, I did not go bonkers when I had to do a little re-work on my site to make rendering with IE7 look good.  I was actually excited about Microsoft finally getting their browser in line with standards.  NOW JUST FINISH THE JOB.  Make IE8 100% standards-compliant BY DEFAULT, and force web site owners who want to stay in the dark ages to set the meta tag on THEIR OLD/BAD SITES.

    Besides, it is very simple for big corporations who don’t want to spend money upgrading their sites to use standards.  Because the meta tag is "http-equiv", they just have to add an extra header to their web servers, and not touch a single page.

    The important aspect is that it PLACES THE OWNESS OF THE HEADER ON PEOPLE WHO REFUSE TO GET COMPLIANT.

    Isn’t that how it SHOULD be?

  143. @Jonathan Snook first post says:

    Sure, depending on your set up it might take only 5 minutes, but of course no one was complaining about how hard this is going to be to add, the complaint is that it’s the wrong fix for an ongoing problem when the right fix is going to just as easy for MS to apply and even easier for the rest of us. And you obviously missed the real conversation about this based on your comment, since there are serious concerns about if this will harm the state of web development even more than past IE versions have. Having read the real conversations on this matter I have to say there are valid concerns about this. Perhaps it would’ve been wise to get all the information before telling people off?

  144. Sanjeev Gupta says:

    I will go with the masses and say that I don’t approve of the <meta /> hack. However I will try to elaborate a bit and restrain from blaiming everything on Microsoft.

    First some background – I am working with browsers for some time now and I really push them to their limit. Unfortunately Microsoft browsers have proven to be most fragile and less standards compliant.  Internet Explorer 6 has really made me pull my hair out. The story is the same with Internet Explorer 7. That’s why I jumped ten feet high when I read IE8 is passing the acid2 test.

    Now I read IE8 will support three rendering modes and the one “true” standards mode will be enabled by a meta tag which is a hack by itself. Here is why I think this will cause more harm than good.

    1. Introducing yet another rendering mode will be difficult for Microsoft. They will probably need to support three different rendering engines which live in the same application.

    2. The third rendering mode will make standard purists curse Microsoft even more (remember the doctype switch?).

    3. Web developers will have yet another browser to support with browser specific hacks. Many of them will just ignore the meta tag and pretend IE8 is just IE7 on steroids.

    I have one question though. Couldn’t you just ditch the IE7 strict mode from IE8? I am perfectly fine with leaving quirks mode in the game. However why don’t you disable all the IE specific hacks in strict mode (the one enabled by a doctype switch)? As far as I know people are using either conditional comments or CSS parser bugs to workaround Internet Explorer rendering issues. If you disable those the browser will be virtually indistinguishable from FireFox. However you need to be sure it adheres to standards as closely as possible so it renders web pages fine without any IE specific CSS. One way or another most websites work in standards compliant browsers. If the browser does not act as Internet Explorer and does not choke on standard CSS you should be good.

    I think this should have been the goal of IE8 – *NO HACKS*

    My $0.02.

  145. WRONG DEFAULTS!

    Ok I can respect helping old schooler’s sites stay functioning, but seriously, the default value of your silly new header should be EDGE.

    I will NEVER EVER set this header. I will always write STANDARDS BASED sites and if IE wants to take advantage of my code, it will have to use its newest rendering engine.

    Fix the default to EDGE, and you can keep playing on the web, otherwise, fade into irrelevance.

  146. cwilso says:

    @Jeff Schiller: Sorry, I should have said: I think we will be supporting IE7 mode "for a really really long time, as in a couple of web lifetimes".  I would personally hope the deltas between versions become insignificant enough to move away from needing the increments in the future – this would have to be proven, though.

    @Joseph E. Davis: the page gets to set what mode it’s in, just as quirks/standards modes work today.

    @toby johnson, @David Naylor: you are quite right, this could be abused as well.  At least it’s intentional (unlike the DOCTYPE switch and CSS hacks).  The DOCTYPE switch put tools in a tough spot – in order to validate, they had to turn on "standards mode", even if they would have been more comfortable with the stability of "quirks mode".  So the best thing you could do is help evangelize knowing what you’re doing to web developers and tool vendors, and strongly encourage proper use of tools like this.

    @Greg K Nicholson, one problem with date (which I did suggest once) is that it’s not intentional; the main problem is that it also fails completely in the tool scenario (tool expects IE7 behavior, tool has multi-year-lifetime, but the content it generates stops working properly with new version of IE).

    @Matthew Raymond: your bugmode proposal doesn’t validate.  I don’t think it’s radically different, other than that.  (Oh, and you couldn’t set it on a server if you wanted to.)

  147. C A Upsdell says:

    The META tag approach is what should have been done in the first place, and I have thought so from the beginning:  I have always thought that using the DOCTYPE was the wrong way to do it.  Now we are stuck with two approaches.  Sigh.

  148. billybob says:

    Chris, you are responding to the comments but you are not really answering them.  It just looks like you are trying to bash your point of view across when everyone can see this is a stupid idea.

  149. Mo says:

    So, what you’re basically saying is:

    a) IE 7 is actually broken, sticking to the specs in IE 8 will cause IE 7-standards-mode sites to break (otherwise you wouldn’t need to even consider this)

    b) Web developers who’ve stuck to the specs will have to change their code *again*, just for IE?

    c) Instead of just releasing a standalone version of IE 6 that people can install and launch (but not use as their default browser) for those with weird intranet applications and the like, you want bizarre rendering engine switches?

    d) This whole situation exists because of the abused monopoly position that persuaded people to write code specifically for IE 6 and prior and to hell with the standards.

    Your evaluation of the situation is flawed: the web moves immensely more quickly than Internet Explorer’s product release cycle. The fact that Apple, Mozilla, Opera, Omni, GNOME, KDE, and others can all release several versions of their respective standards-compliant browsers (each generally altering rendering and scripting behaviour in some way or another) whilst you’re still deciding when to consider a beta release (without so much as a sniffle from the 30-40% of people who collectively browse the web using them) suggests only one thing: if IE 8 has problems, it’s your fault, and you need to fix it. Not us. You.

    I don’t care what you have to do, but as soon as your “solution” involves developers adding more crud to standards-compliant pages in order for them to render in a standards-compliant fashion, you’ve lost.

    In addition to that, most of us who were bitten by IE 6-specific hacks causing problems in IE 7 swiftly wrapped it all up in conditional comments which targeted IE 6 for the IE 6 stuff, and IE 7 for the IE 7 stuff: if IE 8 follows the specs, it will safely ignore the conditionals and everything will be fine. I’d be absolutely amazed if the transition from IE 7 to IE 8 caused anything remotely like the issues encountered when moving from IE 6 to IE 7, not least because IE 6 had been the dominant browser for years longer than IE 7 will have (if it remains the dominant browser by that point) when IE 8 is released.

  150. Shelley says:

    You’re not responding to one of the most important questions being asked: what about XHTML? Is IE8 finally supporting XHTML? If it isn’t, personally I think all of this discussion is moot.

  151. Steve Balmer says:

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    STANDARDS, STANDARDS, STANDARDS…

    ………

    ………

    ………

  152. Alex says:

    Will it be possible to have this as a(n advanced) user preference? I’d prefer to have an option where I can have IE8’s standards mode (without the need of the <meta> tag), and only see IE7’s standards mode in the IE VPC images.

    Also, how will the 3 different engines in IE8 impact the installer size? Hopefully it won’t blow up to an enormous size.

  153. TK says:

    I think most of the sites that are not updated anymore are private sites that don’t use any fancy css hacks.

    I don’t remember the last time I had a serious rendering problem on a site using Firefox. I also don’t think it is necessary to change the User Agent string. Just use the most standard compilant rendering possible and the sites will adapt over time.

    Yes, it will be painful for some website developers, but chances are that they already render incorrectly on other browsers like Firefox.

    The meta-tag is just another IE hack, which developers need to remember and shouldn’t need to!

    Please don’t do this! (At least include an option in IE to force standard compilant rendering for all websites)

    Thanks!

  154. Optimist says:

    When IE8 encounters web pages that contains workarounds, it should notify the user with a warning icon next to the address bar or something. That would "force" at least some web pages to repent and switch to standard code.

    I can just see the look of the developers eyes when the boss wants to know why their customers see an "This page uses outdated technologies" or something…

  155. Angela says:

    I’m not going to rant on about this meta tag because I don’t want to get upset.

    Surely the "better" solution will be worked out soon for the "opt-in" standards mode but I digress.

    What I want to know is the more important issue.  This "opt-in" trigger only tells the browser that we want the correct standards-mode compliance, but it doesn’t specify whether this is CSS or HTML, or JS, or a DOM compliance!

    Opera has fixed bug 152 in their latest beta builds for document.getElementById which means that from now on in Opera it will work as designed as per the specifications.

    {oh and for the developers that dont know here is the bug 152}

    http://webbugtrack.blogspot.com/2007/08/bug-152-getelementbyid-returns.html

    Will this be fixed in IE8 too?  I want to know if my conditional comments that wrap JS file includes for IE5.5 – IE7 need to be updated to also include IE8?

    We need to know this kind of info soon as every time we deliver code to our customers, we need to ensure that we are not making additional HTTP Requests if we don’t need to (because they are very expensive when you multiply by thousands of users)

    thanks

  156. Chris says:

    Have the IE team tried out the internal build of IE 8 with standards mode ‘on’ by default for strict doctype site, and seen the results? Care to share any particular sites with us that would break if IE 8 used the current doctype trigger for standards mode?

    I would have though that a lot of sites that opt-in to standards mode for IE 7 would already be aware of what they were doing!

  157. Roger Wilco says:

    Argh, this is so maddening!

    If the average end user had <em>any freakin clue</em> what it took to get their sites rendered in IEs 5, 6, and 7 there would be no surprise and outrage at any older broken sites when IE 8 comes out.

    This is less of a way of "not breaking the web" and much more of a "we need to save face as we get closer to standards compliance."

    When a new version of Firefox or Safari or Opera comes out, for the most part developers stay relaxed and play with new UI features. When a new version of IE comes out the collective web freaks out and gets ready for a new round of fixing sites. I don’t care what people say, no one is surprised when their site breaks in any version of IE.

    Just make IE 8 relatively standards compliant. Get your best marketers (you know, the ones responsible for Vista sales?) to promote information about the web and why older sites might break. Be the kid on the block everyone wants to be like for once.

  158. Douglas T says:

    What a horrible idea.  Why can’t you just admit that the previous versions of IE got it wrong?  My mother always taught me to admit my mistakes, not try to spin them off as new standards.

    I understand that MS confused the situation and people started to believe in the new standard that was "quirks mode" but it is just MORONIC to insist that people continue to develop using that standard.  When will MS learn that they need to move forward on the subject and admit they have been wrong.

    Can you please just fix the problem and follow the standards set.  People will be angry at first but in the long run of the internet, it will all work out just fine. Really…

  159. pete gamache says:

    MSIE continues to be the only browser which expects web programmers to sort out its errors themselves.

    MSIE continues to be the only browser which is universally panned outside of its birthplace.

    It is decisions like this which reinforce both points.

  160. Doug T. says:

    No more HACKS… No more HACKS…

    No more HACKS… No more HACKS…

    No more HACKS… No more HACKS…

    No more HACKS… No more HACKS…

    No more HACKS… No more HACKS…

    Please…

    How often does the web developer community have to request it?

    Thank you.

  161. cwilso says:

    @billybob, I’m sorry, I am trying to respond, and I am not trying to "bash my point of view across".  Explain it, certainly; bash it, what’s the point?  

    Look, this is a complex issue.  If you think I’ve taken it lightly, or that Microsoft has just whipped out a solution without thinking about it, you’d be mistaken – we’ve spent a ton of time internally examining the problem, talking to other groups at Microsoft that produce content and tools, and talking to some others like Aaron, et al, to get an external perspective.  There’s no easy answer, because it is impossible for us to tell whether the author wrote their content to standards or to IE’s previous behavior – and in general, even authors who write their content to standards end up testing (and tweaking) for IE6.  Those tweaks might be detrimental to IE8 (or 9, or 10…) – there’s no way for us to tell.  In the end, we believe our highest priority is the user; the user doesn’t want ANY site to break, no matter how bad or IE-specific their code might be.  If they install a new browser and their sites are broken, they uninstall the new browser.

    I’m open-minded, and I’m listening.  I didn’t like the concept when it was first suggested; however, the evidence has proven to me that it’s necessary, since I got to see how many things broke when we shipped IE7 (and we have a lot more to do).  I got a first-hand view, as I personally deconstructed a lot of broken sites, and time and again I would answer someone’s "IE sucks!!!" post with a deconstruction of their site that showed they were expecting us to be broken, and were in fact feeding us explicitly different content than other browsers.

    @Mo: a) IE7 does not fully or correctly implement some web standards, yes. b) No.  Web developers who’ve implemented their code so it works on IE today, whether that’s standards-compliant or not, need to do NOTHING. c) average users don’t use multiple browser versions for different sites.  d) it is patently untrue that "most" of you correctly used IE conditional comments and expect perfectly standards-compliant behavior from IE8.

    @Alex: there’s a registry key that can force on IE8 standards mode, yes.  No recommended for average use, obviously.  And no, we don’t blow up to an enormous size.

    @Optimist: what exactly is my mom supposed to do with the popin bar that says "this page uses outdated technologies"??

  162. Thomas says:

    @cwilso:

    I think you could put a lot of minds here on ease if you would finally promise support the "application/xml+xhtml" mime type in IE8 and then not only force xhtml validation but also standard compilant rendering, even without the meta-tag…

  163. Isofarro says:

    The Internet Explorer team has until 1st January 2010 to fully support all current web standards: CSS 2.1, XHTML 1.1, HTML 4.01. After that, I won’t compensate for Internet Explorer’s failings any more.

    I reject this meta tag proposal. My standards compliant markup is not a second class citizen, it should not be forced to carry a Microsoft identity document to earn the possibility of Internet Explorer 8 rendering it as a standards compliant page.

    I’ve supported your efforts and work with Internet Explorer 7 in the past. No more. The line is drawn here. You stepped over it with this proposal that sacrifices the future-compatibility of standards compliant web pages. Opting in (twice) to standards compliant rendering is unacceptable.

  164. Pessimist says:

    Why oh why Microsoft, do you drag us all down into the circles of CSS hell?!?

    For years, your inane practices and ignorance for grasping the very organic definition of "Standards" has been the bane of every knowledgeable web developer’s existence.

    Often it seems as though everything you do is purposefully directed at hindering the progress of the Internet. We, the developer community, have put up with your impossible renderings, your disregard for the status quo, and your inability to compete with open source browsers that code circles around your Internet Explorer.

    And now, as you bring up the proverbial rear of Standards compliance with a faux-Acid2 success (remember, the Acid2 page does not have any custom IE Meta tags on it), you have thrown a wrench into everyone’s grand plan to bring the world of web design to a higher level. All in the name of sticking to your guns as the leader of preserving awful coding practices throughout the entire world.

    Why oh why Microsoft do you do the things you do….. ?

    I guess we’ll never know.

  165. mysterious.e says:

    ‘I think most of the sites that are not updated anymore are private sites that don’t use any fancy css hacks. ‘

    Incorrect. There are lots of sites out there that use ‘quicks mode’ css and are still in use. Forcing CSS 2.1 would break these. Thanks Chris for saving me an my clients time and money by continuing to migrate standards forward. If we could have only gotten IE 7 in 2004 …

    The biggest concern I have right now is the IE7 adoption rate. Right now IE 6 usage is still too high for me to out right abandon it – which I am wanting to do. What can be done to help IE 6 users make the switch?

  166. SomeGuy says:

    I still haven’t seen a response to simply enabling the functionality for the application/xhtml+xml. Isn’t that the easiest solution while avoiding the whole meta nonsense?

  167. alexander says:

    It is a bad idea and a foul compromise. Ultimately it will fail the same way all the "band aids" in prior versions have failed before. Browsers should expose brokend web sites, not try to "fix" them.

    Please reconsider the "meta" idea and please do implement full standards compliant mode as default mode. Please do expose broken web sites. Otherwise you are making things just worse.

  168. mysterious.e says:

    One more question: when will we know if IE 8 will run on XP SP2 or not?

  169. Anonymous says:

    This is really retarded … 3 rendering modes … let me guess, what are the heuristics used to determine which mode to render in, apart the absurd meta-tag ? Which rendering mode will be used by default ? The ‘Pass the acid2 test’ one ? or the others ?

    If M$ and IE didn’t subvert and broke the web years ago, nobody will use the ‘let me generate some dodgy standard breaking IE code for you’ applications such as dreamweaver, and nowadays, the web will have no issue with rendering … Too late to ‘Fix the web’, even with the multi render mode trick …

    microsoft.com is still not standard compliant … how can i expect IE to be ? By the way, got position:fixed working in CSS2 yet ? This is the most ridicoulus explanation (backward compatibility) i have ever read.

    http://validator.w3.org/check?uri=www.microsoft.com

  170. obik says:

    I’d just like to join the chorus in shouting:  THIS IS THE WRONG DAMNED WAY TO DO IT!  Require the tag to turn IE6 rendering ON not to turn standards compliance ON.  I have a doctype that says I’m xhtml 1.1 compliant.  I should have to add another damned meta tag to tell your browser that I really meant it.  Make the tag for folks who are too lazy to do it right.  Sure, it may cause some problems, but for sites that actually get updated, it will be a trivial fix (add "meta broken-rendering: on" to the page).  For sites/web apps that need to be fixed, it will be fixed.

    For all the abandoned sites that never get updated or are maintained by people who can’t manage to cut and paste a single tag…well, tough titty.  There is a point where you have to break backwards compatibility in order to move forward…and that point is now.  DON’T screw things up again, please?

  171. YOUR CUSTOMER says:

    <LET THEM BREAK IF THEY CAN’T BE BOTHERED TO MAINTAIN THEIR SITES!>

    Spoken like a truly arrogant programmer; someone who doesn’t ‘get’ it.

    These site owners with their heads lodged up their posteriors (which I can at least spell) are your CUSTOMERS.

    Losing sight of that fact is why your jobs keep moving offshore.

  172. Er3s says:

    Well,

    It seems that by the majority of people here, Microsoft can’t do anything right.  Well, just remember, this companies technologies and "quirks" keep you employeed.

  173. youcantbeserious says:

    This is the absolute worst idea the IE team has had since…the last one.

    It really would be best if you’d just discontinue IE development entirely. Seriously. Think about it.

  174. Francis says:

    Have you ever considered what the security and maintenance ramifications of keeping these old, quirky rendering modes in IE are?

    You’ll have the same situation as Microsoft does with its multiplicity of MS XML versions and Office "compatibility options": the constant need to plug security holes across a range of redundant, obsolete products, and much higher development costs to boot. Resources that could be used to fix the one standards mode will instead go to keeping up an aged, creaking codebase.

    I understand not wanting to "break the web," but why not make a clean break? Unless you intend on keeping around these dinosaur modes behaviors forever, at some point developers WILL have to update their code. Since they’re going to have to do it anyway, why not do it sooner than later?

    At the very least, the IE team could announce a timetable: quirks and IE7 "standards" mode will be supported through IE8 but quirks will be dropped in IE9, and IE7 in IE10. Then developers will know how long they can persist in the old behaviors, and when they should recode their sites. Think of it as a product support lifecycle.

  175. Anonamoose says:

    Nice idea, yet another ‘switch’ to make it behave like it should, this now means we get to target to 3 different versions of IE plus probably 2 versions  of FF (or gecko) plus the others (webkit khtml etc) if you care, yes all those as they all render ‘standards’ differently.

    Stop this madness, please FORCE people to update their IE browser, you have done it to half your users with IE7 already, make it compatible then help out a naive public by making the upgrade for them.

  176. analysis says:

    Ok, lets look at this carefully.

    Opt in vs. Opt out.

    ——————-

    It has to be opt in, because of legacy sites and applications with embedded IE(v6) browser controls etc.

    (think QuickTax for those in North America)

    Fine, Opt in it is.

    Next, what exactly are we opting in "to"?

    —————————————–

    Neither Chris Wilson or anyone on the IE team has disclosed this yet.  Is it just CSS? or is IE8 actually going to fix the entire mess in Trident/IE?

    The Future:

    ———–

    Whatever is decided. It needs to work today, tomorrow and 10 years down the road! (PS the current meta tag structure as discussed here DOES NOT WORK!)

    In the Interim:

    —————

    IE8 Better have a gosh darn JavaScript/Error console, and in it… every time IE runs some JS/CSS that is NOT to spec, it better put a warning in the log, so that developers KNOW they are messing things up, and can fix them.

    The following would be a VERY proprietary HACK, but I would like to see a conditional comment type structure that will work WITHIN an externally referenced CSS file, so that I can code properly, and HACK-BACK for < 8 IE versions.

  177. kL says:

    Will the new I-can’t-believe-its-not-standards mode be the default for <!DOCTYPE html>? What about XHTML MIME type?

  178. Webdesign says:

    @Fallen

    You dont code for IE5 ? ? Our company does, it’s still part of our minimum browser requirements and we’ll probably be dropping 5 when you drop 6, lol. That said I’ll agree with you that when statistics get so low that they’re immeasurable browser support will be removed. However we probably see more oddities than most as we deal with some pretty big organisations where there isn’t a week go by where one of them isn’t in the national media

  179. Tweak Vista says:

    Peter Michaux beat me to it!

    If this problem only affects Internet Explorer due to the fact that sites check for the agent string or whatever, then just radically change the agent string!

  180. LFERC says:

    It would be great to hear what kind of overhead this decision is imposing on ongoing IE development.

    I see the problem you are trying to address but we won’t know until IE8 ships whether development departments choose to adopt this tag.

  181. I want to code to standards, not browser versions.

    The ideal web is a web where you don’t have to think about differences between browsers – because there are none. Now Microsoft is moving away from that ideal by introducing another rendering trigger, while there should be only one.

    A strict doctype should trigger standard-compliant rendering for all browsers. Until IE is not fully compliant (hopefully that won’t take too long), I’m all for <!—[if IE N]>.

  182. Webhosting says:

    I strongly believe that this is a bad idea.

    You cant make things future compatible when building a site. You simply have to suck up you code and fix it for new releases.

    Yet another step backwards for Microsoft. Why don’t you just let it use the word rendering engine?

  183. Komra Moriko says:

    This is a bad idea, and evidence that Microsoft doesn’t get it, or is willfully destructive of progress currently made with standards.

  184. NotBob says:

    It is most important that standards be followed.

    If you want to take care of the "old sites" that lack developers or lack the ability to be updated, then figure out a way to "detect" them and use backwards compatibility mode only then.

    Use standards compatibility mode by default.

    Allow the user a simple tag to put in that puts the browser into backwards compatibility mode instead.   Create a "how to guide" for people to use when their websites don’t work any more because they were built poorly to begin with, or create a small program that will "patch" a website with the right tag to make it render in backwards compatibility mode so that there is no excuse for someone using a poorly written website to not at least patch their site.

    Supporting standards going forward should mean that you are actively trying to bring your crapastic browser into compliance with the rest of the world.  MicroShaft doesn’t get to set the standards.  I don’t get to set the standards.  We just get to follow them…. if there is something wrong with the standards then we petition the group of people or join the group of people to try and fix it.  

    Simple.  The hardest part is in detecting which websites break when standards are applied…but I bet if some energy and thought was spent on it, it could be done with 99% accuracy.

  185. Bubax says:

    Chris,

    after a quick survey of the negative criticism (most of which I applaude) I didn’t find the following flaw of your approach mentioned: What struck me most (apart from the technique in itself) is the opt-in part of the story.

    | “Standards mode” remains the same as IE7, and compatible with current content.

    | If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element.

    That is a completely bad approach. I, for one, will surely never add such a tag to my source. And here the problems just begin: It is nice that the proposed technique is of the http-equiv type. Therefore, short-sighted people could just use the "cleaner" approach of sending the corresponding HTTP header. So, what do you get?

    I send the IE=edge header (or IE=8 header, if you prefer).

    You visit the page with IE 9 (everything is fine).

    You save the document or mirror the site locally (arbitrary client, say, wget).

    You open it with IE 9: Gone is the header. Broken by design.

    Bubax

  186. Anonymous says:

    Zuk�nftige Browser sollen durch einen Kompatibilit�tsmodus sicherstellen, dass alte Websites auch mit neuen Browser-Versionen korrekt dargestellt werden.

  187. IE6’s broken "standards" layout mode is a de facto standard only due to its market share and continued use in enterprise environments.

    The IE7-specific code that *does* exist are mostly public web sites who are used to being browser-aware. IE8 lobbing a few issues at them won’t phase them, and the beta process will give them ample time to prepare.

    By contrast, the IE6-specific code tend to be corporate intranet tools that are a major hairy deal to upgrade (the primary reason many companies *still* use IE6).

    So, IE7 won’t have the same set-in-stone need for support in corporate environments when the IE8 rolls around, etc.

    Thus, "Standards mode" should always use the *latest* code available.

    If the web site developer needs more time to accommodate the changes, let *THEM* use a META tag until they can add "native" IE8 support.

    For enterprise IT admins who have IE7 but can’t just hack around in their crusty old tools’ HTML headers to support IE8, allow them to use downgraded layout rules on a per-domain basis using system policies.

    That way, corporate users can get a great IE8 experience on the public web, while IT people can have time to wait for vendors or internal projects to add "native" IE8 support to their intranet tools.

    I agree that the user’s experience and the developer’s ability to upgrade are important considerations, but there should also be some gentle evolutionary pressure to keep developers and IT managers moving forward.

    "Survival of the fittest" standard, not "survival of whatever Microsoft arbitrarily decided that future versions of IE should render to without an explicit meta tag" standard.

    Otherwise, 15 years from now, Microsoft will STILL have to keep supporting the broken IE7 standards mode, because most content and tools, as now, will be developed and maintained for the *default* rendering mode. (Always remember that developers are lazy, and single-browser developers are especially lazy.)

  188. Omid says:

    Today first draft of HTML5 published and they are going to HTML5, go on, fetch them :>

  189. DON’T DO THIS! We don’t need another html or meta tags, we want even less tags for a good web development.

    Here’s the solution for this problem:

    No DOCTYPE – Quirks mode

    DOCTYPE Transitional – Standards mode (IE7)

    DOCTYPE Strict – IE8 standards mode

  190. Chris Ellis says:

    I would much prefer that IE8 broke non-standards compliant websites.  This would start to kick the web into shape.  

    Please do not do this, it seems to be a very short-sighted idea and will only crate more issues for the future.  Instead eat the bullet and help fix the web for all our sakes.

    Rather than consider what is best for IE,  consider what is best for the web.  After all you have the power to force IE 8 upon the masses overnight.  Use this power for good (it would make a change).

  191. Nick Lowe says:

    Web developers would much rather the short term pain of making their sites standards compliant, knowing that it would be a one-time job, than having to support this abomination.

    It is highly demoralising as your “solution” gives no resolution, has no end-in-sight and will further fragment the web.

    What you propose is the antithesis of what standards compliancy strives to achieve.

    It is absurd, and a fallacy, to believe that IE can become standards compliant through non-compliancy.

    It would give me great pleasure to go though the sites that I maintain if they were to break with the release of IE8, knowing that it would be for the greater good.

    I am sure others feel the same.

  192. Anything that is standards compliant in IE, should work with existing syntax. It works fine for other browsers now, don’t change anything. And the goal should be that everything will ultimately be standards compliant. And there’s already a long list of things that are compliant. So we’re off to a good start, eh?

    As new elements become compliant, it would be great if you could ignore the hacks that pertained to older, non-compliant versions of IE. This has less impact on the marketing department than the re-branding idea suggested earlier and accomplishes the same thing. As long as you behave the way you’re suppose to, you become one of the group, no need to draw attention to yourself. Again, other browsers work with things as they are now, there shouldn’t be a need to change anything.

    The use of ActiveX is an area where there are differences today. As an isolated example, if IE8 can properly respond to a window.XMLHttpRequest, can’t you then ignore window.ActiveXObject? And no code has to change. Your following the compliant path now

    It seems to me that any attempt at backward compatibility is of short term consequence, while standards compliance is the ability to check it off the list, permanently. Now you can add value to the IE experience. Add a meta tag to access ActiveX and the rest of the Microsoft experience. It’s at this point where you want to differentiate IE from other browsers, and introduce additional syntax. For future cool stuff, or backward compatibility, it works either way.

    The rest of us have kinda decided how we like to do things, your welcome to join us. In fact, your encouraged to join us. Once we all have this basic understanding, your free to do what ever it is you want. But until we have this basic understanding, you’re making it hard on everybody else.

  193. bungle says:

    "As it turns out the Web Standards Project as a whole was not aware of this until publication on A List Apart"

    http://annevankesteren.nl/2008/01/ie-lock-in

    More from here:

    http://weblogs.mozillazine.org/roc/archives/2008/01/slipping_the_ba.html

    http://ejohn.org/blog/meta-madness/

    Enough said?

  194. Allowing the tag to be sent as a HTTP header is a spectacularly bad idea: it ties a page to the platform that serves it; if that same page is ever served by another platform (which doesn’t have that header) the same content gets rendered differently. Utter stupidity.

    I understand that you do not want to break every IE specific website but this is a lousy plan: forcing standard pages to add a nonstandard tag to get standard compliance is a bad joke. Really, I kind of dislike Microsoft and make fun of you people every time I can but if you keep making it easier to make fun of you I might get bored..

    The best thing I could think of was the agent string proposal: just send an agent string of ahh say

    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre) Gecko/2007120505

    ;-) and make the website return standards-compliant html instead of IE-specific crud. This will break sites but at least standard respecting sites (and web developers) are not punished again..

    Another point: whatever way you go there *must* be an incentive for website owners to have their site fixed to standards mode. If there is no incentive no-one has any reason to change their sites, or to learn how to write one properly.

    Completely b0rking up their sites is perhaps a bit much, but showing a nice sickly red and oozing warning (perhaps flashing and animated – that’ll teach’m and give your Silverlight people something to do) that the site itself is badly coded is often incentive enough – it’s the "shame" factor.

    Of course your mother might not know what to do about the warning but it will not bother her: most people are perfectly able to get by it – as all those Bonzy Buddy and IE-with-20-toolbars installations should prove ;-)

    In addition many people *will* know what to do with the warning and might irritate the site owner enough to take action.

    You should also consider what would happen for later versions. It would not be nice if you had to have 57 different tags once IE 57 comes out. And the only way to prevent that is at some time to force some pain on the site owners that do not update their sites..

    On a different subject: I surely hope you’ve also sent the Javascript developers to kindergarten to learn such useful stuff like counting? Perhaps you’ve even given them an exam? Make them count the chairs or something?

    It would be *so* nice if IE could *finally*, in 2008, after THIRTEEN YEARS!?!?! of development by one of the wealthiest and biggest software companies report the CORRECT LINE NUMBER OF A JAVASCRIPT PROBLEM!

    The correct file would be nice also, of course; and more than one error message would be nice too 8-(

    Really, your javascript engine and especially it’s debugging ability needs some serious lovin’ – it’s crap. I find it completely incomprehensible that Firefox has Firebug – which is really incredible *and* free *and* developed by a small group – and you people have nothing coming even remotely close..

    Please, for the sake of my collegues, take away my ability to make fun of you (and them, as Windows users) and start fixing something instead of introducing new fun and games..

  195. Matt says:

    This is completely asinine. Leave out the meta tag, keep "quirks" and "standards" mode (since everyone else has the same thing anyway), and web developers will learn inside of 5 seconds to stop serving b0rked crap to IE. Yes, you can maintain standards by having a custom <meta> tag and do your fancy pointless three mode crap, but it’s stupid and everyone will hate Microsoft for it, especially web developers and companies. More importantly they’ll hate you more for it than the temporary break while they scramble to not serve "custom" IE content and stick to standards.

  196. timmfin says:

    Yea, I know that IE is in a tough spot. This is (at least) partially deserved but I’m going to try and not hold a grudge.

    I personally think that you should really consider making the real IE8 engine ("super standards" as some have called it) the default option. Or at least make it the default option when HTML5 is used.

    If you are serious about promoting web standards, its time to start teaching the mom and pop web developers of the world. If the default is IE6/IE7 mode all of their new websites will work fine and they will go on their merry way… still coding incorrectly. Feel free to document the meta tag as the first bullet in your IE FAQ, but don’t let the unknowing masses perpetuate the issue (and just push solving the problem till a later date).

    The message I get from your proposal is that Microsoft cares more about its (short term) IE marketshare than the (immense) difficulties that web developers have to deal with today. And really, you can do that if you’d like — but it makes me realize (even more) how bad it is to rely on proprietary software from a very proprietary company.

  197. It’s been said, but I need to get it off my chest.

    So let me get this straight… I have to add an additional meta tag to my page in order for IE8 to support standards?!?!?

    Guys, WTF is with you. Have any of you learned anything in the past 5 years?

    Put the browser’s default to standards mode and stop jerking around.

  198. cwilso says:

    @pete gamache – have you read my post?  Our point is to NOT make web developers sort out our errors themselves, nor serve penance for the things we’ve gotten wrong in the past.

    @bubax – yes, I personally believe using the "edge" keyword is a bad idea  in any production code.  Use the current version of IE, and if you wish your site to upgrade, test it when a new version comes out and turn it on.

    @Nick Lowe – how can you claim to speak for all web developers?  You do understand that a lot of the web is generated by tools (many of which opt content generated by them in to the current "standards" mode, while expecting IE to be broken), right?

  199. Mystified says:

    If you’re so worried about "breaking" old sites, why not just build an IE-CLASSIC toggle button into IE8 that switches on the old rendering engine on the fly so that users can trigger it when an old site breaks?

    Something like:

    "IE8… now with an IE-Classic mode for viewing old-school sites."

    Heck, it even sounds like an added feature. I can envision the Press Release now.

    "We here at Microsoft are dedicated to bringing you the next generation of Web 2.0 surfing. We’ve made IE so advanced that sometimes an older website can’t keep up with our innovation. So, if you ever come across a website that doesn’t look the way it should, you can correct it with our IE-CLASSIC button and make the site look the way it was intended to look."

    Yippeee! Done, end of story. Everybody’s happy.

  200. Mark Sowul says:

    Standards mode should mean standards mode.  IE6 and IE7’s "standards" modes should be opt-in and require the meta tag, not that of IE8.  That IE6’s "standards" mode was horribly broken should not hobble us all forever.

  201. Andrew Powell says:

    You guys are making it harder and harder to be a fan of IE as a developer. I’m nearly done defending it. OPT IN?! You mean yet another line of html hackery that we need to add for IE? *sigh*

    Where’s the news about the DOM, the javascript peoples on this project? And when is the Operation Aborted error going to get fixed??? I’m not giving up on this one.

  202. KatB says:

    So as far as I can see, what we will need to do is go back to browser sniffing at the server, and implement this meta tag either in the markup or in the header, dynamically at the server from the browser version in the HTTP request. Or have the frowned-upon ‘edge’ value.

    This is so we always get the best rendering from whatever version of IE is present, because quite frankly, I shouldn’t need to care what version they have.

    I quite like the idea of super Platinum Diamond Gold ABBA standards as default with the application/xhtml+xml mime type, that IE does not implement in its most current version, 7.

    This way standardistas finally get XHTML support and best rendering possible, and keeps rendering consistent for those who don’t care about the latest and greatest.

  203. Pieter F says:

    Standards mode should be the default.

    If people can run old programs in ‘Windows 95 compatibility mode’ on Vista, why can’t they run old sites in ‘IE6 compatibility mode’ in IE8?

    All these badly programmed sites you want to cater for so desperately ARE already broken. Their developers have already accepted the fact that they don’t render exactly as intended in Firefox etc. If they can live with that, they can live with IE8 beta too.

  204. ithinkI'mgoingtobesick says:

    John Resig (of JQuery) weighs in on the madness of the new Meta tag:

     http://ejohn.org/blog/meta-madness/

    It isn’t pretty. But, it’s a good read.

  205. Kaldari says:

    This is ridiculous. Standards mode should be the default if the doctype is declared. If the developer’s code doesn’t match their doctype, that’s their problem, not Explorer’s! This is utterly insane.

  206. Just more evidence that the IE team needs to have their marketshare taken away.  You’re a plague on the web.

  207. Also posted on ALA:

    Call me crazy, but this idea seems absolutely insane. Those who have developed their websites to the standards should not be punished by made to feel like second-class citizens on IE– it does not foster a greater push for standardization, but rather poses an incentive to rely on IE’s broken rendering.

    Personally, it would make much more sense to allow a meta tag that opted *out* of using proper standards– if you have an old website that you know works in IE 6 or whatever, and you’re too lazy to update it to the standards, why not put a meta tag that in effect says "use the IE 6 rendering engine on this page?"

    In this way, you don’t trivialize the importance of standardization, yet still preserve backwards compatibility for the lazier among us. Just a thought.

  208. Anonymous says:

    "The message I get from your proposal is that Microsoft cares more about its (short term) IE marketshare than the (immense) difficulties that web developers have to deal with today."

    Exactly! I couldn’t have said it better myself. Super-standard should be the default, period.

  209. Nick Lowe says:

    @cwilso:

    "how can you claim to speak for all web developers?"

    Fair point.

    "You do understand that a lot of the web is generated by tools (many of which opt content generated by them in to the current "standards" mode, while expecting IE to be broken), right?"

    You were prepared to make disruptive changes with IE7. Surely the same arguments apply.

    What is proposed is only pragmatic when considered in the short-term.

    It is the lesser of two evils, being better for the long term prospects of the web, to have an opt-out for compliancy rather than an opt-in.

    Developers will always work following entropic principles. (Do the least work to get by.)

    So the reality is that if IE7 had not broken websites, those websites would not have changed.

    Pain -will- result from an opt-out or opt-in model. Opting out of compliancy merely defers that pain.

    Surely it is better to grasp the nettle now rather than later!

  210. David Clarke says:

    I haven’t read all the comments – I hope you guys do. FWIW I echo the majority of the comments I did read, this is a bad idea. So I test my site in IE 8, maybe make a few mods, decide to go wild and add the meta tag, then realise I’ve just broken my site for all my customers that are still using IE 7/IE 6. This is a joke right? I have an expectation that as long as my pages are standards-based then as usage of older browsers drops I will eventually be able to remove any sniffing/conditional code. Honestly, I will never use your stupid meta tag and I will mandate that it will not be used in my organisation.

  211. Nick Lowe says:

    @cwilso:

    Sorry, I meant to say…

    Having an opt-in model for compliancy merely defers the pain that developers must face.

  212. Kaspars says:

    This suggestion is bad, very bad.

    1. The requirement of an additional code for enabling the “standards mode” will punish those who have actually built their sites according to the standards in the first place, and applaud to those who didn’t. Is this fair?

    2. Why do we need an extra "Preferred Browser Version Definition" (BROVER)? This would be a double standard — browsers would have to consider not only the DOCTYPE, but also the preferred BROVER, which would result in an inconsistent rendering among different browsers. Absurd.

    The rest of my points areWhy do we need an extra Preferred Browser Version Definition (BROVER)? This would be a double standard — browsers would have to consider not only the DOCTYPE, but also the preferred BROVER, which would result in an inconsistent rendering among different browsers. Absurd.

    The rest of my arguments are in the blog post: <a href="http://konstruktors.com/blog/understanding-web/78-browser-version-targeting-vs-the-web-standards/">Browser Version Targeting vs. the Web Standards</a>

  213. Jesse Houwing says:

    If you can add a META tag, is it also possible to add that tag in the form of a response header? Because that would enable easy mass conversion of whole websites. Just add one configuration rule to either IIS or Apache…

  214. Speednet says:

    @YOUR CUSTOMER wrote:

    <LET THEM BREAK IF THEY CAN’T BE BOTHERED TO MAINTAIN THEIR SITES!>

    Spoken like a truly arrogant programmer; someone who doesn’t ‘get’ it.

    These site owners with their heads lodged up their posteriors (which I can at least spell) are your CUSTOMERS.

    Losing sight of that fact is why your jobs keep moving offshore.

    —————–

    Actually, there is nothing "arrogant" about the general sentiment being expressed here.  What you are calling arrogance is actually massive, pent-up frustration being exposed.

    There are plenty of "customers" who understand the fact that maintenance is required with their web sites.  You do not create a web site, turn it on, and then never touch it again.  "Customers" who do that are most likely not very good "businesses".

    It would be very simple to tell the IT community as a whole that the introduction of IE will require web sites that are not standards-compliant to add a meta tag, or else to add a header to the web server.  (In the latter case, it is literally a 1-minute operation to update 1 web server with a new header.)

    After all, IE8 will surely be released after a few public betas and RCs, providing plenty of time for all "customers" to make the simple change.  Of course, these "customers" also have the ability to join the rest of the internet and make their sites standards-compliant.

    Microsoft and Microsoft Developers:  It is time we raise the bar.  Let’s draw the line in the sand and with IE8 say, "You can either produce standards-compliant web sites, or flag your site as outdated."  Of course, IE8 will not have a huge indicator that let’s the visitor know which one it is using, so there is no general stigma attached to outdated code — other than among us developers!

    P.S. (@YOUR CUSTOMER) My apologies in advance if I’ve managed to spell any words wrong.  Hopefully you will not feel obligated to point out my errors, if they exist.

  215. Andrew Mason says:

    What about turning on standards compliant mode for those who are serving content as xhtml strict AND sending the correct mime type. No one will accidentally do this !

  216. Adrian Simmons says:

    I’m coming round to the idea that this is workable *if* the default is changed to IE8 – standards compliance mode – the meta then provides a fix for any site that breaks.

    Having to add it to all my nice standards compliant sites with the conditional comments and special css files for IE just to get ‘standard’ functionality in IE would be far too painful.

    "…late 2006, roughly half of the top 200 US web sites were in “standards mode”…" surely that’s increased since then? Let the minority of non-standard sites do the fixing please. Put the default to IE8 and standards mode!

  217. billybob says:

    Chris, thanks for trying to keep up and answer, it makes us feel that someone has at least picked up the phone on your end.

    Unfortunately your response shows that the only people you have actually spoken to is people inside Microsoft and Aaron.  When did you ever raise this issue with the people who actually work on the front line?

    Your company (and probably you) have made an obscene amount of money by abusing your monopoly to invade into the server and web apps space at the expense of Netscape and Java.  IE was designed to handle ‘non-standard code’ in order to crush Netscape.  The HTML output from Word was amongst some of the worst IE only code I have ever seen.

    The whole IE6/Intranet problem is yours (and your customers who used your broken tools), why should we have to spend additional time and money on the result of your business tactics in the late 90’s?  As you can see from the comments on this blog we have all had enough of this seemingly arrogant attitude towards us.  Please just toe the line for the next 5 years, make IE a browser to be proud of… Then and only then will you find that more people will trust you and engage in conversation about the future of web standards.

  218. new know what says:

    This <meta> tag is such a gross hack. People – or WYSIWYG editors – should learn to write/generate proper HTML, browsers should enforce this. And of course, browsers should be compliant in the first place.

  219. Brian says:

    IE7 was a huge improvement over IE6, and I had so much hope for IE8. However, you have now shattered that into many pieces. Sadly, Microsoft either just does not get it, or is really not interested in standards.

    There is no need for a third rendering mode, especially one that needs to be opted in to to do the right thing. The Doctype is enough: if it is set to standards mode, then… well, render it in standards mode.

    In this new IE8 solution, it seems that we all lose. All properly designed, standard-conformant pages will need to explicated opt in to the IE8-specific standards mode. It’s almost like you are trying to punish those developers who designed their pages to be standard-conformant.

    A non-conformant page should render incorrectly. Stop trying to support them. It is ruining the experience for everyone else.

    With this information, it seems clear that IE8 did NOT pass Acid2 since Acid2 is only set to standards mode, not the IE8-specific standards mode.

    I’m not sure how much more of this I can take. It may just be time to give up on IE entirely. You just do not get it.

  220. Publishing_XHTML_for_almost_a_decade says:

    > What about turning on standards compliant mode for

    > those who are serving content as xhtml strict AND

    > sending the correct mime type. No one will

    > accidentally do this !

    Sure they will. Every XHTML CMS will be updated to send the correct MIME type — actually mine already will so long as it’s advertised via accept. Since my pages are 100% valid with not so much as a single encoding error this isn’t a problem for me. However most of those that thought IE displayed their "XHTML" are in for a shock. Look at reuters.com, that laughable mess is never passing an XML parser.

    Still, I agree with you.

    XHTML served as text/html is quirks

    XHTML served as application/xhtml+xml is standards

    What the hell is this meta element for and why can’t Microsoft do just this one thing right?

  221. Jeremy Petzold says:

    I have a suggestion for you. deploy IE8 onto XP as well. Please. We need to get the vast majority of IE users to have the most standards compliant IE possible. Forcing an upgrade will help as well.

  222. Disappointed says:

    If IE8 refuses to render my standards-compliant webpage in compliance with the standards because I didn’t add a tag which is not part of the standard in addition to the strict declaration, then IE8 is clearly <i>not</i> standards compliant.  Further, it is noncompliant by deliberate intention and explicit implementation.

    Anyway, tell us when you pass Acid2 <i>for real </i>— by correctly rendering according to the declared doctype, with no IE-specfic tag schmutz.  Until then, you still clearly aren’t even trying to support standards.

  223. If you’re not planning to support application/xhtml+xml properly, please don’t release IE8.  This is the one absolute "MUST" feature for IE8.

  224. Mr Wilson,

    1-

    IE 8 will be able to render a webpage in 5 (five) different rendering modes depending on the code (doctype decl. and &lt;meta&gt;-tag) of the web authors: quirks mode, IE 6 standards mode, IE 7 standards mode, IE 8 standards mode and IE 8 edge mode. Have I understood all this appropriately and counted this correctly?

    2-

    What will happen to webpages which have a doctype decl. triggering quirks mode and the &lt;meta&gt;-tag triggering IE 8 standards mode? This question was already asked by Chris (see anchor #7199332 in this blog entry)

    E.g.:

    &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;

    (…)

    &lt;meta http-equiv="X-UA-Compatible" content="IE=8"&gt;

    3-

    What are the efforts currently deployed by Microsoft to help, to assist, to support ordinary web authors into upgrading their poorly-coded (invalid non-compliant tag soup) websites which may have been coded many years ago and with Microsoft products such as FrontPage or MS-Word HTML Save/export feature?

    4-

    In what way, in which manner is Microsoft inciting users with IE 4, IE 5.x and IE 6 to upgrade their browsers?

    5-

    If choosing the IE 8 standards mode will render webpages pretty close to what Firefox 3, Opera 9.5 and Safari 3, then why was it not doable, acceptable to ask website authors to develop their webpages with web standards, then check/verify/adjust if needed to Firefox 3, Opera 9.5, Safari 3 *and IE 8 in standards mode*? This is what I do not understand. If the gap between IE 8 and other acid2-compliant browsers is going to be small, then it should not be too difficult or too long for web authors to make adjustments for making all acid2-compliant browsers to render webpages approximatively the same. My reasoning is that it would not have represented a huge amount of time, energy for web authors to create webpages that would be rendered as expected in Firefox 3, Opera 9.5, Safari 3 which would be rendered also as expected in IE 8 in standards mode.

    6-

    Will (and when will) Microsoft update and upgrade its very own MSDN web authoring articles to propose and to educate amateur web authors into upgrading their webpages? Many MSDN articles (and examples in MSDN articles) are still proposing user agent string detection scripts (browser sniffing) as a way to detect browsers and not by using conditional comments or by using proven-reliable, widely recommended and acknowledged-as-best feature support detection and object support detection. Eric Lawrence says it does not help to point fingers … but really useful, truly helpful MSDN tutorial articles on web authoring according to widely acknowledged best coding practices and W3C web standards can and will help web authors (into moving forward, with W3C web standards) and, in the final instance, users.

    Regards,

    Gérard Talbot

  225. Tino Zijdel says:

    This is exactly what I’ve been afraid of ever since Chris started on a ‘switch’ for browserversions in the HTML5 WG. This is really hurting compatibility and interoperability between other browservendors and therefor can only be seen as an MS monopoly play on the browser market. Having to opt-in to standards compliance, wereas other browser already provide that as a default, is a slap in the face of all serieus webdevelopers. You really need to reconsider your commitments…

  226. kk says:

    <aho> ma fein ins blog gespammt

  227. minimalist says:

    @Mystified

    Wow! Oddly enough, that does sound good.  Very good. Make IE8 as spec compliant as possible, then let the user choose "classic" mode, if they are having trouble. Awesome!

    As a site developer, your users will be able to go to classic mode to view your existing sites today without issue… then when you are updated, tested, and ready to go with IE8, they can go into "advanced" mode (or whatever you want to call it)

    And for those of us that have been begging for spec compliance since before my first child was born (he’s 5 now), we can go straight into standard/advanced mode the day IE8 launches.

    That all said, I’m not overly worried about this fiasco with the meta tag (and yes, it is a  complete mess) because the day IE8 comes out is the day that IE6 users will get a "Your Browser is out of date" message.  I’ll provide a link to upgrade to IE7/IE8 as well as a slew of better Browser options like Firefox and Safari.  They can make their own choice with what they want to use.  Of course any of them on Win98, WinME, or Win2K will not see options for IE7/IE8, only the better browsers like Firefox, Safari and Opera.

    JUST CANT WAIT TO DEPRECATE IE6!

  228. David Naylor says:

    Chris, what about having "IE7 mode" or "quirks mode" as client side options? (Having IE8 standards mode as the default.) That way companies can use IE8 without having to touch their archaic intranet apps…

    I just feel it’s such a shame to wrap your spanking, shiny new rendering engine in a load of 90’s-ish ie6 rendering.

  229. BryanSD says:

    This is just plain crazy.  So what you’re saying if from here forth…any time we want to make our site take advantage of Internet Explorer following the standards…we need to add a meta tag?  This may not be that difficult to do/remember for IE8…but what happens when IE9, IE10, IE11, are released?  A new meta tag for each new version of IE…just so the browser will render a page following the standards being used at the time the new IE is released?

    One of the biggest problems I see with Microsoft’s products is the forever preservation of the past.  Everything is becoming so bloated.  But alas, that is a soapbox for another time.

    Personally, I was glad IE7 broke IE6 compatibility.  Yes, it was a hassle to deal with on the corporate Intranet…but it got people in organizations finally updating their pages to standards of today and not yesterday.  With IE7 and Firefox finally behaving in a similar manner regarding CSS…people in the office started using Internet Explorer once again.  Move forward, not backwards…in the long run it will be good for IT and users of Internet Explorer.  In the above proposal, we seem to running to the past, present, and future all at the same time.  Very confusing for all concerned.

    Of all the proposals given in the comments, I like the idea of allowing IE7 and IE8 to remain installed on the same operating system.  If you really want to help developers and users…that would be a very good move for Microsoft to make. IMHO.

  230. Geoff Pack says:

    Fck, what a horrible, stupid mess this is turning out to be.

    We already have CSS hacks and conditional comments so we can target different versions of IE. Now you want us to add meta tags as well? Where does it end?

    How about you do a formal poll of the world’s web developers and let us decide.

  231. Ben Buchanan says:

    Why why WHY are you making people opt IN to IE8 instead of letting bad developers opt out?

    If someone has created a site so badly that it will break in a better browser, be it on their heads. But, throw them a life raft and let them invoke the old IE rendering engine. Or let them use conditional comments to sort it out – you’ve already released a proprietary hack, how many do we need?

    The system could work if everyone out there did the right thing. But what is far more likely is that thousands of lazy developers will never add the tag, leaving their pages stuck at IE7 until the end of their days. They will never use new features, they will never learn to build to standards and their sites will never work in a decent browser.

    Please make this opt-in, not opt-out. If people had misguided expectations and lazy development habits (specifically, only building for IE), make *them* do the work to stop their sites breaking.

  232. If there had been transparency for the past year... says:

    If there had been transparency with developers over the past year, we wouldn’t be in this mess at all.

    By holding it all in, then bursting it on the masses you’ve gotten everyone up in a tizzy.

    I agree with anyone on this blog or any other that is frantically raving mad about this issue.

    I want IE8 – Standards Compliant – Out of the box!

    No hacks, no shims, NADA!

    If we don’t do this, every version of IE that is released will add yet another layer of hacking bandaids to fix legacy problems in IE.

    If the site/application you use daily doesn’t support IE8, fine. DONT Upgrade because lets face it – If you don’t want a better browser – why are you upgrading?

    Let the developers get their sites up to snuff in 2008 – ready for IE8, then unleash it, and be done with it.  No more hacking.

    Can’t believe this was dropped on everyone like this.

    Once again you’ve proven that IE NEEDS a Bug Tracking / Feature Request Database. *-ing badly!

  233. Craig M says:

    This is wrong for so many of the reasons already discussed above. In a nut-shell, honor the rendering mode specified in the DOCTYPE; do not create yet another one that needs to be opted into.

    But being Microsoft, I doubt any of our complaints will be change the end result.

    At the very least, allow the user to override any rendering mode. I want non-standard, poorly designed pages to render poorly, and standard-compliant proper pages to render standardly _regardless_ of the IE8-specific opt-in. Let me, the user set the rendering mode. Ideally it should be in the Tools menu, but even a registry switch would be appreciated.

    While probably futile, I must ask you to re-evaluate this issue. I think that you are making a grave mistake so bad that the future of IE hangs in jeopardy.

  234. thacker says:

    Having read most of the blog chatter appearing on the Net, as of the time of this post, regarding this issue, <a href="http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7203041">Mystified‘s IE Classic suggestion</a> is brilliant.

    Considering that a browser upgrade of IE requires compelling reasons, such as its interface, and the browser upgrade not breaking corporate Intranets, could such a concept be practically applied?

    I don’t know. I am not a browser developer.

    Wilson, what are your thoughts, please?

    Thank you.

  235. Ron says:

    Backward compatibility is important, but this implementation is flawed.

    You’ve redefined "standard" in an IE browser as "IE7".

    If I don’t insert the meta declaration, I get IE7 as it exists in 2007/8 forever? Which patch level? Hotfix?

    How do I declare that I want this page to be rendered "according to the standards, now or in the future"?

    Will you guarantee that this meta element really is HTTP equivalent and will be honored if it’s in the HTTP headers?

    Will Microsoft’s server side infrastructure generate this meta element? If not, when will support for it be added?

    How many IE versions of "standard" will IE support in the future?

    Does this apply just to the rendering? What about the DOM? Javascript? CSS? Event models?

    If one frame is in "IE7" mode and another is in "IE8" or even (gasp) "standard" mode, which frame is the one that applies when cross-frame activity occurs?

    Can you at least make the declaration more flexible than "="? Maybe the ability to express a range?

  236. Diego says:

    "Microsoft, making things more complicated than they need be." ™

  237. game kid says:

    @Craig M: "… @Alex: there’s a registry key that can force on IE8 standards mode, yes.  No recommended for average use, obviously. …" http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7202029

    Personally, I do think a UI option (Tools->Internet Options->Advanced or something) to set IE8 standards mode would be nice, and it should ultimately be set some months after IE8’s release (6?) as the default if unspecified by the user/page.  Ultimately the user should dictate what rendering they want if they know the consequences of such a setting, and their rendering should be able to override the page’s.

    The mass Internet heart attack here gave me a good laugh though.

  238. Alan Gresley says:

    No, no, no, don’t do it Chris. Don’t do this please.

    You’re saying.

    "MS responsibility to deliver both interoperability (web pages working well across different browsers) and backwards compatibility (web pages working well across different versions of IE). We need to do both."

    Why, why, why?

    And if you must, why can’t one comment appear instead of a hundred million IE meta elements?

    /* [IE standard] */

    I will support you with this on the CSS WG list.

    I do apologize Chris for referring to you as Colin for half a year on my site.

  239. Dan Lewis says:

    cwilso said:

    ===

    I’m open-minded, and I’m listening.  I didn’t like the concept when it was first suggested; however, the evidence has proven to me that it’s necessary, since I got to see how many things broke when we shipped IE7 (and we have a lot more to do).  I got a first-hand view, as I personally deconstructed a lot of broken sites, and time and again I would answer someone’s "IE sucks!!!" post with a deconstruction of their site that showed they were expecting us to be broken, and were in fact feeding us explicitly different content than other browsers.

    ===

    This example cuts more strongly against your argument than for it. Your primary complaint here is that your users are trying to hack around your browser engine, and that they’re not doing it well enough.

    IE never fails, it is only failed.

    But anyone who feeds IE crappy content like you said actually has a standards-compliant website just sitting there. If IE could render it, they wouldn’t be trying to hack around you in the first place. IE’s non-compliant rendering mode is causing the problem you claim to need to solve… with another non-compliant rendering mode.

    ===

    "in general, even authors who write their content to standards end up testing (and tweaking) for IE6. Those tweaks might be detrimental to IE8 (or 9, or 10…) – there’s no way for us to tell."

    ===

    I understand that you feel responsible for all the misbegotten babies you spawned and sent into the cruel world. But if there were ever a time to murder your darlings, this is it.

    ===

    "If they install a new browser and their sites are broken, they uninstall the new browser."

    ===

    Well said. Microsoft just disagrees with the rest of the world about what makes a site broken, that’s all. I guess Microsoft is betting that if content providers have to choose between Internet Explorer and standards-compliance, they’ll choose IE. Good for IE, good for Microsoft, bad for standards, bad for the Internet. I am a little more optimistic; maybe they will uninstall Internet Explorer instead.

    But at least we know where you stand.

  240. Guru says:

    People like Dean Hachamovitch, Chris Wilson and the whole IE team should be ashamed of themselves for this disgrace of a so called IE8 browser and continued usage of hacks to get things to work right.

    This makes my life easier though, I’m just gonna leave IE users with broken experiences and continue to convert people to standards compliant browsers instead.

  241. Art Wyatt says:

    Two steps forwards, one step back. This is very, very weak.

  242. Pedda says:

    As I will have to make sites work with at least IE6 & 7 anyway, why should I bother putting the meta tag in?

    By the time the market share of IE6 & IE7 is low enough to drop them from the supported Browsers, the sites I build now (and probably still in 2 years) are long outdated and replaced by re-designs.

    So I think this whole Idea will lead to less change in development:

    Building standard conform sites without the meta tag and then all the CC’s needed to make it work in IE5 / 6 / 7 (as all the higher IE will render like IE 7 anyway).

    Why should I test on another IE, when you promise me it will work like IE7 by default AND I have to make it work in IE7 anyway as well.

    I wonder why you bother fixing bugs in the rendering engine, when the average site won’t take any advantage?

    If this "feature" would have been part of IE7, how many developers would have said "don’t bother about IE7, if you don’t put the meta tag, it renders the same as IE6, so just fix it for IE6".

  243. JH says:

    Speaking as a web developer who did more than his share of griping about IE, let me say I am very happy that IE 7 is better than 6, and was looking forward to IE 8. But this meta tag requirement pisses me off.

    I had learned all the hacks and tricks to make IE 5/6 behave correctly (like no margins on the floated side of a box because they’ll "double"). Then IE 7 came out and I suddenly had to undo hacks or re-implement them (in cases where the underlying problem wasn’t fixed but something like the star html hack that had been used to target IE had been). You know what, despite the fact that the conditional comments to target IE are bollocks (Now I’m futzing up the HTML instead of confining IE hacks to CSS!), I actually liked this. It showed that you actually fixed things, and it was a kick in the pants.

    One thing I *don’t* remember was a lot of hoopla about "oh no, IE 7 just broke the web!" Please, just fix IE 8 to implement the standards correctly, don’t worry about "breaking the web." Any person or business who cares will fix their website to work. If you have to have a proprietary and otherwise unnecessary meta tag, please require it of people who need IE 7/quirks mode, not the other way around.

  244. As some have previously mentioned, the Standards compliant mode should be the default. Anything else is paradoxical at best…

    Every decent developer nowadays build sites using Firefox, Safari, or Opera, THEN goes back and adjusts to make it work in the "most buggy browser in the World" or was it "the most popular browser in the World"? I forgot… ;)

    Anyway, if the concern is backward compatibility with poorly designed websites, then a drastically different User Agent string would seem to make a lot more sense to me…

    Of course, my personal opinion on this subject is to just let those websites break. If they already have another standard compliant version, it won’t be too hard to make it serve IE8 too, and if they don’t, then it’s the perfect occasion to clean up the web… I seriously don’t think the whole market share issue is relevant. When a site breaks, people always blame the site, not the browser…

  245. Chris says:

    Please. Enough already. Just put the goddamn thing in standards mode and lock it there. We have been waiting for years for you lot to cut off the albatross of broken compliance. And now you give us this horseshit about needing a special meta tag to persuade your browser to function according to the spec.

    MSIE is not the only HTML/CSS client in the world. Please stop acting as though it is. If you want to offer some silly meta-tag induced nonsense, then reserve the special tag for those who want to enable the noncompliance — not the other way around.

  246. That any sane browser would REQUIRE NON-STANDARD META TAGS to trigger a standards engine, seems to be an overwhelming sentiment from the posters above. Grep the page for "default" and see the chorus of voices.

    All browsers must be in Standards Mode by Default.

    The web evolves, and requiring opt-in action by beginners and standards-naive developers to use the up to date standards, works against the democratic nature of the web.

    So a commitment to Standards Mode by Default would make IE relevant again. Otherwise, why bother?

  247. orlando says:

    guys, do you really believe that this decision is technical?  *all* Microsoft decisions are 80% PR oriented … they horribly fear bad press

    long life to *real* standards, long life to Firefox, Opera and the true browsers

    amen

                 orlando

  248. Robster says:

    If all the people posting comments on this website spent a bit of time moving all their friends onto Firefox, perhaps the problems would be far less? I try to like IE but even the first 5 seconds of using it annoy me when it over-rides the URL I start typing.

  249. Pete says:

    I understand the MSFT goal, but I don’t understand why you can’t change the agent string.  Can you please elaborate on why that’s a problem?  

  250. eni says:

    ..and I was just starting to think that guys @ M$ are finally going to be sane.. but nope, I was wrong. well, you can stick your meta element somewhere, guys. :)

  251. Shining Arcanine says:

    Chris Wilson, by choosing to use meta tags to specify standards support, you are recreating the doctype, rendering both your new creation and the existing doctype meaningless, as by being the solution to a new version of the same problem that was previously solved by the doctype, the use of meta tags to specify standards support will share the same fate as the doctype, meaninglessness. By taking this course of action, you are only prolonging the problem that you believe you are correcting, much like a drunkard, as by drinking alcohol, he only prolongs the problem he believes he is correcting, which is his self imposed inability to deal with the problems and consequences he must face if he faces reality.

    Mr. Wilson, I am not sure if you are a fan of Star Trek, but there was this one episode of Star Trek: The Next Generation, where the enterprise was caught in a time warp, and the enterprise repeated the same day for weeks until its crew was finally able to break the cycle upon realizing what was happening. In the context of that episode, the enterprise is the internet, the crew of the enterprise is the IE team and the use of a new doctype because the previous one is used in webpages that are compatible with the previous version of IE, but not the actual standard, is what traps the enterprise in the time warp.

  252. I think this is a great idea! I hadn’t considered meta elements though they are an obvious answer. Any well written website with consistently written code such as mine will only require a find and replace to insert the meta element.

    Also…

    WE ARE NOT DEVELOPERS!!!!!

    Developers work on databases and server side languages. Designers work on client side code. These terms are ***NOT*** interchangeable! It does not mean however that a designer can not do development work or vice versa however I have yet to witness someone who has mastered both. Frankly I know a lot of great developers who are great at developing code but completely suck at understanding client side code. Referring to designers are developers feels insulting, almost as much as calling a web designer a graphic designer. Do us a favor and at least reference us correctly!

    -end rant-

    Any way thanks for the news on the new standards mode trigger. As a designer I look forward to messing with IE8 but take all the time you guys need.

    – John

  253. dan heskett says:

    I don’t think you get it.. Microsoft.

    Until you really fix IE, nothing else that you do matters.

    Remember, "developers, developers, developers?"  

    That was quaint.

    Developers don’t want three rendering engines in one browser; developers don’t want TWO rendering engines one browser; but we have it because of you in the first place.

    Instead of this whole song and dance, let’s do this.  Instead of releasing a gigantic mono-lithic beast every third or fourth year, release updates monthly to the standard compliant renderer.  Got it?  Put out your best  version in a reasonable time, and then open it up for public bug reports, and then, fix them.  Every day.  Every week.  Every month.  And then release them, every month.  Forever.  Until all the bugs are gone.  At first it will be hard.  You’ll be flooded.  And a bunch of people working on some other stuff will have to come in and work on this instead.

    But then, after a while, all the big bugs will be gone.  And it’ll be just stuff that people can live with.  We’ll still have two engines, but that’s it.  Not three.

    And developers will praise you.  Because really, you’re doing everyone a favor.  

    Developers only hack their sites for IE because they have to.  If we had confidence that you’d fix these bugs more than twice a decade, we wouldn’t be hacking the sites.  We’d workaround until you patched the bug.  

    Microsoft – everything you are doing outside of IE doesn’t matter.  .NET 3?  Silverlight?  Visual Studio?  Office?  XML?  Windows?  Windows Server and it’s stack?  Middleware?

    IE is killing you.  Fix it, or you will die.  

  254. ADAXL says:

    This new trick will only stall development. Why produce standards-compliant code when you can use a tag that declares your trashy excuse for HTML "compatible with IE6"? Instead of producing a browser that supports standards well, Microsoft tries to futz around with the way the web works.

    No good.

  255. Paul says:

    <<–MSIE is not the only HTML/CSS client in the world.–>>

    No, just far and away the most popular one.  Windows is the most popular OS because of their heavy commitment to backward compatibility.  What do you think that suggests about how important backward compatibility is?

    <<– Instead of producing a browser that supports standards well, Microsoft tries to futz around with the way the web works. –>>

    Precisely the point.  Microsoft is building a browser for the actual web, not for the so-called standards.  Ever notice that the "standards" are mostly written by IE’s competitors, who have little marketshare and are just oh so bitter that they haven’t figured out what matters to users yet.

    Debating here is pointless… we’ll see what share looks like in 5 years.  I’ll tell you where I’d put my money…

  256. Kidson says:

    … and this just proved why IE in general is a pain in the arse to work with: Because the development team have no intention of doing the sensible thing.

    If you want your site to be properly supporting all browsers and standards, all other browsers do it by default… but with IE8? No, you have to opt-in for that to happen.

    WHY?

    By the time IE8 comes out, IE6 should no longer be supported as a browser. We’re moving forward, and there only so far back you should (logically) support. There are STANDARDS for a reason, and UE has NEVER fully supported them the way they should.

    If sites refuse to update and become compatible with current methods and technologies, then that’s their problem. That’s like people who still use horses for transportation and complain that they can’t get to point A to point B because there’s no safe road any more and everyone uses cars, so to support them, you make a dirt rode by the highway. MOVE ON MICROSOFT.

    Support IE7 at the minimum when IE8 is released, and drop IE6, and stop trying to support archaic browsers that just aren’t worth it any more.

  257. Alan Martin says:

    I Honestly and truly cannot understand why you people are getting paid.

    either the browser is standards compliant or not. you dont "opt-in" for standards. The Idea is ridiculous.

    No mistakes were made with previous versions of IE… the IE team was not dumb.

    non-compliance was, for whatever good business reason/spin at moment was…a CHOICE.

    So not only are you not truly fixing IE, here you are doing it again…INTENTIONALLY making a choice that stupid little hacks are needed to get ie to render correctly.

    no sir, you dont get to put out another browser with so many Ifs Ands Buts Or Maybes – and get to call it a standards compliant browser.

    YOU ARE DOING IT AGAIN.

  258. Paul says:

    I don’t think you guys get it – making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren’t already dead in IE 7).  I know IE 7 didn’t require much work to support but it’s pretty obvious that IE 8 is a much bigger change.  Saying that MS should break compatibility is like saying "shoot yourself now" (since it would mean they would essentially giving up on a large slice of the corporate market) which is obviously not going to happen.

    Which would you choose?

    a) An opt-in IE 8 mode with new features plus hundreds of javascript, DOM and rendering bugs fixed?  Possibly even with lots of old IE-specific stuff dropped (document.all, etc).

    b) New features only.

    These are the only two courses MS is going to consider.

    For those saying you don’t want to insert a piddly one-line meta tag; don’t then!  Your site will continue to work exactly as it does now.  Certainly you don’t need to change all your sites – what would be the point?  Presumably you have already done all the work required to make your site work across all the major browsers… don’t fix what isn’t broken.  This tag is only required when creating new pages – and you’d have to be pretty stupid to forgoe adding a one line meta tag when it could potentially save you hours of coding browser hacks.

    (No-one is complaining about the current "quirks" mode – how is this different?  Just because there are three modes instead of two?  If IE 8 mode was triggered by the HTML 5 doctype would that be OK?)

  259. Mystified says:

    Just make one toggle button next to the address bar that says: [IE Classic]

    Problem solved. Go to bed.

  260. @Ron

    > How do I declare that I want this

    > page to be rendered "according to

    > the standards, now or in the future"?

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    > How many IE versions of "standard"

    > will IE support in the future?

    There are 3 (2?) right now, if I understood correctly. Or even 4 with "edge".

    <meta http-equiv="X-UA-Compatible" content="IE=6"> I’m not sure this "IE=6" standards mode is actually going to be supported by MSIE 8.

    <meta http-equiv="X-UA-Compatible" content="IE=7">

    <meta http-equiv="X-UA-Compatible" content="IE=8">

    Regards, Gérard

  261. SchizoDuckie says:

    Quote @ Paul: "I don’t think you guys get it – making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren’t already dead in IE 7).  I know IE 7 didn’t require much work to support but it’s pretty obvious that IE 8 is a much bigger change.  Saying that MS should break compatibility is like saying "shoot yourself now" (since it would mean they would essentially giving up on a large slice of the corporate market) which is obviously not going to happen."

    Actually, they already broke the web TWICE! First time, they got sued, patched *every* browser for the EOlas thing. thén they released IE7! wich fixed stuff in the microsoft way: unpredictably and with loads of new crap to figure out. WHY is there so much reluctance now to do that again for the good cause??? If every site that had to be fixed for IE6/eolas and IE7’s crappy stuff has to be fixed again for IE8, so be it! It will be painful, but i wíll fix stuff indefinately ánd be done in 1% of the time it cost us to do the first 2 times, thanks to the HTTP header option! (Which actually ís a good proposal, as it can be deployed by default on (intra)webservers with minimal configuration changes))

    @cwilso: Considering the above, I *REALLY* *DO NOT* see *any* good argument for opting *IN* to standards based development other than that your bosses probably have had a warning by some big corporations that they would stick something very very large up your rectums if you broke all their old, crappy, IE-only sites again… Stop that stuff about breaking the web! Firefox, Opera ánd Safari do not *NEED* any method to trigger some kind of standard mode, they work just fine. Why WILL IE?!?!

  262. PlNG says:

    Fine, IE 8 Passes the Acid2 Test, which has been around long enough, but that doesn’t satisfy me.

    Does it pass this test?

    http://www.css3.info/selectors-test/

    IE7’s MISERABLE report:

    From the 43 selectors, 13 have passed, 4 are buggy and 26 are unsupported (Passed 330 out of 578 tests)

    That’s 30% CSS2 support for those doing the math, and CSS3 is approaching.

    Pass that test and I’ll be a very, very, VERY happy developer.

    Oh, and break the goddamned web and leave the mistakes behind.  There’s a point when backward compatibility becomes a hindrance and I say CSS3 / HTML5 is the line, because CSS2/HTML4 have been around long enough.

    If IE goes full standard (and hell still hasn’t frozen over IMO), then developers worldwide will rejoice.  I don’t want to have to insert some special meta tag to get IE to behave the way I want it to.

    Stop supporting webpages created by those that you find in webpagesthatsuck, especially the "over the top" variety.

  263. Christian says:

    I agree with the previous post from David Naylor. The browser should have a manual switch to change rendering modes. Whenever something is displayed wrong on a website the user could switch to the alternative rendering and in the best case the client would remember this setting for this website. I absolutely dislike the idea of adding metatags. What will happen in the future? I tell you what will happen: Designer have to add 25 different metatags for all different kind of browser versions. That’s not the direction we wanna go. MS messed it up in the first place. Now please keep the junk in your clients!

  264. Paul says:

    @SchizoDuckie: Contrary to your statement, at least Firefox requires a recent doctype to trigger standards mode.  See http://developer.mozilla.org/en/docs/Mozilla‘s_DOCTYPE_sniffing for the official docs.  What I find ironic is that (according to the link above) Firefox actually has three modes (similar to what is being proposed by the IE team): standards, quirks and "almost standards".

  265. SchizoDuckie says:

    @Paul, Sorry my mistake. The point i was trying to make is that they are able to render the web as it is without any proprietary lock-in hacks. They éven render most M$ only crap correctly, which is why the  ‘almost standards’ way is actually there ;)

  266. Isofarro says:

    Paul asks: "

    Which would you choose?

    a) An opt-in IE 8 mode with new features plus hundreds of javascript, DOM and rendering bugs fixed?  Possibly even with lots of old IE-specific stuff dropped (document.all, etc).

    b) New features only."

    I’d chose c.):

    c.) Let Microsoft fix the mess they’ve got themselves into. We continue building standards compliant site, and advocating the use of standards compliant browsers.

    We owe Microsoft’s clients nothing. All those companies that built intranets using proprietary protocols like Active X and Internet Explorer 6 lock-in – they are getting exactly what they deserved.

    Its clear this proposal is a statement that Microsoft cannot support both its IE-locked-in-market or web standards. That failure is entirely due to Microsoft, and we, as web standards compliant web developers owe them nothing.

    Firefox, Safari and Opera didn’t require hand holding and special attention to get to their current states. Internet Explorer shouldn’t be given preferential treatment, and standards compliancy shouldn’t be a second class citizen.

    This is not our problem. We should do nothing to encourage this tactic.

  267. I’m curious where Microsoft finds the sort of developers/managers/marketers that came up with this, and thought it was a great idea.

  268. Cheong says:

    I guess still try to render the website correctly, but display a small sign that "This website breaks the web!" will serve them well enough. At least the managements who read about it will ask the lazy web designers to fix their pages…

  269. sw says:

    Please make fully standards compliant mode the default. People who want to code to a specific browser version can use your meta tag when you backport it to IE6 and IE7. Web pages without the meta tag should render in the best way possible, so IE users finally get to see what Firefox, Opera and Konqueror users already have.

  270. Ted says:

    <<I’m curious where Microsoft … thought it was a great idea.>>

    I think the consensus is that this is actually the least bad option out of a lot of worse choices.

    It’s pretty clear from the comments here that MOST remarks were by people who didn’t bother to read both this post and the linked post, or didn’t understand either.

    Now, note I didn’t say ALL… there are some legitimate "I understand why you did this but I think you should break sites" remarks.  Those remarks indicate a good understanding of standards and why they matter, and a poor understanding of the market for web browsers  in particular and software in general.

  271. James says:

    cwilso: "Our point is to NOT make web developers sort out our errors themselves, nor serve penance for the things we’ve gotten wrong in the past."

    How is making every standards-compliant web developer add a non-standard tag to their page to get it to render correctly in IE8 not making them serve penance for IE’s non-standards-compliance in the past?

    Web designers who work to the standards can often develop in FF, Safari or Opera and have their design work in all three, then they have to spend extra time making their design work in IE. And why would users upgrade to IE8 if it doesn’t offer better rendering by default? Particularly since designers will just design for IE7 forever, since that is what you are etching into stone with this decision.

    In case it’s not clear: Make the standards mode default, and IE7 or IE8 modes opt-in, so people who have done testing and know they need to be rendered by a specific version can ask for it. Don’t punish the developers who create pages that work in every other standards-compliant browser out there.

  272. hmm says:

    @Ted

    Do other browser vendors have a poor understanding of the market for web browsers? I mean, since they are opposed to this as well…

  273. hmm2 says:

    So IE8 will not pass the ACID2 test? It needs to display the result using the default configuration of the browser and without change to the source code of the page.

    (That question has been left unanswered in previous comment by MS)

  274. Dirk Nederveen says:

    I think this is a bad idea. I mean it. A really bad idea.

    1. This workaround puts responsibility to the web developer. In other words: this is like saying that the standards-aware developers should fix the problems created by lazy, stubborn or just uninformed developers.

    2. Using ‘edge’ still introduces a new quirks mode for each new version of a browser, since IE8 will contain rendering errors, IE9 will contain errors and so on, just as Gecko 2 and KHTML/WebKit version x will.

    Developers should, while building a web site at times of IE9, consider all these things:

    - there might be users with pirated copies of Windows XP that use IE6

    - there might be users with legitimate copies of Windows XP that use IE7

    - there might be users with Windows Vista using IE8 that don’t want to upgrade

    - and there is the group of people with IE9, which has just some other rendering bugs than i.e. Gecko has.

    That makes 4 extra debug cycles to build a website. Even while developing for IE9 the cycles stay 4, just replace the last step with debugging your site for Gecko/WebKit etc.

    To cite some other Guy (pun intended):

    ‘Hrm, so we can either take the blue pill (the meta switch) […] Or the red pill (a version of IE that works _correctly_ by default): Sure, some sites will break. Great! Fix them or watch them fade to obscurity. Fewer bug-dependant sites for browser developers to worry about. Problem solved.’

    (http://annevankesteren.nl/2008/01/ie-lock-in#comment-6396)

    Dare to break bits of the web, a crippled man (which IE now is, in my opinion) cannot walk with bad crutches.

    To, at last, cite one of my favourite teachers:

    ‘Take chances, make mistakes, and get messy!’

  275. noin says:

    This is a GOD AWFUL IDEA. MS once again, fails to deliver. I’m disappointed and hope you change your mind.

  276. TX_Engineer says:

    It seems to me that Microsoft WANTED to be the Dominant Browser very badly in the late 90’s. Now we see what they’ve done with it and it stinks.

    First they "break the Web" with IE7. This won’t ever go away because so many pages are already written for IE6. Do you think those pages have no value and should be tossed out like Windows 95? That’s Information, History, Source Documentation, etc. Get it! Some of those Pages are important stuff!!

    So after they "break the Web" now they are forcing us all to use their New and Improved BROKEN Browser. I LIKE INTERNET EXPLORER 6 SP1! Why are you guys at Microsoft so obsessed with fixing stuff that works fine? Maybe you could better use the Developers you’ve got to make a Secure OS. Vista is a mess after all the delays and promises.

    In the end it seems Microsoft is more focused on what it wants than what serves it’s customers.

  277. Brian Sexton says:

    "If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article."

    That is one of the worst ideas I have ever encountered.  Why should we need to use *EXTRA* markup to tell one particular browser to do things *THE RIGHT WAY*?  Please stop polluting markup with Microsoft-specific garbage.

    I think you should support standards, period.  Anything that doesn’t work properly in a standards-compliant browser was poorly made and for the sake of long-term forward compatibility, it should be allowed by Microsoft to break.  Anything important will be brought up to spec and will likely work more reliably across all standards-compliant browsers.  Microsoft can help *FIX* some of the damage it has helped sloppy, lazy, browser-specific Web developers do to the Web by supporting interoperable standards, so why perpetuate poor code and markup instead?

    For a giant corporation with a long history of throwing its weight around regardless of what anyone else thinks about it, you seem strangely set on pandering to the absolute worst Web developers and publishers in the world.  Why is that?  Do you fear what might happen if most of the Web suddenly became interoperable instead of remaining tied to Microsoft browsers through old browser-specific code?

  278. Rowan says:

    This reminds me of the "IE7+" debacle: http://blogs.msdn.com/ie/archive/2006/05/26/608255.aspx

    "I want to announce that we will be naming the version of IE7 in Windows Vista “Internet Explorer 7+”."

    Three months later: http://blogs.msdn.com/ie/archive/2006/08/04/688899.aspx

    "I had mentioned a while back that we planned to call the version of IE7 in Windows Vista “Internet Explorer 7+”. Well, the feedback we got on the blog was overwhelming – many of you didn’t like it. So, as we’ve said on our website, we heard you."

    Please hear us out again!

  279. Optimist says:

    @Paul: You know that Microsoft was a part of the group that decided the official standards right? To say that the standard is decided by the competitors is complete nonsense

  280. Panu K. says:

    In current situation there is no way to upgrade to IE 8 without breaking some sites. It is unfortunate, but it is reality. However, to minimize affected users you should do following things with IE 8. These methods are all suggested before here but not yet collected to one post:

    1. Use quirks mode if no DOCTYPE is found

    2. Use most recent standard mode if DOCTYPE is declared

    3. * Change the browser string in IE 8 * – that way sites which use browser sniffing will not send old IE specific code to IE 8.

    4. And as a last resort for sites which will be broken: Sites must  fix their HTML with the new X-UA-Compatible meta element or better yet start to use standards.

  281. Martin O says:

    We, the web developers, do not want any more special treatments for IE only, so PLEASE DO NOT force us to add some kind of opt-in meta-data to get IE to work like all other browsers…  We are already fed up with those ugly conditional comments we have to add because IE is the only browser that needs complementary CSS-files, all other browsers can use the same CSS-file.

  282. @ Paul: "I don’t think you guys get it – making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren’t already dead in IE 7).

    Simple, elegant solution:

    - In IE8, "Standards Mode" defaults to IE8.

    - Most developers writing *FOR* IE7 will quickly add native support. Those who can’t can just add the "please look like IE7" META tag.

    - Have a System Policy also available to switch to IE6/IE7 on a *per-domain* basis. Solves IT issue when adding META tags or response headers isn’t practical.

    Many companies can’t even upgrade to IE7 due to IE6-specific intranets. Making IE8 default to IE7 mode won’t help, but giving IE8 the ability to emulate IE6 or IE7 for certain domains would allow corporations to actually *upgrade* their browsers while they figure out how or whether to upgrade the old IE6-legacy intranet sites.

  283. Rimmer says:

    Dump backward compatibility, make web author follow standarts as you do (it is possible). Open a campain for it. Those who won’t switch their sites to standards mode, are NOT interested in being well on the web. Kill IE6 permanently, hurt designers but help the whole web. I think it will be less evil and less bloat to IE8.

  284. Martin O says:

    IF you of some reason choose to add this idiotic meta-tag, I still hope people just have to add it to their page when using transitional or no doctype, NOT when using the strict doctype?

  285. Benny says:

    And guys what I really don’t understand is why a development network is not able to create a thread based board for comments. This page is HUGE already.

    Benny

  286. Paul says:

    @Richard Tallent: that’s great, except that for some period of time millions of internal sites will not work.  You might be OK with that, but in that time lots of CIOs will decide to never upgrade to IE 8.  Believe me, there are lots of companies which mandate IE 6, for just this reason.  I am guessing MS isn’t keen to repeat the situation with IE 8.  (And no, they won’t switch to another browser – the whole reason they won’t upgrade to IE 8 is because their internal sites are non-standards compliant.)

  287. Ped says:

    Just do the W3C standard correctly this time. No additional tags, etc. needed.

    If with that IE8 project will be well inside budget, consider adding special tag for IE6 render mode and do that one too.

    I think doing anything with IE7 rendering is waste of resources, IE7 is not spread enough, and those pages who did adapt already to it’s new quirks are very likely changing often enough to "adapt" quickly to full W3C IE8 anyway (actually they are very likely already adapted because of firefox/opera/safari/konqueror/…).

    Please, stop doing these "Microsoft product behaves differently". Stick to standard.

  288. Flavio says:

    Please reconsider… I design for standards and manage *many* websites, I don’t want to add a metatag to each one.

    Also, imagine if every browser behaved like this…

    This is plain stupid.

  289. Ed Everett says:

    I’m not comfortable with this idea with linking a page to a particular browser. And I appreciate that the IE team have a tough job…

    But..

    Perhaps you could add a something of the form "IE=Latest" for sites that are well built in the first place. So the site wouldn’t be tied into IE8

    Thanks,

    Ed

  290. Heiner de Wendt says:

    I understand the thoughts behind this idea.

    You have to keep an eye on market share, which means you can’t simply "break" current ‘IE-compatible’ sites.

    But the solution you offer backfires. Many people won’t use this hack, and the effect will be that websites will still be adapted to IE 6 oder IE 7.

    Put short, your solution isn’t future-oriented, which is both from a technical AND from a business perspective, a VERY bad idea.

    What I would do is include a new button in IE 8, something like "render as IE 7" or "fix broken site". This way, developers testing their work in IE 8 will instantly see when they’ve created bad code, yet people visiting sites that "break" in IE 8 can easily switch the rendering mode to ‘fix’ things.

    All the different browser versions (and I’m NOT only talking about IE here!) have turned life into hell for professional web developers. You won’t make things better by messing things up even more.

    Please, once only, take your responsibility serious, and get a balanced solution that both satisfies users AND pushes developers to create good code.

    In a couple of years, you’ll be happy forgetting about that quirky new meta tag.

  291. Mitch 74 says:

    It’s great that IE 8 will have a much better standards support. It’s bad that it won’t be on by default, requiring a switch. At least the syntax proposed for the switch won’t send validators in for a loop, and actually appear in the DOM.

    Still, it’s bad that this mode isn’t on by default – frankly, you should make at least (X)HTML Strict use it too, and display a visible notification that IE8 runs in IE7 mode (or lower) on all others. It would be sensible too, as those Strict modes are the basis for forthcoming HTML 5 – while Transitional and Frameset won’t be compatible with HTML 5.

    Why? Simply put, on all the websites I’ve found, those that got generated with tools usually use Transitional (or at least Frameset) as a Doctype. Those that use Strict are not very common. For the odd one out using a Strict doctype with non-standard/hacked code, a UI toggle should be made available.

    Don’t break the Web – Strict mode was always supposed to lead the way towards new HTML versions. Use it as such.

  292. Michael Meyer says:

    Harmonizing rendering results by further diversifying rendering options? Ouch… sorry, no enthusiasm here…

    > I’m excited by all the standards work

    > we’re doing in IE8;

    Well, due to my opinion many of our everyday life problems developing solutions for homogenous rendering results are caused by diversifications like the one you call your "approach". I would call your "approach" simply "another monopolists unique selling point idea".

    It would help "us software- and webdevelopers" much, much, much further if Microsoft could finally stop further "exciting standards work" that simply mean further diversifications which won’t change anything but increase work, time and costs for Microsofts IE-competitors.

    Why can’t Microsoft just implement a non-Microsoft standard "as it is specified", stop "fault-tolerant" standard-implementations which’s side effects allow developers to use non-standard conform side-effects which further diversify rendering problems? Is it too difficult for you?

    Microsoft caused many of the "compatibility problems" itself, by undermining standards with so called "extensions" (like your "great exciting approach"), which are nothing more but "a monopolist’s approach to generate further unique selling points".

    I’m a computer-kid, started coding with 8 years of age, programming for over 27 years now, and anything I can tell you about your "exciting standards work" is: learn implementing standards "as they are defined", stop undermining standards and "diverifying solutions" for problems you caused yourself.

    That would help us MOST.

  293. @Ted: there is another least bad option for Microsoft: reassign the IE team to some more useful product, and get rid of IE for good. Just let it die.

  294. gjv says:

    I understand the importance about backward compatibility. However, a solution that relies on all web site developers to put an IE8 specific meta tag on their pages isn’t credible.

    It will just result in IE8’s super standard compliant mode not being used since no-one will bother with those tags.

    A web site is standard when it conforms to the standard, not when it conforms to the standard _and_ adds an IE8 specific meta tag.

    The suggestion above about changing the way IE8 identifies itself is very good IMHO.

    Combine that with an option for a user to add a broken website to the IE6-compatible-sites list (so that IE8 identifies as IE6 the next time it goes there) and you’re done.

  295. Ben Buchanan says:

    @cwilso: Thanks for taking time to seriously engage with this comment thread.

    You said…

    <q>There’s no easy answer, because it is impossible for us to tell whether the author wrote their content to standards or to IE’s previous behavior</q>

    There is a way to tell! If they’ve included a DOCTYPE, they’ve declared they want to render to standards.

    If they did that in ignorance, it’s time they started earning their money instead of letting Dreamweaver do their jobs.

    Alternatively, MS can just throw them a bone and tell them how to bail out. People who didn’t actually want that DOCTYPE are free to go and remove it from their pages and wear their Tag Soup badges as proudly as they like.

    Or, more likely, just let them opt-in to the version target system. It’ll still be less work for them than learning how to build to standards.

    <q>even authors who write their content to standards end up testing (and tweaking) for IE6.  Those tweaks might be detrimental to IE8 (or 9, or 10…) – there’s no way for us to tell.</q>

    Well how about this: some of us used * html and *+ html. Ignore those in IE8 and we’re all good! :) Or, if you’re going to create a whole new thing – create an intentional selector hack for CSS. Conditional comments for stylesheets. It’ll be a whole lot easier to update a stylesheet than modify every last file we maintain.

    Alternatively some people use the conditional comment hack, which should specify an IE version. Again, no harm in IE8+ so long as the developers specify a version (which is what you’re asking them to do now anyway).

    I’m a happy hack wielder and I’ll take the consequences. Don’t do this on my account.

    Yes, IE6 has created a legacy. But freezing half the world in IE7 isn’t going to help move forward. It’ll just freeze things up again. People too disinterested to know what a DOCTYPE is aren’t going to engage with this process. They’re not going to learn anything or "opt in to standards behavior on their own schedule". You’re going to be stuck maintaining IE7 forever.

  296. anonymous says:

    This is foolish.

    We already have conditional comments to sort the lack of adherence to standards -that Microsoft help create- for existign versions of IE.

    IE8 *MUST* be fully standards compliant and *NOTHING* more.

    If you guys keep looking back at your past mistakes there will be no future for the web.

    Look forward, not backward!

  297. Andrea says:

    Is so difficult to be Standard Compliant and nothing more????

  298. OooNo says:

    I’m afraid this can backfire horribly. Imagine scenario:

    • I get to update client’s website that had been written for IE=7.

    • I add a new bit of code and, typically for IE7, discover that IE gets it all backwards and workarounds are whack-a-mole game.

    • So I switch to IE=9 mode, which has some bugs fixed… but then everything else breaks, because website had been blisfully kept away from progress for years.

    • So I have to update everything anyway, just as if this whole switch never existed. I change old IE7 workarounds to new IE9 workarounds, and add HTTP header with IE=9 mode,

    • and then some pages break anyway, because they’ve had hard-coded <meta IE=7> tag bringing IE back to its infant retardation.

    Ugly, ugly.

  299. Nathan Evans says:

    I agree that this isn’t particularly a good idea. It would be nice if IE8 started with a clean slate.

    Personally I would bump this onto the user. Attempt to render the page using your new IE8 engine (IF and ONLY IF the page has a Strict doctype). If it detects ANY errors/warnings in the markup then display a message to the user saying something like "This page may not be rendered correctly, do you want to try rendering it in compatibility mode?". Then it’s just a case of them clicking Yes or No.

    It’s the only way that you’ll be able to break free from the chain of backward compat.

    Yes it will be annoying for the first couple months whilst web sites update their sites to fix bugs or whatever. But at least in the time being the users of IE8 will have an easy to reach, single mouse click, way to still view the web page.

    You could add the site to an internal list of domains as well. So if they visit the site the next day then it won’t ask them again. But you could make it remove the sites from this list every 14 days or something so that periodically the browser would "retry" to render it using the IE8 engine.

    I don’t know – but I’m CERTAIN there must be some user-oriented way this can be solved.

  300. Gareth Adams says:

    This is a genius idea. All the nay-sayers need to think again about what the implications actually are.

    This means I can include a tag like the following:

    <meta http-equiv="X-UA-Compatible" content="FF=3" />

    and IE will be able to switch into Firefox 3 rendering mode…

    Right…?

    Guys..?

  301. Grey says:

    You, the guys who decided on this, and especially those that should know better, should be ashamed of yourself.

    With this, you are perfectly destroying the meaning of the little word "web standards" and all hope for a better future of the web. Well, almost. I am confident that the Mozilla folks will be wise enough not to enter the path of the damned…

  302. Martin says:

    Have Microsoft ever tested the need for a third standard mode?

    Imagine that you trigger "super standard mode" with the normal doctype header.

    Now imagine a site that have a doctype, and which currently works with ie6, ie7 and firefox. If this site breaks by ie8, it must mean that either:

    a: The site send invalid html/css because it detect internet explorer. Solution: Just change the "user agent" string.

    b: The site breaks, because it send valid html that ie8 can’t handle, and the "internet explorer" work-around are not activated because ie8 is running in "super standard mode"  Solution: Handle html at least as good as firefox 1.5.

    So the ONLY reason I can see, to have a special string to trigger a third mode, is if you want to allow "As good as it get, but still allow work-around for ie8 bugs. But that don’t require a third mode, that just require the same conditional comments that ie have always supported.

    So i ask: What current sites that currently work in ie6,ie7 and other browsers, would break if you simply trigger "super standard mode" with a normal doctype, and change the user agent string to something that don’t trigger the ie6/7 workaround detection of sites?

    My guess: None, but I don’t have a ie8 beta to verify that.

  303. Rob Allen says:

    The idea is good. The default is bad.

    IE8 should default to rendering in it’s best mode. If I have a site that breaks in it, then there are two options:

    1. The site’s owner adds the meta tag to set it to IE6 mode.

    2. I have a compatibilty dialog in IE8 that works like the one in Explorer’s File->Properties where I can override IE8 and tell it to use IE6 for this site. (i.e. same solution as trying to run Win98 stuff in WinXP)

    Regards,

    Rob…

  304. Anthony says:

    Let me add my support to switching on "super duper" standards mode when users have served XHTML Strict with application/xhtml+xml.

    It’s future-compatible and over time will encourage web coders to move to standards compliant code without breaking the existing stuff.

  305. billybob says:

    The web will not break when IE8 is released!!

    Sites which were designed to work with IE6 (only) will still work with IE6 only, there is no problem whatsoever.

    Sites which were designed to standards will work with IE8, but not IE6.

    The obvious solution is to give companies an IE6 browser for the intranet and IE8 for the internet.  Most companies are not upgrading to Vista because it does not provide IE6.

    You are just creating a bigger mess for future generations.

    Standards are designed to be forwards and backwards compatible, they may render slightly differently but they can be updated in the future if really necessary.  It is not the same as the Word document situation where you need the app in order to open the document.  In the case of HTML we can open any version in a simple text editor so the content is never lost, just some formatting.

  306. Danny says:

    @cwilso: "@Marcelo Wolfgang:  Why don’t you just put in the IE8 meta element, and then code to standards?"

    Because IE8 will render like crappy old IE7 (or 6) or (5) anyway. So why bother developing for IE8 at all? There will be no incentive whatsoever to develop for this browser as long as we still have customers running IE7 and lower.

  307. SchizoDuckie says:

    @Gareth Adams:

    *NO* this is what many people get wrong. It’s just stated in the article that other browser vendors *COULD* add support for their own browsers to have a similar ‘render engine switch’ using the same tag. It will *NOT* make IE8 use the FF3 render engine ;)

  308. Josh Cogliati says:

    Add my vote to it should be:

      1. “Quirks mode” remains the same, and compatible with current content.

      2. “Standards mode” remains the same as IE7, if a simple <meta> tag is added.

      3. If you (the page developer) want standards mode use the correct doctype.  

    Then people with incorrect webpages can use the meta tag to state that which should be simple enough to do.  And people without the meta tag can expect that a doctype will get standards compliant webpages.

  309. Anthony says:

    Sorry to publish twice, but if we must abandon progressive enhancement, at least let authors specify the technology they use, rather than the browser versions. I get the argument about different browsers having different support for different parts of the one standard, but I much prefer a meta tag like:

    <meta name="UA-TechRequirements" content="CSS=2.1;XHTML=1.0 Strict;AJAX=1.0;" />

  310. James Burke says:

    I understand the need for a rendering switch. I prefer that the switch be a cultural version instead of a product version.

    I wrote up an alternative switch, X-Web-Epoch, here:

    http://tagneto.blogspot.com/2008/01/x-web-epoch-instead-of-x-ua-compatible.html

  311. PISSED OFF DEVELOPER says:

    For the love of god Microsoft will you please just give this a freaking rest!

    IE blows, it is the most pathetic excuse for a web browser ever, IE6 sucked, IE7 only caused more problems and now here comes IE8 what will you guys manage to screw up this time?

    Do the world a favour and get this very simplu concept through your heads:

    NOBODY IN THE WORLD NEEDS ANOTHER INTERNET EXPLODER, ITS CRAP, IT CAUSES MORE PROBLEMS THAN IT SOLVES, IT CANT EVEN COMPARE TO DECENT BROWSERS LIKE FIREFOX AND OPERA AND I WOULD FRANKLY RATHER NAIL MY HEAD TO A DESK THAN HAVE TO SUPPORT YET ANOTHER OF MICROSOFTS HALF ASSED ATTEMPTS TO SUPPORT STANDARDS.

    Dont you get this MS? People are sick to death of your browser if you actually cared about standards at all you would have done the job properly in IE7 instead of rushing a half assed piece of crap to try and boast your diminishing numbers of IE users. You’ve lost, deal with it and stop making the developers and end users have to pay the price for your arrogance.

  312. Yaroukh says:

    Just make world a better place and drop IE.

  313. redpixel says:

    FYI I’m the maintainer of about a dozen of small-to-big-sized websites (almost all of them standard-compliant) and I will never use this tag in any of my websites, not matter of how this affects IE8 compatibility. Pseudo-comments are bad enough, but this is too much.

  314. gordon says:

    2 cents.

    1.) @ John A. Bilicki III – How can you be the only one that thinks this is a good idea? have you not read everyone else’s post? + I am a designer, and a developer (doing PHP,JSP,ASP,Rails,etc. requires you to know, and do both)… and since JavaScript is on the client side, almost every designer these days needs to dabble with developer stuff.

    2.) Am I the only one that finds the term "super standards mode" to be a bit ironic?  We haven’t heard what IE8 will fix in the CSS or the JS or the HTML or the DOM.  I think it should be refered to as "closer to standards mode" or something much more realistic.

    gord

  315. Dominik says:

    Standards Mode by Default.

    Standards Mode by Default.

    Standards Mode by Default.

    And now repeat!

  316. Wes says:

    If the reason for this is not being able to trust DOCTYPE when pages are generated by non-standards applications, and you’re happy to go looking around in meta tags, why not do something like this instead:

    If got a good DOCTYPE but also a <meta name="generator"> tag, for example:

    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

    then render as IE7, otherwise use IE8 standards.

    That way the sites generated automatically with software won’t break in IE8 but the tags can be removed to switch to IE8 standards.

  317. programad says:

    Hey, i have a suggestion for IE8

    "over the page" scrollbar.

    If you see Firefox 2 and IE7 scrollbars, you will notice that they act a little annoying.

    In Firefox, you only get a scrollbar if the rendered document is taller than the window.

    In IE7 you always have scrollbars.

    Both ways sucks!

    Would be nice to have a scrollbar that appears only when the mouse is in the right side of the window, not causing the "dancing document" effect and not having an useless grey scrollbar.

  318. Chris says:

    Also, if you say that IE gets fed an alternative web page, why not just change the User-Agent string to copy Firefox’s, so that you get this better page, and add a new Header, such as "Browser: Internet Explorer 8" to IE’s HTTP request?

    Sure, it may give the impression that Firefox suddenly gains a huge usage %, but, bigger picture and all that :)

    Stat gathering sites (like Google Analytics) then only need to look for this new header to balance it out.

  319. xml says:

    So if I understand it correctly any site that doesn’t use the IE specific tag will be forever rendered in IE7 mode even while you launch for instance IE9?

  320. Stefan Wenig says:

    I too think that this is a great idea, but the default behavior is evil. You’re not going to make friends with the standards community that way. It makes no sense: If I test my site with IE8 and want to tell IE that I did so and that I do not want it to "improve" my site in later versions, this absolutely should be opt-in. Providing this function via HTTP-headers even means that I don’t have to touch the HTML or apps in my site, I can just configure my web server that way. So it’s easy even if I add it as an afterthought.

    But if I code my HTML to be standars compliant, I just want all browsers to act as if it were. Who says that everyone does detailed tests with IE and that rendering/compliance improvements would not actually improve sites?

    It’s not too late. Please change this.

  321. Siegfried says:

    Although i do indeed understand the necessity of compatibility, there are two major things to say here.

    1. Beeing backwards compatible as a default is a bad idea. If backwards compatibility is needed it should be switched on. Either by the user (as already pointed out in a comment here) or by the web designer by adding some meta tag. This would mean minimal efford for big companies which must (?) stick to their old pages. Just one line more, or even just a single line in the server configuration to serve it with the http headers.

    2. Targeting any specific client is a very bad idea. We already had those nasty "optimized for XY browser". These bad times should not come back. Instead the target should be the prerequisite standard. This way a client (browser) may decide on its own what to do with those old pages sporting this meta tag. There already exists a meta tag or http header regarding content style type. This could easily extended by a version. And for special MS IE6 handling, the mime type of the css should not be text/css but f.ex. text/mscss. Or (more backwards compatible) encode this somehow into the version.

    Do not target any client, instead do target a standard. And use standards compliant mode as default.

  322. Aedrin says:

    If other browsers who are more compliant (not fully) can ignore the hacks (this is the very reason they work, because only certain browsers actually use them). Then if IE8 respects the same rule, wouldn’t it ignore the hacks too?

    I really don’t see why there is a problem that requires an opt-in method, although I understand that is the only efficient way.

  323. Watch out for IE9 – new standards tags, new quirks mode and the same behaviour.

    I think its time to assume the responsibility and say – ok, there were errors, its time to move on – make a good browser, rename it and release it, but don’t adapt the web for your needs – cause it looks weird.

  324. Adam Wainwright says:

    Sorry – I just plain refuse to do this.  That tag will not enter *any* of my code.

    If the IE team can’t program to standards that is their issue, not mine.

    I program to *standards* not browsers.

  325. AndyC says:

    @siegfried: The very nature of being ‘backwards compatible’ means that you have to do it in such a way that it won’t require the old version to change *at all*. Consider HTML files that are shipped as part of embedded resources in applications or company websites that were set up by an outside contractor, where changes can only be made at cost to the site owner. In both cases, making updates purely for compatibilty is expensive and unlikely to happen.

    What’s worse, is that if IE8 breaks too many sites, people won’t upgrade and web developers will not have the *choice* to serve compliant code because there simply aren’t going to be enough people out there using a browser that could handle it.

    It’s all well and good sitting in an ivory tower and looking at the way things would be done if all the world was perfect, but occasionally you do just have to step down, accept the fact that things aren’t perfect and just take a more pragmatic view of the world.

    The *easiest* pages to change are those that have not yet been written and that’s exactly the ones the opt-in switch is aiming for.

  326. Rick says:

    Let me get this straight: in order to build a standards compliant website that renders well in IE8, I will have to use non-standard Microsoftisms, one way or the other.

    Right.

    Microsoft: breaking the web one tag at a time.

  327. Well, this idea is not that stupid… Still, I think this is the wrong way to do it. Create a meta only for IE8 is a bad thing, I agree your should just think about standards…

    Well, here is my idea. Well, most websites use a favicon.ico on their root folder. This is a convenient way to customize its website icon.

    Maybe you could check a file, which could be named "IE8render.ini" or something like this. This file could mean that IE8 has to use its "Super Standard", well in fact "normal" mode. IE8 could check this file one time per session, and configure itself to use the Super Standard mode.

    … Change this meta for a small and little file, uploaded once and for all on the webserver. It could be ok for everybody, huh?

    What about it? What do you think about it?! Personnaly, I think it could be just great, both for IE team and for developpers.

  328. Ridiculous says:

    Dear Microsoft,

    I believe that using a Meta-tag to Opt-In is a terrible idea. You can’t rewrite the rules of HTML. DOCTYPEs are the proper way to do this.

    And, I respectfully show my disapproval of the situation with the following conditional comment:

    &lt;!–[if gte IE 8]&gt;

    &lt;meta http-equiv="X-UA-Compatible" content="FF=3" /&gt;

    &lt;![endif]–&gt;

    :)

  329. Ridiculous says:

    @Flavien, I don’t mean to be rude, but that’s a terrible idea. The issue at hand is that we have to opt-in beyond the normal DOCTYPE that every other browser under the sun uses to opt-in to standards mode. Your solution is merely another pointless opt-in method.

  330. Neils Armstrong says:

    And still people are asking me why microsoft sucks?

  331. Ridiculous says:

    <!–[if gte IE 8]>

     <meta http-equiv="X-UA-Compatible" content="FF=3" />

    <![endif]–>

  332. This isn’t "backwards compatible," it’s just "backwards!"

    @Paul: making IE8 Standards Mode default to IE8 rather than IE7 would NOT break "millions of internal sites."

    First of all, the legacy we have to worry about is IE6, NOT IE7.

    IE7-specific intranets will still be rare and rather bleeding-edge when IE8 comes out. As such, they’ll probably be ready for IE8 before IT picks the IE8 Migration Committee.

    But for the few that would NOT be ready before IT wants to roll out IE8, they can add a META tag, or IT could add a Group Policy to override the rendering mode for that domain.

    A two-minute policy change would allow IT to set up IE8 to render like IE7 for *every* site in the intranet domain, essentially allowing them to change the default for the intranet without hobbling their users while they browse the web at large.

    It is fundamentally wrong to stick us with IE7’s broken implementation as a default, and there will NOT be enough IE7-only sites to justify this default when IE8 rolls around.

  333. Ok ok, sorry if my idea was that bad… lol ;)

  334. Garito says:

    You are simply incompetents

    Stop doing odd jobs

    BE STANDARD NOW

    "Don’t break the web" is a sign of odd job because YOU BREAK THE WEB some years ago

    Now is time to repair it

    I hate you with all my energy and I hope you’ll pay for your ineptitude

  335. @cwilso:

    You say the min. version supported will be IE7; IE7 is pretty good with regards to standards.  

    What changes are there between IE7 and IE8 that will cause websites to render differently.  I’m trying to get an idea of the degree of the breakage.

    Thanks.

    Ciao!

  336. Constantly striving for backwards compatibility here is not a goal for anyone as it does not serve anyone well over time.

    I suspect that since the engine is used in things like Quicken, that that is the source of the issue, not websites. In such a case have IE8 use the better standards support, and the embeddable module require the meta tag. In fact, if everyone out there which you are worried about breaking just added a <meta compatibility="IE7">, we would all be better off.

  337. tn says:

    Aw crap… This sucks in so many levels…

    How about web servers that do no serve the non-standard html header?

    Please, no meta tags. Fix your browser properly like anyone else.

  338. Feh, I'm done with this says:

    It’s fine and dandy to think about the intranets made for IE6 when considering this only when it’s known how many of those intranets would actually have a proper doctype and trigger standards mode in IE8 should IE8 be made to work like all the other browsers. If the intranet is made up of enough garbage code that it requires IE6 I’d feel safe in putting my money on it probably not having a doctype, or at least not an xhtml (any) or a html strict one. If I’ve already said I want to use the standards compliant rendering mode I expect EVERY BROWSER CAPABLE to render my site using it’s standards mode WITHOUT ADDITIONAL CODE. With version 8 IE is finally becoming capable, but now you’re telling me only if I include additional code. This is wrong, we are sick of this, I’m not going to do ANYTHING more for IE, it will forever remain locked back with IE7 in the stone age unless you fix it. Yes, I’m going to willfully give IE users a lower quality experience than everyone else and let them know that they could be seeing more with a real browser. I’m done with writing my site multiple times for each form of your browser and am not interested in having to add in a new tag now so that your one browser that supposedly works knows it’s supposed to start working.

    You want developers and designers to make compliant sites that IE8 handles right then make IE naturally handle them right, don’t expect us to pick up the slack you leave behind no matter how little of it there is.

    As a side note, I find the one prior comment about it not being possible to be a developer and a designer interesting. I wasn’t aware that my skill sets were mutually exclusive, especially not when I was learning them both. Rather easy to learn back end / database stuff and front end things, perhaps you just went to the wrong school? My particular school had a nice track set up, starting with basic programming (VB, C++), then moving onto everything front end (JavaScript HTML and CSS), then back end (PHP, ColdFusion, ASP.net), and finished with several classes to make sure everything was known and that we could use the right tool for each task. No using JS for form checking when end users aren’t supposed to be able to see what happens and all that fun stuff. Given enough basics and training to be able to pick up a book or two on anything and then use it correctly given enough time to read the books, regardless of it being front end design or back end development.

  339. What may not be clear from this IEBlog post is that if you code to HTML5 standard (using the HTML5 DOCTYPE) you do not need the meta tag.  IE8 will automatically go into "super standards" mode if you code your websites in HTML5.  This has been confirmed by Chris here: http://blogs.msdn.com/cwilso/archive/2008/01/22/i-feel-happy-too.aspx#7203075

  340. billybob says:

    @Jeff Schiller – Which parts of the draft html 5 spec does Internet Explorer 8 support?

    Canvas and SVG support would seem mandatory and the extra input types look very useful.

    Are you as committed to HTML 5 as you are to CSS2?

  341. AC says:

    @Feh, I’m done with this

    " I wasn’t aware that my skill sets were mutually exclusive, especially not when I was learning them both. Rather easy to learn back end / database stuff and front end things, perhaps you just went to the wrong school?"

    If you think you’re good at both, you probably can’t do either well.

  342. Blah says:

    Knowing MS, HTML5 support in IE8 would be a version 1.0 IE6 type of thing. You’ll have to wait 5 years just like IE7 to get some bugs fixed and another 2 years before you can opt-in with a new version that might be standards compliant, but most likely not. Can’t expect much from the lazy IE team either, you’re better off avoiding the mess of multiple render engines in IE.

  343. Anonymous says:

    Maybe the W3C should come up with a specification/standard/recommendation which mentions that browsers by default must use a standards-compliant mode without requiring developers to use opt-in tags. Only then will Microsoft learn. As (NOT ALMOST BUT) ALL the comments/feedback seems to be saying "Many web developers don’t know about Doctype-Switching" and no one wants three modes and that this isn’t a good decision but will MS ever listen to developers? HOW ABOUT INCLUDING AN OPTION IN ADVANCED OPTIONS THAT LETS USERS AT LEAST SPECIFY THE DEFAULT MODE? As for those who’ve written millions of lines of code, can’t THEY simply insert tags to trigger the old mode? MS, aren’t you getting enough LOUD and CLEAR feedback from the comments on this blog? Most people coming to this blog ARE developers, they don’t want "their past work to be respected". They want to do work for which right now they have to resort to all sort of hacks and workarounds and waste their time. MS doesn’t care MORE about standards than they do about "not breaking the web". In fact, MS is obsessed with "not breaking the web" ideology. And why no mention of XHTML, SVG, DOM level 3? How about allowing users to configure MIME types? As long as so many alternatives exist and competition is heating up more, I’m okay. IE team is free to do anything they want and I’m free to use any browser I want. In the process, I’ll make sure "mom" and "grandma" learn about Firefox, Opera and Safari. Microsoft hasn’t really changed. As billybob put it: It is the "Same old Microsoft". At least don’t claim that you pass Acid2 because the original test page won’t add a meta tag specially for you guys. Maybe MS will create a "Microsoft Acid2" test which IE8 passes.

    Please reconsider this decision. If you still make it a configurable option with default of course rendering IE8 standards mode, the users will have the power to toggle. Are you scared that Joe Average will try IE8, see that his pages render in a strange way and uninstall IE, switch to another browser? I sense more IE market share-care rather than end-user-care, forget the namesake developer-care.

    Btw, I’m much relieved when I read "There’ll be a registry key to force on IE8 standards mode". Now just include it in the Advanced options UI or IE developer toolbar. Or else, we’ll deploy a version of IE8 using the IEAK that forces this tweak.

    Meanwhile, you can at least blog about the BUGS that have been fixed in IE8 beta so people will stop commenting on those issues.

  344. Shaun says:

    Ed Everett: Read the linked post.  Your "idea" is called IE=Edge.

    Dirk: Even the pirates get IE7 now.  WGA is off.

    hmm: Yes, they do.  Which is why they have comparatively puny marketshare despite being cross-platform and offering better standards support.

  345. grumpy says:

    Eh, not convinced.

    Actually, this post brought up two questions in my mind.

    First, if sites generally work fine in non-IE browsers, how about simply changing the browser id string to something new? If websites don’t detect "Another version of IE", but a completely new browser (call it IEX), they won’t fall into the crippled IE6-compatible code path. They’ll then be able to use the (mostly) standards-compliant code path they already use for Opera and Firefox.

    Has this been considered? Simply making a clean break from the old, noncompliant IE line of browsers?

    And second question, when, if ever, do you envision that you’ll have gotten IE back in line with other browsers?

    That is, will there ever be a day when I *won’t* have to do special hacks to get IE working?

    Even if it’s just inserting a meta tag, it still implies that by default, IE will behave differently than other browsers (in the name of backwards compatibility)

    Will there ever be a day where, if I make a completely plain vanilla HTML website, according to the standards, using the correct doctypes and the correct HTML code and *nothing else*, IE will run in the strictest, most compliant mode?

    Or is the plan that web developers are going to have to develop a special IE version of their websites for ever? (Perhaps with fewer differences than today, but still requiring special consideration)

    You’ve inflicted so much pain on us over the last decade that just the promise that *one day* we’ll be able to treat IE like other browsers, would be a major boon. Ok, so it won’t be in IE8 because that still rates backwards compatibility higher than standards compliance, but maybe IE9, or IE14 or IE29. Never mind *when*, but I’m wondering if it’ll ever happen.

    That, more than anything, is what I want to know from the IE team.

    Or will we just get more and more nonstandard "opt-in’s" we need to add to our code?

    And finally, as said by others above, the whole "don’t break the web" mantra just rings extremely hollow, because as you just said yourself, Firefox and Opera are *not* breaking the web, despite not being backwards compatible with IE 5.0.

    It’d be a lot more honest if you said "Don’t break IE", because that’s all it concerns.

    If you were to make a standards-compliant browser, all it would take is not recognized as IE, then you’d get the standards-compliant content that is served to other browsers, and the web wouldn’t be broken. It’d be a break with old versions of IE, but it wouldn’t be "breaking the web". You could break the web 6 years ago, when all sites specifically targeted IE6 *instead* of the W3C standards. "Don’t break the web" would have been a valid concern then.

    Today, websites are able to serve standards-compliant code already, because today there are other browsers that need it. There are no sites that only render in IE6, and so, there’s not the same need for backwards compatibility. Except for IE’s sake. So in the name of honesty, change your mantra to "Don’t break IE". It’d be a lot more accurate.

  346. SchizoDuckie says:

    @Jeff Schiller:

    Right… So now we have to code to a standard that’s not even done yet? Good choice! More new flaws to find!

  347. Raven says:

    Astonishing, standard compliant, but only for those who use a non-standard meta tag in their pages.  How can you even write that with a straight face?

    You make it sound so difficult to make IE8 comply with standards, yet it seems every other browser writer figured this out years ago.

    Hiding behind the "but we’ll break the web" excuse is simply more Microsoft arrogance.  Fix the problem!  Make standard compatibility the standard, and make the hard decision to do your penance for all the hacks you’ve forced upon thousands of programmers for years.  Take some of the advice here and make IE8 look like a totally new browser.  Get it out to developers of major websites ahead of time so they can test their pages.  If needed make it easy to turn off true standards compliance when a web page doesn’t work.  Make the web work the way it’s supposed to.  Take some initiative to really do the right thing and stop making excuses for stupidity.

  348. Eevee says:

    This has to be the worst idea I’ve ever heard.

    I was all set to finally support IE and really welcome it to the Web.  So much for passing acid2; the only way IE8 will pass is if the test is changed specifically for it, and where I come from that’s known as "cheating".

    What will IE9 have?  Super duper standards mode?  33% bigger codebase?  I have to use a doctype and a meta tag and the secret Microsoft handshake?

    If you just fixed your engine, most IE hacks would evaporate under IE8 mode and all would be well.  Most of the popular ways for targeting IE relied on CSS parsing errors.

  349. @billybob: I do not work for Microsoft, so I have no more information than is given in the IEBlog or on Chris’ personal blog.  FYI, SVG is not part of HTML5 (though Canvas is).  

    @SchizoDuckie: Right.  One thing that might be some consolation is that HTML5 is supposed to be backward compatible with HTML4.

  350. billybob says:

    "Your "idea" is called IE=Edge."

    I thought it was IE=edge ?

    Although it would not be unusual for a non-standard Microsoft defacto-standard to not have a standard way to define things.  It will probably accept all combinations of…

    "IE=eDge"

    "IE = edge"

    "IE edge"

    "IE=edg"

    "ie=edge"

    "IE=edge."

    "IE=edge#"

    And probably lots more.  We will then hear in 5 years about hot the whole metatag idea is broken and how we should attach "TCPIP alternate streams" to describe our html and bug requirements.

  351. Feh says:

    @AC

    Yes, OBVIOUSLY because you can’t do the well, no one in the entire world can either.

    We didn’t take 3 times as many classes as everyone else just going for a single path to wind up unable to do anything we trained for. And I’m certain that after taking 3 times as many classes and maintaining one of the highest GPA’s in all of the IT programs that I must not have learned anything in those *fake* classes instead of the reality of having worked 12-18 hours every day just to get all the coursework done.

    There will always be people who can do more and or different things than you, and who can do them better. I know that I’m not the best but I also KNOW, not think, but know that I’m good at what I do. I wouldn’t have held my job this long if I wasn’t good, so take your narrow world view somewhere else and leave me out of it.

  352. We’re in 2008 for christs sake, and you opt to add another layer of browser sniffing to the web? Seriously? A technology from the same era as spacer gifs and table layouts?

    Embrace…

    …extend…

    …extinguish.

    I guess I shouldn’t be shocked, but I really am. Shocked and disappointed.

  353. Feh says:

    Also, by the "we" in my last post I’m referring to the 4 people who managed to graduate from the program I took while I was taking it.

    Yeah, not many people make it cause it is hard and a lot of work, but the ability to fit into basically any web based job after graduation is quite nice.

  354. j4n says:

    absolutely lame. i hope this opens the eyes of all companies that worked a lot to have their pages run on IE and now see that this fairytale tag is the absolute wrong way of solving a problem.

    to me this means IE will lose even more customers that M$ did with Vista…and that is a hell lot.

  355. Manoel B H Carvalho says:

    Great. For me, next step is make javascript more compatible with w3c HTMLElement classes and prototype DOM classes.

  356. Spo says:

    Heh!

    Count a bit:

    IE 5.0; IE 5.5; IE 6; IE 7; IE 8; IE for MAC = 6 (SIX!) different rendering type! Six. You, Microsoft developers are retarded.

    And the other side: Opera, FireFox, Safari, Konqueror, Webkit = 1 (do you catch, ONE) CSS file. But they are different. Or not? Again, you are retarded.

    RETARDED!

  357. Luke says:

    Why can’t Microsoft do a damn thing right?! I thought Bill Gates was going to ask you guys what the hell’s going on?

  358. Pete says:

    Why does the IE team hate web developers? Thanks for announcing another 3-4 years of suffering. I can only hope you are all fired or transferred before IE9.

  359. GreyWyvern says:

    Reading through all the comments, obviously there is a significant amount of developer hostility to Microsoft’s plans for IE8.

    This one hopes that MS realizes their commitment to developers (do the Ballmer dance!) not only includes developers of OS applications, but developers of internet applications as well, and nixes this plan before it is implemented.

    It’s a shame, really, that "Do The Right Thing" has always come a distant second to "What’s Right For Us" up to now.  Make no mistake, I am sure the programmers who spent so much time making sure IE8 passed Acid2 are just as incensed about the decision to short circuit their success, but don’t hold your breath waiting to hear from them.

    … at least under their real names.

  360. Patrick says:

    GreyWyvern is totally missing the point.  It would be a lot easier for the current IE team to just say "screw compat" and do standards by default.  But they know that the expedient thing to do and the right thing to do are rarely the same.  

    For every webdeveloper here complaining, there are a thousand web devs and IT guys breathing a sigh of relief.

    MS is introducing a way to eliminate the vast majority of IE-specific development with a single meta tag.  And you’re complaining about that?  Clearly, you’ve never shipped a production site.

  361. Psa says:

    Don’t you know what to do with this situation?

    Stop the development of IE and make a compulsory update to Firefox or Opera via WSUS or Windows Update :D

    IE 8 will support CSS 2. In 2 years. LOL.

    Opera 9.5 and Konqueror (and Webkit) fully support CSS 3 TODAY.

    And now what we are doing?

    We are writing webpages in CSS 1 (!) because of Internet Explorer.

    I see NO development.

    If people didn’t use IE, there could breakthrough and we don’t need to use HACKS and could use the newest technology. But IE exists…

    When I visit CSS3.info and watch those Photoshop effects witch CSS… After I think of Microsoft.

  362. Wes says:

    @Richard Tallent – was just going to post suggesting group policy to force ie7 render in intranet zone but you beat me to it!

  363. Reid says:

    This has to be the most ridiculous things I’ve ever heard of.  To support better standards compliance by introducing a non-standard tag.  Are you guys serious!?!?!?

    You’re digging a grave for IE by doing these things because the developers, the ones that actually write the webpages that you speak of, are going to stop putting up with this nonsense.  Then where will all those users be that you keep speaking of?

    Seriously, this is just bloody pathetic.

  364. BlackDragon says:

    @Patrick

    How exactly is an opt-in required to make IE work like all the other browsers some miraculous way to  get rid of IE-specific development? The ignorant and lazy will leave it out and develop for IE7 still, probably also not bothering to make any of their site work with standards compliant browsers, and the knowledgeable workers will just have to change up their conditional comments or user agent string checks and include a new tag that’s worthless to everything but IE8(+). If anything this encourages people to get on board and ignore standards since they can just leave their code in a horrid state and have IE render it like it’s IE7 comping down the bad code.

    Anything that increases the workload to use standards while decreasing the workload to ignore them can not be said to support standards or "eliminate the vast majority of IE-specific development" by a sane and honest person.

    I really doubt there’s any web devs or knowledgeable IT guys out there breathing sighs of relief either since chances are their intranet site probably wouldn’t trigger standards mode anyways, nor would it be that hard to have them change the page header to have an opt-out tag to make IE8 render like IE7 unless their site(s) are completely screwed up. Just like how it’s not too hard for all of us who adhere to standards to add the opt-in tag presently. Either you have to admit that the old sites could easily have the meta tag added to them for an opt-out rendering or you have to admit that the opt-in we currently have is too much of a bother to be reasonable.

    Most everyone complaining is fine with the meta tag existing, but it needs to be the other way, and the people who haven’t been following the standards should be the ones that have to fix their sites with the tag.

    I say that you are the one who missed the point, since the new meta tag in it’s current form doesn’t really do what you claim it does.

  365. Siegfried says:

    This "opt-in" may be a good idea for just now. Just for IE8. And then, what’s about IE9? hould these pages then be updated? And updaed again for IE10? And so on?

    Better is the "opt-out" option in several ways. If you have to opt-out this reminds you that there are issues with your pages. Nevertheless this opt-out is simple to do. If you use the http header functionality it is just one line in a central server configuration file.

    We all should expect new software do things the new and acutal way. Noone expects MS Word 8.0 to store the files in MS Word 2.0 format per default. The default is always the latest format, the latest standard. The same should be true for the browser.

    I can understand the necessity of backwards compatibility. But that should, as with any other software, be a user option, never the default.

    As far as i know browsers where always advised to ignore things they did not understand. So adding such a backwards compatibility something would not make old browser versions unusable.

  366. Upanisad says:

    Oh dear. I d not agree with the general trend here. Ok, it’s not the optimal solution. But, what’s the problem?

    If you develop a new site, you put in the required META and you know that it’ll work as pure standard in IE8.

    If you want to fix an old site… why would you do that in the first place? It’ll continue to work as it did before (in IE7)! You don’t need any fixing!

    Anyway, it’s just one damn tag! Less than a hundred characters! You can do it on every page on a huge site in a few hours!

    It validates, too!

    And when HTML5 comes out, the problem is gone.

    It looks like an acceptable solution to me!

  367. Brian says:

    That’s way too many comments to check if this is already posted, so forgive me.  What you’re saying is that IE8 will require a non-standard tag in order for the browser to go by the standards?  Wow, irony people…

    IE has been a pain because I can’t code to standards and expect it to work… I have to code to standards, then fix IE6, IE7, IE5.5, etc.  Make it standards compliant WITHOUT having fancy switches.  If you really MUST have it backward compatible, make THAT the flag.  Force developers to choose the old rendering style instead of forcing everyone who cares about their site going by standards to use a proprietary (aka NON-STANDARD) flag.  Or don’t put it in at all.  Push web standards ahead and make everyone’s life easier in the end.

  368. GreyWyvern says:

    No, Patrick, *you* have completely missed the point.  Sure it would be easier from a programming point of view to release a version of IE8 that did nothing but strict standards.  The point is that it is not *up* to the programmers, rather it is up to project management whose top priority *should* be making development easier for all, rather than creating another rendering mode and turning it off by default.

    Have you ever shipped a development site?  I’ve shipped several, and I would trade the dozens of conditionally included CSS files, filled with underscore hacks, and comment hacks; JS files with IEs proprietary javascript comment switches and object sniffing hacks; and HTML files littered with conditional comments and box hacks… for one CSS file, one JS file and one HTML file for all browsers and all rendering modes.

    Yet that probably doesn’t matter to you.  You probably whip sites together with development suites like Turbogears and RoR which does all of that browser hacking for you.  That’s okay; just don’t pretend to know what a PITA it can be if you don’t deal with cross-browser hacking on a fundamental level.

    But don’t take my word for it.  Talk to the developers of your favourite design suite.  *They’ll* give you all the juicy details.

  369. drew says:

    Simply Amazing.  Once again Microsoft has demonstrated their exceptional ability to take a bad idea and completely botch the implementation (which I suppose is second only to their ability to take a really good idea and completely botch the implementation, a la ASP.NET, but I digress)

    First of all, I have a hard time seeing any other browsers ever actually implementing this.  Maybe if you only release one new version every five years, it’s not a big deal to include every previous rendering engine along side the current one, but I suspect this would be a deal breaker for any browser with a more aggressive release schedule.

    But more importantly, I see a complete (and completely characteristic) lack of foresight her.  Having the META tag default to IE=7 when it is not specified makes sense from the perspective of not having some small number existing sites break in IE 8 when it is first released, but it is totally backwards.  (It also ensures that not only will IE8 not pass ACID2, but it is unlikely that any version of IE will ever pass it or any future ACID tests unless the standards for "passing" are changed)  The default should *always* be "*=edge".  This makes far more sense both from the perspective of planning for future versions beyond 8, and for getting other browser implementations on board.  While it is true that this will make more sites break than the alternative, it is better (from the IE team’s perspective at least) than what we currently have, because it could give both web developers and end users an way out when it comes to handling broken sites.

    1) Developers can download the beta releases of new versions.  If they did a half way decent job of writing their site, and everything still works, no worries.  If they used weird non-standard code, or IE introduces new bizarre rendering bugs, they throw the http header / meta tag on the sites / pages that have problems.

    2) End users could be given an interface that would allow them to flip through older rendering engines when a page does not display correctly.  For example, it could be a little button in the address bar that would light up when a page doesn’t have the header.  Clicking on it would toggle through the available rendering engines until the page looks as expected.  Presumably, there could also be a way to remember settings for that page, and / or apply it to the entire site.

    3) IT departments could add known problem sites (e.g. Intranet pages that can’t be updated for one reason or another) to the users registry via automatic updates, thus eliminating the need for #2 in a large majority of cases.  (Which from my experience is where this tends to be the most problematic).

  370. Siegfried says:

    Well, just putting in nothing and force the web developers to sanitize their code would in fact break the web. Here in Germany there is a saying about who made a web page: "The neighbours son, the one who knows internet". That is how most pages are done. And "most pages" are simply a fact to deal with.

    But indeed now the time has come to decide wether to stick to old bugs forever or to open a path to current technology. Forcing web developers to do additional things just to have their pages rendered properly is not a good idea. Forcing the authors of those old pages to add a little flag is better. And, BTW, really old pages don’t need any changes. They are in html 3.2 or earlier, do not use css (was not invented when these pages where created) and should render perfectly in all browsers. Those "old pages" we are speaking of are only those with a valid doctype of at least html4. Any page without doctype, with doctype of html prior to version 4 or any invalid doctype could be rendered in oldfashioned way without any flag. Ths flag is only for old pages _claiming_ to be standards compliant but are not. That’s not the majority.

  371. Jcmorin says:

    Make IE 8 standard as it should

    Out of billions the web pages

    - Many many will work out of the box!

    - Many will work but with some minor display error. Who care?

    - Some will break, the site owner will fix them to be more "standard".

    - Some will break, if the site that can’t fix them just add a Doctype or meta tag to preserve the old non-standard way.

    Everybody will be happy this way, don’t try to put yourself out of the browser game. Netscape was #1 and went to not even in the game, don’t be surprise if the history repeats again… it always do.

  372. Siegfried says:

    Drew is absolutely right! And why not ship a "flagging tool" together with IE8 that throws in this extra meta tag into all html pages in some directory and its subdirectories, if it is necessary? The web developer could simply check if it works, and if not, start the flagging tool.

  373. drew says:

    @Patrick

    I’ve shipped a number of production sites, and not only will this fail to "eliminate the vast majority of IE-specific development", it will barely even put a dent in it.

    The vast majority of IE-specific development is in getting otherwise standards compliant sites to work with Microsoft’s incomplete, warped, or just pain wrong implementations of the standards.  Implementing the standards correctly would eliminate the vast majority of IE-specific development, except that we’ll still be stuck supporting the existing messed up versions for years to come.

    The *only* way this META tag would eliminate any IE-specific development is if they backported it to IE6 and IE7 so that they would render sites using the IE8 rendering engine when the tag is present.  And even that is assuming that they actually do the standards support right in IE8, which I am not holding my breath for, ACID test or not.  After all, they claimed that they fixed all of the bugs on PIE with IE7, which they clearly did not.

  374. snprbob86 says:

    @Chris Wilson (cwilso): Thanks for taking the time to respond to this assault of responses and negativity.

    I have one last suggestion and I hope you are still reading:

    Why not make it work like the Phishing filter?

    1) Intranet sites default to IE6/IE7 rendering to accommodate the millions of internal businesses apps which may break

    2) Internet sites default to the super standards mode

    3) Knowledgeable users can report sites as rendering incorrectly (switches the renderer in use)

    4) Web service automatically adjusts rendering settings for average Joe users

    Additionally, you could try to seed the web service with data gathered from automated analysis of Microsoft Live Search’s web cache.

    Thoughts?

  375. Sam says:

    Dear Microsoft IE team:

    Nobody wants this.  What are you thinking?

  376. fyndor says:

    One mode!!!!! If every developer has to put a tag in their page or special code to make it work with your browser correctly, then you FAIL!  Your browser should be standards compliant out of the box w/o web developers making their pages IE compatible.  I want no less, but expect much less.  I see what you guys are trying to do.  At times as a software dev, I come to these hard choices when fixing bugs.  But sometimes you have to bite the bullet, and make the RIGHT choice so that you are heading in the right direction.

  377. Siegfried says:

    The Phishing filter thingy is a nice idea but would throw in significant delay before the page is actually shown.

  378. Halo_Four says:

    My recommendation is to do the opposite of what you have described.

    If the page has a correct DOCTYPE, use the strictest current implementation of standards rendering that you can.

    If the page does not have a correct DOCTYPE, render in "quirks" mode.

    Finally, add a META tag that allows the web developer to state explicitly if they want to target the exact rendering functionality of a specific brand of the dialer.

    This way you’ll satisfy all parties.  You’ll have fully standard rendering by default which will satisfy the ACID2 test properly and you’ll have quirks mode for really old and probably unmaintained pages.  For the people screaming to have IE8 continue to render like IE7 or IE6, they can make a single modification to the pages of their site to request that IE8 continue to render in partially quirky mode by asking for a specific rendering target.

  379. Dalle says:

    Childish solution:

    <meta http-equiv="X-UA-Compatible" content="IE=3" />

    Grownup solution:

    <meta http-equiv="X-UA-Compatible" content="all=edge" />

    But the best solution would to not use the meta element at all.

  380. Tristan says:

    FOR THE LOVE OF ALL THAT IS HOLY AND GOOD in the world JUST MAKE IT FULLY STANDARDS COMPLIANT and FORCE SITES TO UPGRADE.

    You have SO much power and vastly overestimate the impact of a change in page rendering. Sites for which layout and design is important will easily and gladly upgrade to be fully compliant with a new spec. You mention Firefox, and that’s an excellent example — Firefox now works great for almost 100% of sites on the web and is fully standards compliant. There is NO REASON IE CANNOT BE THE SAME, and if you think otherwise you’re DELUDING yourselves. Seriously. You have NO RIGHT TO CONTINUE YOUR SEGMENTATION OF THE WEB. STOP IT!!

    I apologize for yelling, but in circumstances like this it is necessary to be heard well.

  381. Firefox says:

    Lol, its patetic. MS can’t develop a standards-friendly browser.

  382. Jerome Lapointe says:

    "1. “Quirks mode” remains the same, and compatible with current content.

    2. “Standards mode” remains the same as IE7, and compatible with current content.

    3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article."

    I think this needs to be dependent on Doctype. If you claim that this is not to break old websites then do not force the bandaid on doctypes that are in all likeliness built for standards, or with that intention.

    There’s a difference between a 2 years old active ecom site and a 12 years old informational document that has no chance of seeing an update.

  383. LT says:

    BAD MICROSOFT NO BISCUIT

    for once in your life stand on principle instead of capitulating to the lowing herd.

  384. Vaoh! says:

    CSS2 will be a standard at this time: 12-May-1998 ( http://www.w3.org/TR/CSS2/ ).

    Microsoft Internet Explorer will support it in 2009! YEAH! You, Microsoft guys, are AMAZING! All of my respect to you!

    In that time YOU shared the web, YOU didn’t care of the standards, YOU made people to pay much more for a website because of IE hacks, YOU held back the technical development, and finally, YOU SUCK!

    You deserve it!

  385. eGandalf says:

    So much as has already been said on the topic that I hesitate to contribute. However, I must put in my agreement with most of the comments I’ve read, if not always in the way the commenters represent themselves with foul language and shouting.

    I understand the concern with already published content on CD/DVD, however those media can be some of the least expensive to reproduce and if they are developing for IE6, then they truly need a kick in the pants. There’s no excuse for that.

    Many of the comments bring to light the idea of specifying a <meta> value to maintain IE6 compatibility. This is as it should be. Standards should certainly be default, not an opt-in. I’m sure you and many others here can appreciate the number of times in any given month I find myself cursing IE under my breath or aloud.

    IE7 was a step in the right direction. One which has already provided developers to better themselves and the web by coding closer to standards. Anyone who truly cares about how their website looks will already have a site which fits closer to standards anyway. Give them an additional shove and make IE8 work with standards by default.

  386. Som så många redan har beskrivit, kom det ut ett nytt nummer av AListApart i början av veckan – ett nummer där man beskrev ett förslag på en lösning på det problemet som kommer att uppkomma när fler och…

  387. Teddy says:

    OMG! Problem Solved!

    ====================

    ||||||||||||||||||||

    Ok, hear me out.  We know the final solution has to be an opt-in (because IE doesn’t want to break the IntrAnet) – fine.

    Kindly, and politely approach the W3C, and ask if you can have Doctypes declared for HTML 4.25

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.25//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;

    and

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.25 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;

    These would be EXACT DUPLICATES of HTML 4.01 in terms of the underlying markup, however (and this would be heavily noted), that this release is to assist browser makers in targeting a standard.

    ====================

    ||||||||||||||||||||

    Old sites, would render as before, and nothing changes. Sites wishing to get the best standards compliance possible, would set this doctype, and enjoy beautiful rendering… even in IE!

    Note, this would require other browser vendors to accept this change, so they can push the valid doctype down to their installations, but this might be the better strategy rather than wait for IE to support HTML5 (I’m personally betting 2015 at the earliest (and I’m not expecting it to be correct, or complete))

    Ted

  388. André R. says:

    Why can’t you just use the same doctype switching we have used for the last 8 years. Mozilla has already extended it and introduced ‘Almost Standards’ and ‘Full standards’ mode back in Firefox 1.0.1:

    http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing

    This should be extended so (x)Html5 also triggers ‘Full standards’ mode (aka ie8 mode):

    http://www.whatwg.org/specs/web-apps/current-work/

    http://www.w3.org/html/wg/html5/

  389. AC says:

    @feh

    Hit a nerve over something?

    You -did- say it was "Rather easy" to learn, so your spouting of amount of classwork and GPA really doesn’t mean anything.

  390. sonicdoommario says:

    I’m an IE fan for life, but this kinda ticks me off.

    I’m no web developer, and I never, and I mean never say anything anti MS,but why can’t standards mode be enabled by default? It’s the future of the web, so show off that rendering engine to the users which can pass the Acid2 test, not some other crappy one.

    Good idea, bad execution. Can’t you use the META tag for QUIRCKS MODE, just so developers have to make a tiny adjustment to keep their sites on par with older web browsers? Also, by the time IE8 is released, FireFox and IE7 will have eaten up almost all of IE6’s market share.

    When IE8 is released, isn’t it possible to offer a Rendering Engine Update for IE6/7 to update to IE8’s rendering engine, for those stuck on older operating systems?

  391. Juan Zamudio says:

    "It turned out by the time IE7 shipped in late 2006, roughly half of the top 200 US web sites were in ‘standards mode’. Many of those sites had been ‘opted in’ to standards mode by a tool that generated their content;"

    And what will happen in the future, when tools insert this this meta tag just like they insert valid doctypes now, suppose that you release IE8, then a new CSS 3.5 specification is released, of course IE8 does not handle this specification because it was released after IE8, what will happen?, you will release IE9 with a new engine with "super, extra, master, this time is for real" standards mode that is activated clapping twice?, I can’t believe it.

  392. Me says:

    Why would I want to add a flag to tell IE that I am standard compliant ?

    Just assume your past Microsoft. If I code to the standard, respect it. By default.

    And for people that coded for IE only, well that their problems. Assume yourselves.

  393. Incompatible says:

    Microsoft, incompatible with the billions of current standards compliant pages, incompatible with the future billions of standards compliant pages.

    Looks like the legacy of terrible decisions made during IE5/6 eras is coming back to bite the current IE team in the ass.

  394. oh boy says:

    oh boy. This comes as no surprise but nonetheless the approach is really really ugly.

    If you do implement this, then please do at least allow an additional way to browser-independently trigger whatever best standards mode is available. Like so:

     &lt;meta http-equiv="X-UA-Compatible" content="*"&gt;

    The idea would be that there ist a trigger value that will at least cause IE best standards mode for IE and that *does NOT have to _specifically_ target* the IE family of  browsers at all. If you support the use of the generic value ‘*’ without a browser name, then at least a sane web developer could tell all browsers *equally*, that every browser should try their best.

    Otherwise, I am pretty tempted to not use your switch at all and keep all IE users trapped in second-class IE7-land. And I am quite sure that I am not the only web developer who feels like this. Stop deliverately splitting the web. At least, please allow people who know what they’re doing to declare an opt-in into sanity in a browser-independent manner.

  395. dl says:

    You HAVE TO BREAK IT, so we can ALL MOVE FORWARD!!!

  396. Dave says:

    So with this <meta>-based solution, how could a developer to develop a site that works with all IE versions then?

    Isn’t that still mean we will have to keep all the shitty workarounds?? That would be a big NO NO!

    Unless you could release updates to IE6/IE7 to render the <meta>-based solution properly, so this <meta>-based can be the ultimate solution for all IEs.

  397. 3-D says:

    Immediately, this solution will work. In the long run, this solution sucks and you guys know it. I’ll accept this solution as a crutch to dig out of the horrible mire IE currently has left the web in. But remove it by IE9. Remove it, don’t leave it in for compatibility, don’t wipe the butts of useless consultants that write horrible one off code or use automated tools. Remove it and expunge the last ragged tatters of the mess IE7 and lower have left all over the web.

    Otherwise the web development community will take a gigantic dump all over you, because we don’t like this hack either.

    DOCTYPE should be doing this already. MICROSOFT should have forced developers to use DOCTYPE as it was intended. Anyone with half a brain used DOCTYPE already expecting it to solve this problem. Instead we now have DOCTYPE + another tag to do what we never should have had to do to begin with had IE kept up with the rest of the standards compliant pack.

    Remove this hack by IE9 and let DOCTYPE do its job.

  398. Diplo says:

    Whilst it’s good to see Microsoft at last taking web standards seriously, this is NOT the way forward. Making non-standards compliance the DEFAULT to maintain backward compatibility with badly written sites is short-termist and defeatist.  It simply sweeps the issue under the carpet for another browser generation whilst failing to address the long term problem of compelling people to adhere to standards. Just like the stock markets sometimes a "correction" is needed, even if it’s painful for some people. A clean break is needed.

    In the long term, however, a standards compliant web benefits everyone. Future generations will not look kindly on Microsoft if they continue to make it easier for designers and developers to ignore standards than to adhere to them.

    Make IE8 standards compliant by default. If webmasters are not happy with this then put the onus on them to fix their code – they’re going to have to at some point (or do Microsoft envisage the Web in 10 years still supporting IE6 hacks?) so it might as well be now. The longer it drags on the worse it will be.

    People talk about how this might "break" sites, but let’s be honest, very few sites will actually be broken in any real sense – most will just render a little oddly (something that many Netscape/FireFox/Opera/Safari users have had to cope with for years when visiting sites designed solely for IE).

    In the very, very few cases were people really cannot or will not change their code and it really does properly "break" a site then make it an option in the browser itself so that users who visit the site can force backward computability mode manually (this could then be remembered by the browser on a per site/domain basis).

    Please, Microsoft, just do the right thing, rather than the expedient thing. Please.

  399. Trejkaz says:

    Why don’t you just make it render properly for all users?  Older sites which assume the legacy rendering, guess what?  They’re broken!  It’s the site developers’ responsibility to fix this, not the browser’s.  All the browser is supposed to do is render things according to the standards.

  400. Jan pieters says:

    What is going wrong in the heads of the developpers @MS? BREAK it, dont care IE is a nightmare for us!!

  401. Adam Kelly says:

    Fellas, I really appreciate what you’re trying to do. Improving the renderer was the right thing to do, and you’ve done that. Bravo!

    The wrong thing to do is to have the correct behaviour require yet another tag.

    For sites that are affected because of past missteps, require THOSE sites to append the extra tag in IE8. Choose one that will be ignored in IE7 and earlier.

    This way you’ve given those who correctly follow the standards the correct behaviour AS THE DEFAULT. (Chris, if you’ve ever overheard a support call, you know exactly how many people change the defaults on ANY of their software.) Furthermore, you’ve given those people that demand the old, broken behaviour a quick and easy out. They won’t have to undergo the arduous task of re-doing an entire site, just placing meta tags on all their pages (which is what you are proposing the rest of the already standards complying web do instead).  Don’t reward the behaviour of the broken sites by keeping to old renderer as the default, or you will face the SAME problem when you roll out IE9.

    That way, you are not punishing all the MANY MANY other sites that will already render correctly (‘half of the top 200 US web sites were in “standards mode”’)

    Chris Wilson, please take this under consideration.

    Adam Kelly

  402. Alan Doherty says:

    I agree with all the sane commenters here

    the default when processing a correctly specified doctype should be standards mode

    if developers want it rendered incorrectly {ie7 mode} then let them add the meta tag to specify that.

    we should not have to add a tag to our standards compliant websites to allow the ie8 users to see it the way it was written.

    Just because some other lazy developers are writing pages that rely on the weirdness of ie7 and choosing to doctype their pages as standard when this is not the case.

  403. Tom says:

    I code to published standards. If you want to render them correctly, implement the standards. If you don’t, don’t. I couldn’t possibly care less when I can easily tell my customers "Download Firefox or Opera, they actually work. Call the clowns you got your browser from and tell them to fix it". I do it already and they all thank me for it.

  404. ItFigures says:

    Adam, I think Chris is saying that half of the top 200 US websites are triggering standards mode when only some of them really should be.

    But even still, I think that shouldn’t Microsoft’s shouldn’t be worrying about breaking these old-school websites.

    That’s what a Beta release is for. So people can test their websites ahead of time and make it right. C’mon Microsoft!

    Nobody seriously believes that your Meta tag is a good idea.

  405. Ridiculous says:

    Dear Microsoft,

    I think after years of doing just about everything WRONG when it comes to browser implementation, JUST ONCE you might want to TRY GOING AGAINST YOUR INSTINCTS!!

    Seriously.

  406. Konrad says:

    I have to agree that full standards compliant mode should be on by default. The meta tag is a good Idea but it should be used more as a quick fix. That is when my page breaks on a new version all I need to do for a quick fix is add the meta tag to each page, or set it on the server and the site works.

    Then I have all the time in the world to remove any code which relies on non-standard behaviour

  407. Siegfried says:

    Just a small reminder to some of the commenters: The problem we are discussing here is not the buggy standards interpretation of IE5, 6 and 7. It does not make any sense to offer an update for these browsers. The IE 8 should be that update.

    The problem this discussion is about are those much too many web pages out in the wild that rely on these IE bugs.

    And BTW, another aspect: The main problem are not those intranet sites. If any company wants or has to stick to their buggy pages then this company is without any problem able to enforce the usage of the old IE for the intranet. As far as i remmber something like that was already posted as comment here. The main problem are thousands of private and small business pages which will break in IE 8 if rendered in standards compliant mode.

  408. Glenn Pratt says:

    If this tag is required to render Acid2, then you haven’t passed Acid2.  Stop with the half truths, get IE inline already.  No more hacks!

    I am so tired of dealing with Internet Explorer, it makes me want to scream.

    I appreciate the blog, don’t think I take it for granted.  I hope you appreciate the feedback as well, don’t take it for granted!

  409. Ridiculous says:

    @Konrad, I have to assume that you mean that the meta tag would only be a good idea if you wanted to OPT-OUT of standards mode. Assuming that Standards Mode would be on by default. Yes? Otherwise, you don’t make any sense.

    It just surprises me that Microsoft would take ownership of every buggy page around the Internet that happens to look OK on old versions of IE. As if all the bad web pages of the world were designed by a rogue Internet Explorer HTML generator of some kind.

    The fact of the matter is that the HTML generators that mistakenly put the DOCTYPEs into the markup are the problems. Microsoft needs to correctly place the blame onto the software makers who made this error.

    My sense is that executives above Chris Wilson are forcing him to take this nonsensical meta-tag approach to avoid a PR nightmare. But, I think that a PR issue can easily be avoided by clearly explaining that many HTML generators were at fault. Put out a press release spinning the story as a major leap forward for IE.

    If you take that approach, IE8 comes out looking like a triumphant hero.

  410. Guru says:

    @Siegfried:

    No one cares about IE6/7, we just want IE8 to use standards compliant engine out of box, not forcing devs to use hacks like this but the lazy IE team can’t seem to get the clue through their thick skulls.

  411. Steven Roussey says:

    Ship a new product, Internet Expander 1.0, or whatever, as a replacement for IE6/7. Sort of like Firefox 1.0 vs Netscape Naviagtor 4. A "new" product won’t need the "don’t break the web" assumption. And the old IE6/7 can still be installed, lurking there for those that need to use it.

  412. Acid2 says:

    http://ln.hixie.ch/?start=1201080691&count=1

    Good read. Ian Hixie is one of the authors of Acid2 by the way.

    "It will be interesting to see whether IE8 really supports Acid2, since that test page doesn’t include any of the special magic words being proposed here. Will they hard-code the URI? Will they check every page against a fingerprint and if it matches the fingerprint of the Acid2 page, trigger the IE8 quirks mode instead of the IE7 quirks mode?"

    Wonder if we can add word liar to describe the IE team’s claims?

  413. Ian says:

    LEAVE OUT THE META TAG PLEASE!!!!

    IT’S POINLESS AND YOU’RE BREAKING THINGS AGAIN!!!!

    Just let it render as should be in XHTML Transitional/Strict.

    Let pages with no doctype render in ie6 or 7 mode. Don’t break the web again!!!

    NO NO NO NO NO NO NO!!!! Let the web be as it should be!!!!

  414. Porter says:

    Shame on you, Microsoft.

    You started to make real progress in IE7 and then with Acid2 (*). I had really high hopes for IE8. But not anymore. This mistake may just seal IEs ultimate fate.

    I make standard compliant websites. All pages are verified. If default IE8 can not handle standard-compliant pages, then so be it. Users can and do switch away from buggy software to superior alternatives.

    I will *not* add non-standard, proprietary IE8 custom meta tags to any of my pages because it is not in the standard. If you can convince the W3C to add it to the standard, then I will start adding it to my pages, but not before.

    * Actually, not passed in light of this new information.

  415. Simon says:

    @cwilso -

    I recognise the intent is to avoid breaking existing bad sites. But like many others, I think this is very short-term thinking – it avoids the pain of fixing things now, but guarantees a lot of ongoing pain in dealing with the consequences. Speaking as someone who doesn’t even have to support versions prior to IE7, this kind of thing represents a substantial investment in resources. If IE8 doesn’t just work out of the box, we’re going to have to keep dealing with this kind of hassle, just like every previous release.

  416. Demian says:

    I understand you. But I’m not with you.

    As a web developer I won’t use the meta tag. I’m targeting standards, not browsers. I’m sorry. And I’ll let everybody know it’s not my code’s fault.

    Sorry. I’m not spending more time dealing with your problems. If you don’t want to pay for your past errors, then I’m not going to fix things for you.

    Alas, nothing really assures me that IE8 will have a decent standards compliance…

  417. Rowan says:

    I don’t think anyone will be able to use this switch until IE8 has considerably more market penetration than IE6 and 7. There’s still no sign of IE6 disappearing, so chances are 7 will take even longer to disappear.

    So my question is, when does Microsoft expect anyone to start using the switch? Ever?

    What about when IE9 is released, we’ll have to wait for IE6, 7 and 8 to disappear before we can code for IE9.

    Looking forward to the future!

  418. Sander Aarts says:

    I see what the problem is for MS/IE, but I think that the chosen solution is just not right. Therefore I propose an alteration of the way the version switch will be implemented.

    As this is the home of the IE team I’ll repost what I just posted on Meyerweb.com:

    Setting the IE7 rendering to be the default rendering now will make it to be the default forever (well untill MS comes up with yet another ‘fix’). IE22 will still have to render pages as if it was IE7 if no switch is included that tells it to do otherwise. If it does not then the web will still be broken.

    Therefore the default behavior should be changed to "latest" as you (Eric Meyer) stated. And the switch (if any) should be inserted in pages that will break, because that’s where the fixing needs to be done.

    That way not all pages will be rescued from breaking as not all will be updated with this switch. Therefore MS could include a classic mode in its browser, say the IE7 engine, and let users switch in cases where the old pages are not updated with a switch.

    That way:

    * MS only has to maintain only two engine versions instead of all from IE6 and up: the current/latest and IE7/classic.

    * MS does not have to fork a new browser (in a way this is a fork, but it doesn’t look like it) which would be like admitting that their product was bad

    * This "break the web" issue will stop showing up each and every time MS releases a new version of IE and no future fix will ever be necessary to set a new (non-IE7) baseline

    * The proprietary switch will only be inserted into pages that are already stuffed with proprietary, non standards code and probably by the developers who delivered this code themselves (let them pay for their own deeds)

    * IE-only pages that are not updated will still be accessible in IE as the user can switch the engine if necessary (of course these pages should be remembered)

  419. Steven Roussey says:

    In reference to my earlier suggestion for a new product, why not "Internet Vista"?

  420. Steven Roussey says:

    Or "Internet Explorer Live 1.0", IE7’s successor…

  421. Typhoon87 says:

    Break the web by dumping any kind of quiks or backwards compatability. Break it one time, and make everyones life easy. I am not a heavy web dev or anything but just break it one time and say screw it.

  422. PatomaS says:

    Hi

    May be i’m missing something here, but is there going to be any clear and definitive answer about xhtml support?

    Bye

  423. Yet another thing Microsoft wants me to do for them.  I’m sorry but I’ve been doing things for Microsoft  for 8 years now and I’m bloody well sick of it.  I don’t care if the IE developers never sleep again while they try and fix they’re own mess, stop passing the buck to the people who actually have been coding to standard for years and then hacking the crap out of what works to make it work with your garbage. I’m sick of being punished for your malice, ( IE was never buggy it was intentionally non-standard ).  Default to a real standards mode, fall back to quirks mode, and don’t ever ask me for my help again.

    (wow i guess i’m more than just a little angry) man that felt good.

  424. Al Billings says:

    For all the people saying that Chris and the IE team should take it to the W3C and get this (or something that fills this hole) into a standard, you are aware that Chris co-chairs the HTML Working Group at the W3C, right?

    If the co-chair of the HTML Working Group can’t get this added to the HTML5 spec, I think it is pretty clear that no one outside of Microsoft in the HTML Working Group wants it…

    Apple’s Safari people, Opera people, and Mozilla people have all said in the last day or so on blogs that they have no intention or interest in implementing this "solution" in their browsers. While these aren’t official statements from any of the corporations involved, I think it shows the level of enthusiasm (or lack of it) for this "solution."

    Microsoft, going it alone on the Web since…well…forever. :-)

  425. Skip the IE 8 version, implement XHTML, the complete HTML 4 and CSS 2, a lot of HTML 5 and CSS 3 and call us again in 2011.

  426. amazed says:

    @Vance

    Ignorance is bliss huh?  Maybe you should spend more than a cursory glance at the history of browser standards instead regurgitating the usual myths.

    The level of ignorance displayed by ‘developers’ posting comments makes me ashamed to be one.

    It’s just a fricking META tag, what is the big deal?  If you don’t have a sensible alternative, don’t make yourself look stupid.  Mind you, stupity drives the angry mob…

  427. war59312 says:

    I agree that super compliant mode should be enabled by default and the meta tag should be used for Quirks mode.

    By not having compliance out of the box your not encouraging users to switch. When is it going to end? How long are you going to support IE 5 style design, forever?

    Why would developers take the time and effort to add the meta tag and test how their site works in the new compliant mode when it works just fine out of the box? Why would they ever switch if your never going to break those old sites? Do you really expect everyone to switch to compliance mode on their own? At what % of standards usage will you "break the web"?

  428. Worst "Web Standards" Trigger EVA!

    ===================================

    http://www.thesimpsonsquotes.com/images/comicguypoint.gif

  429. amazed says:

    @Al

    So Al, in your mighty wisdom; can you suggest a solution better than the META tag?

  430. amazed says:

    Will,

    Let’s think about this just a teensy weensy bit.  

    If MS were to switch to the new rendering engine (i’m assuming it’s new) by default, millions of web sites would break.  Now if you hate MS, well then hurrah.  The economic effect to business worldwide would be .. big.  And noisy.

  431. Michael says:

    This is great.

    This makes me even more determined to spread the IE(7) love.

    Hope you guys make IE8 really outstanding.

  432. Sander Aarts says:

    @amazed

    "It’s just a fricking META tag, what is the big deal?"

    It’s not so much the meta tag, the big deal is the implementation of the switch, making IE7 mode the default. The current release of the visiting IE should be the default.

    "Let’s think about this just a teensy weensy bit."

    Let’s do so. As you already seem to have done just that maybe you could read my previous post in the mean time.

    "If MS were to switch to the new rendering engine (i’m assuming it’s new) by default, millions of web sites would break.  Now if you hate MS, well then hurrah.  The economic effect to business worldwide would be .. big.  And noisy."

    The answer to al that noise would be MS saying: "listen, we came up with a very simple solution… just add this tiny little meta tag in the header of your broken files and everything will be just fine".

    And that would be the end of the "broken web" problem. Even when new IE version are released. With the IE7 default the broken part will never be fixed, but the correct part will have to prove till the end of times that they are not broken. Guilty untill proven innocent so to speak.

  433. Gary Jones says:

    With all these switches, targeting, flags, hacks, conditional comments, browser-sniffing and so on, everyone (all browser creators) are looking at the problem the wrong way.

    We need to break the browsers down in to the front-end and the rendering engine. The front-end would generally be downloaded once, while the rendering engine could be downloaded when needed – a bit like AV software with their core program and definition files.

    The current IE7 for XPSP2 download is about 14MB. Even if the engine amounted to 10MB of this, that isn’t a huge download to update every 3 – 12 months. In that time, the engine could be updated to include support for previously unsupported code, and also fix bugs. That way we have a continuously updated program with no need for versioning – nobody is forced to download the latest front-end, but the engine should be (or at least strongly recommended), with the users knowledge or optionally silently.

    Going one step further, you could even get multiple browser companies to work together to create that single engine, even if they then implement different front ends (and not just by skinning). It’s a radical thought, but far better than the meta tag solution proposed, which doesn’t *actually* solve the problem of there always being different versions.

    As harsh as it may be (although I can MS’s POV), I, as a /user/ and developer, do think that it’s time to stop the backwards compatibility somewhat, for the reasoning as above, and also to stop the engines of IE9, IE10 and beyond including all the buggy implementation of it’s previous incarnations.

  434. amazed says:

    @Al

    Back to you Al, what is non-standard about a META tag?

  435. 德瑞 says:

    Everyone posting here can see the headaches and horror this is going to lead to.

    It’s very clear, IE does not deserve its market share and the only way to save the web is to kill IE as quickly as possible.

    Developers, don’t use the meta tag, not even IE-edge, and don’t keep catering to IE6/7.  Encourage users to upgrade to a standards-compliant browser and install one on every friend or family members computer for them.

    IE Must Die.

  436. amazed says:

    @Gary,

    You solution does not solve anything.  Every browser vendor has backwards compatibility problems.  The seriousness of the bc problem(how many users it effects, does it break pages), drives the requirement for a web-page browser manufacturer / version directive.

  437. amazed says:

    @Sander,

    "The answer to al that noise would be MS saying: "listen, we came up with a very simple solution… just add this tiny little meta tag in the header of your broken files and everything will be just fine".

    Adding a "simple meta tag" may be simple to you, but for the majority of businesses it is not; it costs them money and their sites will be broken – damaged business – irate customers – until they do.  They will not be thanking MS for this.

  438. 德瑞 says:

    @amazed: millions of web sites around the world are not going to break in a standards compliant browser with a simple quirks mode if no DOCTYPE is specified.  And Microsoft blaming this on CSS is a lie.  The biggest issues abound in ActiveX and JScript.

    Business will not suffer, nothing is going to explode.  This "don’t break the internet" mantra is largely untrue and is just being used as an excuse.

    Millions and millions of people today use Safari, Firefox and Opera and have absolutely no issues browsing the web.

    The one area where issues would arise are on large intranets with custom web apps designed specifically for IE6.  In those cases, a stand-alone version of IE6 could be provided, or an option to switch IE8 to use IE6’s rendering engine.  The rest of the web will not have any issues.

    At worst, some very old web sites that for some reason provide a DOCTYPE but are badly broken except under IE6 might not look entirely correct, but the content will still be completely available.  Anything more advanced that today resembles something closer to Web 2.0 is already going to be largely standards compliant with exceptions built-in to handle IE.

    However, this meta tag and targeting specific rendering versions is going to cause massive headaches and issues in a number areas, not to mention we’re still completely in the dark as to what it effects (just CSS? CSS and Javascript?…).

    If Microsoft really wanted to break away from all the problems it caused with IE6’s stagnation, it would use a new user-agent code in IE8 and ignore the IE conditional comments like any other browser, as well as default to an actual standards mode based on W3C specifications and DOCTYPE, and continue to update and improve upon that engine.  For the businesses that really do need IE6 or to view old web pages, a meta tag could be added to force IE8 to render the page like IE6/7, or the user could specifically change IE8 to use an older engine if adding the meta tag wasn’t possible.

    Compliant sites all over the web would work in IE8 just like they would in Safari or Firefox or Opera, and the few exceptions where IE6/7 would be needed, they could be used.

  439. Your.Master says:

    It’s unfortunate, but I think a lot of aggravation would have been avoided if the original blog entry had mentioned both the regkey and the future doctype switching as you mentioned in http://blogs.msdn.com/cwilso/archive/2008/01/22/i-feel-happy-too.aspx#7203075.

    Slashdot, Digg, and people here are going jumping mad when they really have just about anything they could ever want.

  440. Sander Aarts says:

    @amazed

    "Adding a "simple meta tag" may be simple to you, but for the majority of businesses it is not; it costs them money and their sites will be broken – damaged business – irate customers – until they do.  They will not be thanking MS for this."

    The costs of such a thing will be very little. The problem with currently proposed behaviour is that it does NOT fix the broken web (it already is broken!). It only makes shure we will not be bothered too much by it this time. But problems with it will certainly return. Adding the switch to the broken pages will fix them. That’s what we want: fix the broken part of the web. And if all it takes is adding a meta tag to these pages then we should do it.

    It will be much much cheaper than being stuck with this problem that keeps coming up. Being stuck with a IE that even in 10 years time still has to incorporate al its previous render engines back to IE7. Being stuck to a tag that is added to new and correct pages in order fix old and broken pages.

  441. amazed says:

    @德瑞

    The majority of websites output different code (using a variety of methods) for different browsers.  

    Websites do stuff differently for IE, so they will break.

    "Millions and millions of people today use Safari, Firefox and Opera and have absolutely no issues browsing the web."

    Really?  My internet banking does not work with Opera, for example.

  442. 德瑞 says:

    @amazed: Yes, web sites treat IE differently, that’s why IE8 should adopt a new id so that web sites don’t treat it like IE.

    For the few web sites that wouldn’t be usable in a standards compliant browser, provide a stand-alone version of IE6/7.  I’m sure your bank would be standards compliant relatively quickly if IE8 was going to also be standards compliant.

  443. Brian says:

    First of all, great start with IE7.

    However, if IE8 is released with this new rendering mode, then it is simply game over for IE. It is ridiculous to expect developers to specifically opt into a proprietary Microsoft extension just to get their sites to render correctly. We develop websites as defined in standards, not for a specific implementation known as IE.

    Let those who want to target a specific IE version opt into that. Leave the rest of us out of that hack.

    I will not add your non-standard hack to any of my many sites. However, I will consider adding the following header to all pages: "If this page does not render correctly in IE8, set the following registry key…" Fix your own problems. Do not make them anyone else’s.

    Anything else is simply unacceptable. If this is not changed, then IE has no more future.

  444. Dan O says:

    This is nonsense, like nearly everyone is saying, change IE’s signature and let the developers that fail to comply with every other standards browser on earth fix their own problems.

    If a developer chooses to develop their site in such a way that it only works on IE then it’s not worth much to begin with, after all a huge percentage of users now use Non-IE browsers. we are all tired of writing something for standards browsers and turning around only to find that the page is horribly misshapen on IE and having to make huge revisions just to accommodate it.

    Sure we will still have to make some changes for IE7 or IE6 while people still use it, but that doesn’t mean we can’t look forward to a better day when IE8 has replaced them.

  445. someone says:

    1. For "Internet" and "Trusted sites" zone, do IE8 standards mode the default.

    2. For Intranet and Local Computer, keep old mode.

    3. Please ship a tool that automatically batch adds the tag to non-standards sites/pages.

    4. Please make IE8 at least on Windows 2000, if not 9x.

    If you don’t set IE8 standards mode as the default, mainstream sites today which STILL REFUSE to render properly in Opera and which work only in Firefox and IE will continue to do so. Please stop doing injustice to Opera.

  446. dg says:

    just want to ask: have ever tried to be standards compliant? What you program to do with IE8 is for me useless till your browsers are not able to render in a correct manner all, ALL, the CSS rules, just like all the other browsers do.

    I’m sure you know how many hours web designers and developers throw away to get a good result on IE.

  447. Aryix says:

    This is wrong on so many levels.

    However, when you think about it, it’s not such a big deal. So what if your compliant websites do not render properly in IE. I do not personally know a single person anymore who uses IE as their main browser. I refuse to work around IE-specific bugs. If someone can not view my sites and complains to me, I’ll happily recommend Firefox or Opera. I’ll also recommend providing feedback to Microsoft.

    Microsoft, you’re killing own market.

  448. argon says:

    Super-standard mode? how nice. Will IE8-SP1 have an Hyper-standard mode that we can enable with a different set of meta tags?

  449. Guru says:

    http://www.webstandards.org/2008/01/22/microsofts-version-targeting-proposal/

    Just to tell you all, only the idiot that wrote the Beyond Doctype article agree to this with the IE team, the other members of the WaSP didn’t know about this until they saw this crap article and certainly do not agree at all with what the retard wrote. The other members of the WaSP were NOT CONSULTED for feedback on this.

    The other browser vendors have already said they will not implement this meta-tag madness, so if IE team chooses to continue with this, they’re on their own.

  450. an3k says:

    Again, Microsoft wants to impose useless crap to the web-developer community.

    Instead of wasting brain capacity with such things make your browsers standard compliant and do it like firefox with invalid xhtml, just show an error instead of generating the site in an ugly way – the web-dev will fix his site faster than you can say "we don’t know what we do but we think everybody should use what we’ve made"!

    And if you really want to give the users a present, update IE6 and IE7 so both can show html and xhtml correctly. Many users doesn’t like IE7 or can’t use it on their windows operating system! Additionally we could call Microsoft "cutting-edge" cause they try to fix the crappy web-dev stuff!

    And here are just some informations for you in the case you missed some updates the last decades:

    - 22nd January 2008: "Working Draft HTML 5 Specification"

    - 16th February 2007: "Working Draft xHTML 1.1 Specification"

    - 26th July 2006: "Working Draft xHTML 2.0 Specification"

    - 31st May 2001: "Recommendation xHTML 1.1 Specification"

    - 26th January 2000: "Recommendation xHTML 1.0 Specification"

    - 24th December 1999: "Recommendation HTML 4.01 Specification"

    You should also think about selling Frontpage as a standalone application. If you make it 100% standard compliant (html4.01+xhtml1.0+xhtml1.1) many users want to buy it to be able to create standard websites.

  451. Luke says:

    Chris, not sure if you are able to but are you able to give us a straight answer on the percentage of the top 200 sites that work with IE7 compared with IE8? – just be interested to see the figures.

    I can see the both points of view with the path you’re looking at taking – you’re definately between a rock and hard place.

    Theres a lot of emotion about this because everyone is hoping to have a ‘cleaner’ standards compliant internet that would come about if IE forced the issue.

    To top it off you’re asking those that are standards focused to do more work *and* to add something non-standard to their pages – hmmm definately a bomb shell :)

    I guess developers are used to way things usually work too – in that the newer browser comes out and there’s work to do to fix their websites.

    I’m definately in 2 minds;  Ultimately if you did set IE8 to standards compliant by default how long would it be an issue? 6-12 months? Less probably as IE is the dominant browser.  Then long-term businesses have websites developed quicker, developers are happy and consumers are none the wiser.

    However, if forced into it lots of businesses will complain because it’s going to cost them more to sort their websites and consumers complain because the websites don’t work.  In fact the only happy ones are the 10% of developers having to do the work :0)

    Long-term it definately makes sense to force standards compliance – from my point of view it boils down to how much bashing MS is willing to take on it (if only in the short-term).

  452. rc says:

    This meta tag is a very poor idea.

    IE7 has already caused damage both to end users and developers. Users are dissatisfied because some of their favorite sites began to work incorrectly in IE7. Developers are dissatisfied because they have to perform special tricks for compatibility with at least two versions of IE.

    One more "super standard mode" will aggravate this desperate condition. Still more users and developers will be dissatisfied.

    Moreover, this is nonsense: a developer must take additional efforts (this stupid meta tag) only to make his standard conformant code render properly.

    I suspect that the IE team themselves are neither web developers nor end users; they simply don’t understand the problems of the both, and they don’t understand that they cause damage to people. And we have no way to explain this to them.

  453. Guru says:

    http://dean.edwards.name/weblog/2008/01/quotes/

    "I won’t support any more cruft added to HTML without hearing the reasons. “Don’t break the Web” is a way to befuddle us. Tell us what your real concerns are and we will try to help. We are not here to rubber-stamp the first crazy idea that you come up with."

    http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html

    "For the reasons above, and other reasons, I seriously doubt Firefox will be interested."

    http://webkit.org/blog/155/versioning-compatibility-and-standards/

    "So, in conclusion, we don’t see a great need to implement version targeting in Safari. We think maintaining multiple versions of the engine would have many downsides for us and little upside."

  454. GetAIO.com says:

    will wait release date. wish that will be soon!

  455. an3k says:

    We have a way to explain this to them! Lets found a community of web developers who block IE6 & IE7 so both cannot visit the website they made.

    For us it’s just a tiny code snippet but MS will feel it very fast. Then they can decide if they want to completely kill IE or if they want to make it standard compliant – and who tests if it is? The community of web devs!

  456. Ray McCord says:

    @ cwilso and company:

    All of these cases are for existing pages without your special META tag/HTTP header:

    — Scenario 1 —

    A page has been developed since the release of IE 6 that uses an XML processing instruction with a strict XHTML DOCTYPE to trigger quirks mode in IE 5 and 6 and standards mode for IE 7 and other modern browsers which are not affected by the XML processing instruction before the DOCTYPE.

    Workaround styles are included via the recommended conditional comments mechanism using "if lte ie 6".

    Expectation: Newer browsers will render in standards mode as IE 7 does.

    Results: IE 8 comes along and renders in quirks mode like IE 5 and 6, but without the benefit of the workarounds included via conditional comments.

    IE 8 has broken the page.

    Conclusion: Your META tag/HTTP header opt-in standards mode scheme has failed in this scenario.

    — Scenario 2 —

    A page has been developed since the release of IE 6 that uses a strict HTML or XHTML DOCTYPE and uses no quirks trigger.

    It renders in quirks mode in IE 5 and standards mode in IE 6.

    Workaround styles are included via the recommended conditional comments mechanism using "if lte ie 6".

    IE 7 comes along and renders in IE 7 standards mode and looks similar to other modern browsers.

    Expectation: Newer browsers will continue to render in standards mode. IE 7 has now reinforced this expectation.

    Results: IE 8 comes along and renders in quirks mode without the benefit of the workarounds included via conditional comments.

    IE 8 has broken the page.

    Conclusion:  Your META tag/HTTP header opt-in standards mode scheme has failed in this scenario.

    — Scenario 3 —

    A page has been developed since the release of IE 6 and prior to the release of IE 7 that uses a strict HTML or XHTML DOCTYPE.

    This page may have been generated by some authoring tool for validation purposes.

    It may, otherwise, have been authored by a developer who though IE development had stopped permanently and expected the behavior of IE in standards mode to remain that of IE 6 in perpetuity.

    The tool/developer either:

    a) uses open conditional comments like "if ie" to feed workaround styles to IE 5 and 6

    -or-

    b) just doesn’t care how it is rendered in browsers other than IE and doesn’t use any conditional comments, placing styles in the HTML STYLE tag

    -or-

    c) uses CSS hacks in a universal or targeted tylesheet to target IE 5 and 6 fixes

    …then IE 7 comes out and the page breaks.

    IE 8 is not yet out, but the page must be fixed in the interim due to the growing market share of IE 7.

    A fix is performed to the satisfaction of the author.

    Expectation: The page will continue to render similarly to that of its recently "fixed" state in future browsers.

    Results: In all cases which do not end in the page having been updated so that IE 6 and 7 render to quirks mode, IE 8 coming out breaks the page yet again.

    Conclusion: Your META tag/HTTP header opt-in standards mode scheme has failed in this scenario.

    — Scenario 4 —

    A page has been developed since the release of IE 7 that triggers IE 7 standards mode and has appropriate workarounds in place so that the page renders as desired in prior IE versions and other modern browsers.

    Expectation: Newer browsers will render in standards mode as IE 7 does.

    Results: IE 8 comes out and renders in quirks mode.

    IE 8 has broken the page.

    Conclusion: Your META tag/HTTP header opt-in standards mode scheme has failed in this scenario.

    ———–

    Please enlighten me as to how your proposed scheme actually solves anything other than that which we have already had to fix since the release of IE 7?

    It’s not like any sites that are still being maintained are just going to be sitting there broken until IE 8 comes out.

    You’re just going to break them again if they have done anything to move away from IE quirks mode.

  457. Dave Smith says:

    Aaron Gustafson on A List Apart said the meta element will be described by browser versioning:

    http-equiv="X-UA-Compatible"

    content="IE=8;FF=3;OtherUA=4"

    History tells us when browsers were released. History is referenced by date.

    Therefore the meta element should be described by date:

    http-equiv="X-UA-Compatible"

    content="2008-01-24"

    Which is easy to implement both by vendor, developer and tester.

    Plus, there are others thinking this as well:

    http://alistapart.com/comments/beyonddoctype?page=3#23

  458. dontforktheweb says:

    What when HTML5 is released? Will this "let’s fork the web with every version of IE" madness continue? Or will the IE team make the effort to get HTML5 right from day one? Leave all the "dont break the web" nonsense in the HTML4 world, and simply render HTML5 the way the standards say from day one?

    If so, that could be this idea’s one saving grace. It won’t be forever. If there is no quirks mode, no semi-standards mode, no IE8 mode, no IE8.1 mode, no slightly-more-strict mode, no nonstandard meta tags, no creative use of DOCTYPES in html5 content, I can live with this. Then we have one single, sane, (and sanctioned by W3C) way to get standards-compliant rendering. Simply advertise our content as HTML5 instead of (X)HTML 4.x.

    If you promise to do that, I’ll shut up about how terrible this idea is.

    More than anything, I just want to see an end to this. I’m sick of the onus being on us, the web developers who care about standards, to do the extra work, instead of where it belongs, with the browser vendor who, quite simply, should treat correct content correctly, even if it means incorrect content gets treated incorrectly.

    Don’t fork the web. But when you do, at least promise us that you’ll only do it a finite number of times in the future. Tell us that one day we’ll get a browser that renders our standards-compliant content the way the standards say it should look.

    And to all the other commenters, do anyone want to bet on the development costs incurred on web development projects by Microsoft’s inability to respect standards?

    Should we just send the bills to Microsoft, perhaps? (200 hours at standard consultants rate, for working around the deficiencies in Microsoft browsers on this website. Here’s my bank account, please transfer the money ASAP)

    Perhaps that would make them realize that their "don’t break the web" mantra *really* means "break new content, but preserve old content".

  459. Ian says:

    This is a shockingly bad idea.

    What do the developers that have slaved away for months on the IE8 layout engine think? Since approximately 0% of the web will contain your new meta tag when IE8 ships – their efforts have effectively been wasted.

    By making the IE8 engine opt-in you are punishing developers who code to the standards, giving the finger to everyone who has found a bug in IE7 they want fixing, and storing up problems for the future, since lower market penetration of the IE8 engine means it will take you longer to find the bugs in it.

    Think again, Microsoft.

    I have no problem with the concept of a meta tag that allows developers to target specific browsers, but the default should ALWAYS be the latest and greatest.

  460. Ray McCord says:

    Oh, I see… IE 8 doesn’t invoke quirks mode if the tag is missing.

    Silly me. It invokes the standards level of IE 7 standards mode. You just get stuck there for the rest of eternity unless you use the magic tag… for the rest.. of.. eternity.

    How… quaint.

    So much for evolving the web. I guess alpha PNGs are the end of the road. How very sad for IE.

    By the way, nice sleight of hand invoking WaSP in this, as this lie has been exposed.

    http://www.webstandards.org/2008/01/22/microsofts-version-targeting-proposal/

    You guys have been talking with some people who happen to be non-leadership members of WaSP acting as individuals — not representing the official WaSP porition on the issue.

    http://annevankesteren.nl/2008/01/ie-lock-in#comment-6376

    You have now managed to tweak off many lead members of WaSP, as well as a great many developers, and, at the same time, embarrass the heck out of A List Apart with your closed-doors shenanigans and lack of sense for not consulting the web development community at large on this issue prior to stubbornly doing, yet again, whatever the heck you or Microsoft wants… the rest of the world be damned.

    Thanks so very freaking little for making us hate our profession through your innovative torture methods.

    I look forward to watching IE market share take a nose dive the minute you release IE 8 with any such opt-in switch that effectively locks YOU into developers who effectively stop IE rendering progression at IE 7 by IGNORING your ill-conceived switch.

    If you thought your market share declined during the hiatus, JUST WAIT until every new version of IE appears to visitors to be EXACTLY THE SAME AS THE LAST (so, why bother upgrading?) compared to other browsers that just seem to make pages look better and better with each release.

    Turnabout is a BI*CH.

  461. Espero que Mark Pilgrim no se enfade conmigo, pero tengo que traducir y poner, sin m&#225;s comentarios, su maravilloso Microsoft koan: Dijo el monje: &#160; Si me entregas marcado no est&#225;ndar, lo mostrar&#233; siguiendo los est&#225;ndares. &#1

  462. ugly compromise says:

    Even in pure MS-Terrain this type of switching will create a lot of confusion.

    How do you communicate to people that conditionals are evaluated differently, depending on the meta tag setting?

    How about when the doctype conflicts with the meta tag or if there is no doctype present? Can somebody throw in a magic meta tag and make their doctype-less documents render in better-standards-mode?

    How will the interaction between conditionals and the meta tag be implemented, say – if I have a conditional comment before the meta tag – will IE have to wait for the complete HTML header before being able to evaluate conditionals? How about if the document is malformed and the header is not closed correctly at all? Having two potentially conflicting switching modes could create a plethora of parsing problems in IE. I really don’t think I would want to write that parser.

    And for the rest of the web it’s just  bad. Probably it’s best to just boycott this "feature". IE7 will have to be supported for a long time anyway, so why bother with IE8. Pages in IE will continue to behave slightly worse in some places, which is a good thing in to encourage diversity. And the more diversity there is, the less can any single player (and I mean any) successfully to push through vendor-specific segregation of core web formats.

    I understand the intention behind this and I believe that Chris really just tries to get around the complaints that would follow if people were pushed to clean up their dirty corners.

    But in my opinion any approach like this is best left aside. From the point of view of the web as a whole this approach is pretty dangerous and it’s just as absurd as the CSS switching policy that apple introduced for the iphone, because they think that they are too good to be handheld yet too special to be really satisfied with normal screen layouts.

  463. ugly compromise says:

    So basically – the best approach seems to be to ignore this option as long as possible and then, at latest after IE7 is dead, use "IE=edge" (if this approach has not already died out already at that point in time.) And if IE=edge becomes re-interpreted and tied to a specific browser release, after "too many" people have started using it, one could always specify something like "IE=100" instead.

  464. billybob says:

    Chris, if you are still reading these comments, I think it would really help if you can provide the data for your 200 sites and preferably list what the problems are with each site that will make it incompatible.

    Providing stats without the data to back them up is not right.

  465. mariusz says:

    "Adding a "simple meta tag" may be simple to you, but for the majority of businesses it is not; it costs them money and their sites will be broken – damaged business – irate customers – until they do.  They will not be thanking MS for this."

    For crying out loud, why can’t you people understand – you DON’T NEED to update existing websites with this meta tag, as they are already (I presume) working fine with IE7 (WHICH is the default mode in IE8). You only add this tag for newly-developed sites. End of story.

  466. billybob says:

    Just noticed this on the w3c public-html list.

    http://lists.w3.org/Archives/Public/public-html/2007Apr/0836.html

    From: Chris Wilson

    "IE will have opt-in compliance to the standards over the next few releases."

    Does few mean 3 in this case?  If so does that mean that by the time IE 11 ships it will render in standards mode by default?

    What is the rough release date for IE 11? – just so we can plan to celebrate.

  467. John Perkins says:

    If xslt on the browser is being used to convert xml from the server to html on the browser where is the meta tag placed?

    On the arsmc.org/documents/gatewayentry.xml site, a PI is used to convert xml to html but then another xslt is used to convert the original xml to the rendered html since the parameters on the url are used to determine the actual rendering of the page and on most browsers parameters have to be passed to xslt using javascript since xslt 1.0 in general has no option for getting the url?

    In others words, if a XMLHttpRequest on the browser is used to rerender the entire html page including the entire header and body where does the meta tag go?

  468. dunks says:

    As far as i’m concerned it’s microsoft’s responsibility to build a browser that conforms to web standards. It’s the web developers responsibility to make sure their sites are up to date. It should NOT be microsoft’s responsibility to ensure lazy web developers can continue being lazy by not updating their code. Please just give  us a browser that supports all web standards I promise the developer community will take care of the rest.

  469. Feh says:

    @AC

    It is rather easy to learn, just very time consuming, though my fellow graduates don’t agree with my stance. They seem to think it was the hardest thing they’ve ever done. I suppose if you lack the will power to actually do homework instead of get drunk and party then the course would seem hard. If you just take the time to sit down learning all this stuff is easy.

    Along with the assumption that I must know nothing about what I took the time to study, the nerve touched was watching friends go out and party when there was work to be done then fail out and have to give up on their graduation goals when I had little trouble with any class simply by being mature enough to do my course work before enjoying myself. Surely if you’re not heartless you can understand the pain of seeing a friend not achieve what they were trying for. Everyone who didn’t make it simply lacked the maturity to sit down with a book when they needed to, and the saying about needing an hour of study outside of class for every hour in class held true. 7-8 hours of class per say = 14-16 hours of work between class and home study on average. If you follow the saying it’s easy, if not you find yourself hopelessly behind in a few weeks.

  470. Sander Aarts says:

    From: Chris Wilson

    "IE will have opt-in compliance to the standards over the next few releases."

    If this quote is to be read literally, doesn’t that just mean that after these few releases the web will still be broken? Cause then IE will not fall back into IE7 mode if the switch is absent.

    Can anyone of the IE team comment on this please?

  471. Andy Tao says:

    it is pretty happy that microsoft follow  on the web standard, our site will not design two solution for compatibility.

  472. Jamie says:

    The expression, "Break the web" is like a game of Cluedo. The only problem is we all know it was IE6 with the candlestick in the study.

    Humour aside the fact is the web is already broken, but IE8 being more standards compliant out-of-the-box would go a long way towards helping fix it (and win back the trust of developers).

    Thus the best long term solution for everyone is to make standards compliant mode opt-out with a meta tag, not opt-in. Corporate intranets and the like can be fixed by allowing group policy to trigger rendering modes for trusted sites. Those sites generated with software can similarly be pushed to different rendering modes based on their generator meta tags.

    The meta tags idea could also be advantageous from a developers angle. If IE8 allowed both IE6 and 7 rendering modes as it would be an appealing alternative to virtual machines.

  473. Ben says:

    After reading the various articles (and comments) on this approach (i.e. the meta tag "switch") I really think that IE 8 should default to the latest and greatest rendering first – not the IE7 rendering engine. For sites that require IE7 or earlier, the meta tag should be used to "turn on" the IE 7 or 6 render mode. Perhaps you could include a little dialog screen that explains that the standard IE 8 mode has been switched to IE 7-6 mode so that end users will start to learn about and ask for standards-based websites. Other then that, the meta-tag "switch" is a decent solution. I am looking forward to an improved standards-based browser experience with IE 8.

  474. George Jones says:

    @slightly odd place:

    I didn’t say that having super-standards mode be the default would cause those who strictly adhere to the standards without the use of any hacks to have to go back and fix their sites.  Just the other 99% of web developers, that’s all.

    @ray mccord:

    From my reading of the article, the existing IE7 "standards mode" will still be triggered from your doctype declaration, so the change to IE8 should be transparent.  Most of your scenarios seem to be assuming that IE8 will revert to quirks mode for pages that IE7 rendered in standards mode, and I think that is not correct.  If you decide that IE8’s super-standards mode is better than what you were getting in IE7, then you can add the meta tag.  Am I wrong?

  475. Bob says:

    In the end, all you are doing with this is adding more browser-specific tags to an already convoluted area, much like previous attempts back in the early days.

    You’re also not encouraging users and tools developers to actually make use of the DOCTYPE declaration properly. If you really want to fix this, the best solution is to make your ‘standards’ mode fully compliant with W3C standards, and the people that deliver content with a broken declaration will have to fix it.

  476. Will says:

    I’d love to see this scheme applied to other industries. Maybe a car with mirrored steering, but you work in a switch that makes it work like every other car on the market that you have to flip every time you start it – because some people are used to dealing with your backwards car.

    Thanks for keeping everyone off the same page for just a little longer, guys.

  477. Mofy says:

    Instead of working on parseing things right, you want us (web designers) to reformat the variables again so that they match your form.

    This is bad programing ettiqite, you should be working on correctly interpriting standards code, not demanding the web design industry rewrite your input. It is a sign of a lazy programmer, or in this case, team of programmers.

    It has been said before but it bears repeating, "To what department of microsoft should I send the bill for the hours spent writting ie6 and ie7 only css?"

  478. Andrew says:

    It’s ok. We will ignore IE8, as we did for IE7 and assume that it’s an IE6.

    However idiots were expecting us to support 3 versions of browser?

  479. Lars Gunther says:

    My first gut reaction was to get really angry. However, now I have counted to ten and tried to read everything by Zeldman, Eric meyer and PPK in good faith. They *are* my gurus after all. And I do think Chris Wilkson is acting in good faith.

    Still, if the flow chart I am making for my students is correct (se below) there is a *fundamental* flow to the proposed switch (besides its very idea). A metatag should not be allowed to override an HTTP-header. That’s the way it is with character encoding, which also is a parsing issue.

    My flowcart is at http://gunther.ne.keryx.se/ie8-metatag.svg

    The SVG was made in a hurry and it might not render properly… My Linux FFox (2.0.10) handles it superbly, my Win-version (2.0.11) messes it up badly. Opera on Win does a descent job. Safari beta on Win does not get it.

    IE users need to go here:

    http://gunther.ne.keryx.se/ie8-metatag.png

    Corrections can be sent to gunther at keryx dot se…

  480. chall3ng3r says:

    Lots of comments here :)

    i check few and found some suggesting to "super standards" mode on by default. thats a good idea.

    but why not IE should detect the tags in the header, if page says that its using HTML Strict, then treat that page in "super standard" mode, and viseversa for other modes :)

    so, previous pages will not break, while standards following sites work as expected.

    best,

    // chall3ng3r //

  481. Montel says:

    Can you tell the folks on the MSDN site (or any other MS site that does this)

    To stop with the fullscreen overlay to install Silverlight!

    I do not want to install it, yet every day that I load the page up, it RE-PESKS me to install it.

    Set a cookie (2-3months minimum), or do it in a less intrusive way please!

  482. BoltClock says:

    I knew there was absolutely nothing to be happy or impressed about even if IE8 has become even more standards compliant than IE7. Now you want us developers to pay for such compliance with a ‘simple’ meta tag. Simple? Do you really think it’s that simple? You could as ‘simply’ make us use that meta tag for the negligible minority of old, non-compliant sites instead of the rest of the future Web.

    I don’t see a very bright future for IE8 unless you change your mind on this. Shame on you, and even more shame on a standards advocacy organization like WaSP.

    Jerks.

  483. Ray McCord says:

    @ George Jones:

    Indeed. I read the proposal again and commented several posts below about that.

    http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7220335

    @ (everyone else):

    Thing is… locking into IE 7 strict mode *ends* the evolution of rendering in IE from then on, because every client and lazy developer will use the known rendering mode of IE 7 that they will get for free by doing *nothing at all*.

    This means, going forward, sites will *only* evolve to the level technically possible in IE 7 and no further, because it would cause more to "add bells and whistles" that only work in alternative browsers with less perceived market share.

    Face it, a lot of people don’t even know there are other browsers than IE, or even that IE is something separate of Windows that has its own name. It’s just "the Internet". These people, and MS-dominated intranets that have locked into some previous version of IE, will always leave IE some measure of market share. This is especially true while IE ships as the default Windows browser, or if XP never gets replaced and we get stuck in IE 6 default baseline mode forever.

    In any event, a release version that implements this concept would mean necessarily mean standards evolution stops, since new standards weren’t implemented at the moment things froze at IE 7. HTML 5 can kiss its a** goodbye. XHTML with a proper mime-type will never see the light of day. The W3C may as well just hand over the keys to MS, since only MS can unlock the Web and standardize anything that has the chance of going mainstream. CSS 3 becomes a pipe dream. The WHAT-WG? POOF! It’s like they never existed. Can you say "The WHO-WG?" All of the work that people have put into standards like Web Applications 1.0 and Web Forms and SVG and MathML and… *all of it* — every single last thing we’ve done for almost a *decade* goes up in smoke nearly *instantly*.

    So, go ahead, swallow that pill, my friends. Enjoy the rest of your careers inside the Matrix.

    Those of us who care will not go idly into that cold night.

    Regards

  484. Kevin says:

    Okay, enough of this "Don’t Break the Web" nonsense. It’s already broken by invalid code. Use the correct version, "Don’t Fix the Web". That’s what you really mean, right?

  485. Ray McCord says:

    Response to Eric Meyer’s take on the subject:

    http://alistapart.com/comments/fromswitchestotargets?page=7#68

    STOP THE MADNESS. VOTE ON THIS AND ON ELECTION DAY.

  486. Ix says:

    As of writing this there were only 10 fewer comments here against this than there are comments cheering on the IE team for getting ACID2 to render right. This ought to be a clue to someone in the IE team that perhaps another solution is in order since this one isn’t likely to be welcomed/used/wanted/etc…

    It’s at least what I’d be doing if I worked there, as is I’m glad it’s not my job. Don’t worry though, I’m sure that you’ll come up with something better if you go back to the drawing board and try. I’ll even be willing to wait a bit to hear about it, but it should be done in the open on here once you have the basics done. All this random stuff being made behind closed doors has got to stop.

  487. Al Hartz says:

    Oh, Gods; yet another IE-specific hack to keep in mind along with the half-dozen others we’ve had. It’s like every successive version of IE has to be coded for differently if we want them all to behave the same.

    So badly-coded sites will break? Surprise! So companies with poorly-maintained sites will lose market share? Surprise! Is that any different to companies with poorly-maintained retail stores? So it would mean a lot of work for web developers until the mess is tidied away? Surprise!

    Just say it: if your coding isn’t standards-compliant, it may not render properly in IE. AND DON’T SAY WE DIDN’T WARN YOU!

    The problem with the scenario is this.

    A company’s site turns into a dog’s breakfast because all the mistakes and bugs it’s riddled with are no longer glossed over by IE. Obviously, the site’s developers never got a chance to renovate the site because the PHBs for whatever reason didn’t get the significance of Microsoft’s announcement. The developers get blamed initially (for failing to stress the importance, for writing a bad site in the first place, etc.), but they can fall back on the loud and long warnings about what was coming down (so they knew what was happening and didn’t do anything? Why not?). With the developers covered, the blame shifts to Microsoft for "breaking the web".

    Why on earth would Microsoft want that?

  488. RJ says:

    I was quite excited about IE8 being finally standards compliant following the ACID2 post, but now the excitement has gone :-(

    Honestly if you are going to have any credibilty in the community for having a standards compliant browser providing down-stream support for IE’s previous failures to comply with standards is just asking for a well deserved backlash in the press.

    As many people have said – simply develop a totally new product – abandon IE.  If you brand it as somethign new that is only standards compliant the problem goes away

  489. Dominick says:

    Before we lose our minds on what this meta tag actually does can you please explain the extent of what changes in IE8 Standards Mode.

    Will all the CSS2.1 be fixed?

    whitespace bugs?, links not accepting hierarchy styling fixed?, styling of select list options fixed? styling of legend’s in fieldset’s fixed?

    I haven’t decided if I like this meta tag or not, but what worries me is all the fuss over a tag that we still don’t know will fix!

    if setting this tag, only fixes 10% of IE’s CSS and JavaScript bugs then I don’t want it, it isn’t worth it.  If this fixes 90%+ of IE’s CSS and JavaScript bugs, then I’ll do whatever it takes to get the better rendered output!

    thanks.

  490. davidparslow says:

    Since you are rewritting the engine, make it so that you have IE6/7 and IE8 install on the computer at the same time.

    Either make super standards the default (not preferred) or by a recent doctype (I think that everyone agrees that this is better)

    On the page properties, TELL WHAT MODE YOU ARE RUNNING UNDER (not just a obscure javascript property).

    Allow via the browser to change the mode.  Allow via policies overriding the mode.

    I think most people agree that adding a proprietary IE tag is not good and is the opposite of what standards is trying to acheive.

    It would be nice if W3C would add conditional comments as part of a standard, because even with standards there are still special cases.

  491. Ray McCord says:

    OK, so, we absolutely need alternatives.

    Granted, I don’t think the onus falls on us web developers to solve this problem. But, it seems the IE team is hell bent on the one solution they have come up with to solve their quandary.

    So, unless we want this madness to be implemented, it won’t matter how much we scream bloody murder unless we come up with some alternatives for cwilso and company to at least explore and consider, to keep them occupied instead of coding. ;)

    After having pondered, I’m thinking we start with deduction based some cases. Things like if there is a strict doctype, no html-comment-before-doctype hack, and there are no conditional comments or conditional comments that target up to or at least IE 6, it is highly likely that the document ran into the IE 7 issues or encountered no issues and is fixed and meant to be rendered in a standards-compliant manner. so we go with the most standards-compliant rendering available.

    Of course, if we have conditional comments targeting IE 8 (implicitly with lt, gt, lte, or gte conditionals or major version of 8 or explicity by major version 8 and no exclusionary minor version), we can just figure it out from what mode it would be in using the existing switches and use that, since IE 8 is being addressed, meaning it is either the authors wish to remain in the same mode as its conditional sibling versions (in the case of it being an older document with foresight as to what it would want IE 8 to do) or is new and maintained and the author knows what they want done and have compensated for what they know will be IE 8’s rendering mode decision.

    The bottom line logic is that *if it is discernible* that the document is (1) being maintained, or (2) has accounted for IE versions later than 7 through a mechanism like conditional comments, or (3) would have been in standards mode in IE 7 (and so is likely to have been fixed if broken by IE 7 or else is an unmaintained page that can be allowed to degrade)… THEN we can render it to the latest standards.

    If it would be in quirks mode, it ends up in quirks mode, rendering unchanged from circa IE 5.

    If it is *not discernable*, then fall back to IE 7 strict rendering compatibility.

    Use available information to make the most logical choice, attempting for standards, but gracefully falling back in questionable scenarios.

    DO NOT BLANKET ASSUME NO PAGE WANTED TO BE STANDARDS RENDERED IN THE FIRST PLACE.

    Look for evidence that they do or do not, then act accordingly. If LOGIC dictates one way or the other, given the available evidence, THEN you go that way, otherwise erring on the side of caution – IE 7 standards rendering, but definitely not quirks unless it would not be rendered in a standards mode no matter what due to previous switching behaviors.

    Think about it and lets elaborate, refine, weigh, and evolve an alternative solution with goal of allowing the browser to distinguish, with reasonable certainty, what the author would want to happen as indicated in the page in question.

    We will obviously have many scenarios, so we need to be fairly terse in what we consider hard evidence and the logic must follow and be reasonable to deduce or safe to assume based on that evidence.

    Another avenue I’ve thought about was using media queries, since feature forking without breakage is exactly their purpose. Though, I’m not sure if that wouldn’t just be another iteration of adding something that was previously missing. Hmm.

    FEEDBACK, PEOPLE!

  492. RobDM says:

    Damn! And I had such high hopes for IE8!! Stop looking backwards and look to the future! If the past is all your interested in then scrap IE8, IE7 alltogehter and just stick with IE6. Or is Vista such a dissapointment to you all at Microsoft that the whole company is beginning to look backwards instead of forwards. Sorry I’m rather blunt, but I really was looking forward to IE8 and the future…

    if you do go ahead with this: make super standard mode default please… so we’re not locked in IE7 just for writing decent code

  493. Chris says:

    I would appreciate a little more info on what "IE 8 standards mode" actually includes! I mean, at the end of the day, if I’m able to use HTML, CSS, the DOM and JavaScript in IE 8 mode that has had all the bugs ironed out and the missing aspect of each spec implemented, then adding a single line of additional code is fine by me.

    After all, if IE 8 is up to par, then there is no issue with any site I’ve made, because, as a believe in the concept of some of the W3C Recommendation’s, I’ve already built a site that complies with these specs, which the likes of Opera and Safari can deal with, while IE’s quirks mode is also dealt with using conditional comments, so telling IE 8 to use standards mode should switch over nicely.

    Of course, if IE 8 still contains bugs and missing features, I may just stick with what I’ve got.

  494. Anonymous says:

     If it does from policy, it should default the mode which conforms to standard.Very conforming to standard, it is obligation measure as the citizen where the company which ships the product is assigned.

     When encoding the character code is changed concerning the change of mode and the compatible mode which conform to standard, it is desirable similarly, to be able to execute on occasion.In the Japanese home page, because encoding the character code is not just recognized, it is good to change encoding the character code.Unless in this case similarly, being able to indicate it is just with the mode which conforms to standard, it probably is the story if the user judges, changing to compatible mode, does again to indicate.

  495. pinoccio says:

    Just use HTML5 DOCTYPE and all gets resolved.

    John Resig of Mozilla Corp.:

    http://ejohn.org/blog/html5-doctype/

  496. David Naylor says:

    Yep, I’m going with the "HTML 5 doctype".

  497. Ray McCord says:

    WHOA, NELLY!

    HTML 5 might just come back from the future to rescue us:

    http://ejohn.org/blog/html5-doctype/

    Vigilance, though. It feels too easy. What’s the catch?

  498. Nelson says:

    I don’t get it at all… adding a metatag to new sites to tell IE8 *NOT* to behave like IE7 — who thought that one up ??

    Modifying an old/non-standard site to provide a "this is an IE7/6/5 (whatever) site" metatag for any possible IE8 browsers to use, should be the responsibility of the webmaster, and is certainly a trivial task in any dynamic technology such as ASP etc… just hook the render (or equiv) event and stuff it in there.

  499. Omar E says:

    "We realized that the model for web development was really “write to the standard, then test against and fix problems in the most popular browsers.”"

    Okay, since you know we’re writing to the standards and then using conditional comments and scripts to get around bugs in IE, why the hell do you need us to affirm that we intend the code to be standards complaint?

    "Developers of many sites had worked around many of the shortcomings or outright errors in IE6, and now expected IE7 to work just like IE6"

    If the site is important enough, developers will start targeting IE 7 and IE 6 specifically.  There isn’t any way around it since it’s the only way to fix the site so it works both in IE 7 and IE 6.  Unmaintained sites will not be fixed with the meta tag because they are already broken.

    Take my word, I refuse to add metatags to get standards functionality.  I’ll just tell my visitors to use Firefox, Opera, or Safari for Windows if they want the latest and greatest standard support.

  500. tigerhawkvok says:

    I haven’t read through all the comments yet, but it seems to me a much *smarter* meta-tag (that should never require upkeep) would be something like "<meta content=’w3c-doctype-compliant’/>".  That tag would request the current version of IE to try to render as close to the W3C specs of the doctype as possible in that version.  If you’ve put the doctype — and that tag — you better damn well know what your compliant page will look like, and the implementation should only get truer as time goes on.  It also means you don’t need IE9 to have an IE8 mode, or IE17 to have IE [7-16] modes.

  501. kaddar says:

    Please don’t do this.  The burden should not be on web developer to implement weird code to "achieve" standards.  Doctype is a reasonable standard, metatags are not.

    If you must, make IE8 have a radio button that decides if it runs in a standard (non ie7) way, have that radio button default to on.  The burden should be on the end user if it is to be on anyone.

    Argh.

  502. Mark Heath says:

    Diplo said it perfectly above.  Just read his post and take his advice.  It’s the only proper decision.

  503. zhonglv says:

    Very nice features, very good decision.

  504. temp says:

    It would be nice to have web/shell/… controls ("alternative controls"):

    - based on new rendering engine

    - having CLSID/PROGID/… different from current web browser control and its friends

    - working exclusively in "latest" rendering mode

    - ignoring any IE-specific tags

    - having agent string different from IE

    - installable side-by-side with shdocvw.dll and company ("Windows controls").

    Let "Windows controls" and Internet Explorer based on "Windows controls" continue to support existing and future modes and tags.

    In parallel, the alternative line of browsers based on "alternative controls" could start. The development of "alternative controls" and browser would be faster than IE, because backward compatibility problems absent and shell integration not required. And please, no more browser-specific tags.

  505. Galvorn says:

    Retarded. There’s only one web. Do it right by default.

  506. Baptiste says:

    Why don’t you use SuperStandards by default on all pages that are modified after some date?

    Using Quirks by default means *new* broken pages beeing written, as many people "test" their pages by running them in IE. And those are *not* the kind of people who read documentation!

  507. Tobias says:

    @cwilso Is the proposal about the conditional-comments-like syntax you mentioned publicly available? I would like to read it.

    Meanwhile I suggest some (proprietary) At-rules, e.g.,

    @-ua-supports(css1-basic, css-box-model, sibling-selector) {

    /* fancy CSS stuff here */

    }

    And to work around specific IE bugs in the future:

    @-ie-version(7, 8.0.6789, 9.0.7890) {

    /* dirty hacks here */

    }

    I’m tired of HTML workarounds supposed to fix CSS bugs. And, let’s face it, CSS hacks based upon parser quirks are plain evil.

  508. Shakey says:

    I find this ridiculous on a number of levels.

    Firstly, as many people have said here, it’s only IE that is the problem on the web and this is yet another hoop we have to jump through because Micro$haft are still trying to convert everything over to their technologies.

    Face it Microsoft, it is the very userbase you are trying to protect that you are hurting by this move: our sites will never be as functional as they could be because your browser simply does not do its job correctly (discussions about inherent vulnerabilities and security are not for this topic).

    You can’t use the "we don’t want to break the web" argument because IE’s very existence has already broken the web. Period.

    If you really don’t want to "break the web" then build IE8 to be fully standards compliant by default. Then, if you really want to support a quirks mode what about doing a markup validation check on every page (I’m sure W3C will let you have their validation parsers so you don’t mess up things again trying to write your own—you obviously can’t do it right anyway) and if that validation fails enable quirks mode and pander to the broken pages. You’re already clogging up page viewing anyway with IE7’s phishing filter anyway, so a quick markup validation isn’t going to slow things up any more.

    However, what annoys me is the core argument that "we must support old pages" when the same company forces its new browsers on its userbase anyway.

    IE6 and IE7 were flagged as essential updates on Microsoft Update, so if you don’t know how to change the options (like most of my family) IE7 came down automatically as part of their routine Windows XP update. The result? The average Windows XP user was automatically upgraded to IE7. IE6 was similarly marked as essential for Windows 2000.

    Surely the same thing will happen with IE8: if the average user who you are trying to protect will automatically receive IE8 anyway, why is there any need to support anything that came before? Advanced users who can turn off IE from Automatic Updates rarely use IE anway.

    Ha! Rumbled.

    You don’t support Windows 9x or ME any more, so they’re stuck with IE5. Windows 2000 support I’m sure will be ending soon and they’re stuck at IE6.

    Face it Microsoft, your real motivations have been revealed: you don’t care about standards compliance, you never have and you never will because it’s not a MICROSOFT technology. You’re trying again to tie everybody in to your way of thinking because spurred on by Firefox kicking your ass and taking your browser share away.

    Stop lying to developers, users and yourselves.

    If you want your market share back support standards, streamline the entire application so it’s not so damn slow and unstable, remove it from shell integration so you increase the security of your entire OS package and really push this thing as a super-slick Firefox killer. Obviously there is a market for competing standards-compliance browsers, otherwise why else would Apple ship Safari for Windows?

    Wake up, it’s 2008. As the web increases in importance, it is entirely within the power of we web developers to steer OUR users, not yours, away from your browser. It’s about time YOU supported us Microsoft, and if you won’t listen to us at this stage to make IE worthwhile we’ll just have to exercise our control and power to keep people away from IE instead.

  509. billybob says:

    @droid – Is that you Steve?  Stop annoying the developers, developers, developers…

  510. Iminay says:

    Thank you, thank you for pointing out that in the end, its not YOUR fault that your previous browsers rendered our standards compliant pages in an incorrect fashion. And thank you for pointing the finger at us pesky web developers, who had to hack and slash our way through your maze of rendering errors using hacks and tweaks to get our pages to show correctly in your browsers. The nerve we had, to try and stick with IE, Instead of all saying, whatever, let the page render incorrect in an inferior browser.

    Learn from the Netscape 5.0 team. Scrap IE8, and start over, and maybee, maybee you will end up with something as beautifull and complient as firefox.

  511. looking at the number of comments that are here already, i doubt this will ever get read…but nonetheless…

    in the ALA article, aaron states:

    “We could specify the version of the languages we use, such as CSS 2.1 or JavaScript 1.5. Unfortunately, browser vendors often implement only part of a spec and the interpretation of a specification often differs from browser to browser, so any two contemporary browsers may offer completely different renderings of the same CSS or may trigger completely different events from the same form control.”

    well, how’s this: what if we were to version the languages, and carry on doing EXACTLY what we’re already doing to accommodate for differences in browsers, i.e. use conditional comments and possibly a tiny amount of hacks/javascript-based sniffing (capability sniffing and/or browser sniffing)?

    personally, my gut feeling here would be that this is more “right” – you’re defining which W3C spec you’re assuming for the page to work, and make slight accommodations where you know for a fact that a specific browser hasn’t implemented it right. it’s specifying the capabilities expected of a browser, rather than the exact browser and version number that the page assumes.

    old legacy/intranet sites can stay as they are (without the versioning), and then it can be assumed they’re using the current JS spec and CSS 2.1. that would be the frozen bit: if you don’t version, this is the assumed spec. IE can then do whatever it likes when it comes across those pages…kick in a separate IE7 rendered / JS engine or whatever.

    yes, developers would have to modify their code to add versioning, even to their existing sites. but this feels descriptive (similar to doctypes, it’s something you add to your page to explicitly describe what it IS, not what it should do…a subtle, yet fundamental difference in my eyes).

    so…somebody explain to me again why this wouldn’t be far more desirable? am i missing something?

  512. Blake says:

    For the future of the web, please reconsider! Do you really want web developers to have to worry about browser compatibility for another decade? You have a real chance here to move us into a new era where web sites are written for standards, not browsers (which is how it was always supposed to be). Don’t throw away that opportunity. Future web developers will either thank you or revile you. Which do you want?

  513. every else browser 0wns you says:

    drop that crazy meta thing are you nuts?. i prefer that yoyu break teh web and everyone begin to make it standart complaint and if anyone wasnts to  make it looks good in IE 6 /7 use conditional tags. i don’t see any powerfull reason to keep separtated the 3 web engines

  514. Cecil Ward says:

    @cwilso

    I think this is an excellent suggestion, but I’d like to ask MS to rethink the details of the syntactic implementation slightly before this goes further.

    I’m suggesting that either the meta ‘label’ or the tokens used in its value need to be ‘namespaced’.

    Q1) X-UA-Compatible itself: Is there a move to standardise this header name? If not then it should be renamed to X-Microsoft-UA-Compatible as Microsoft ‘own’ and define the syntax of its permitted values. (Other mfrs might want to implement X-UA-Vastco too.)

    Q2) If you go down the route that leads us to having a single X-UA-Compatible header name potentially used by multiple browser mfrs, as opposed to a world of X-Apple-UA-Compatible X-Opera-UA-Compatible etc etc, side by side, then the tokens in the value string should be NAMESPACED. For example, FF=Firefox, who owns this hacky set of enumerated values and which manufacturer owns/defines the token value FF?

    The following would be legal under this proposal:

    either

    (a) X-UA-Compatible="Microsoft:IE=8;Mozilla:FF=3"

    or

    (b1) X-Microsoft-UA-Compatible="IE=8"

        X-Mozilla-UA-Compatible="FF=3"

    or could simplify the rhs if desired

    (b2) X-Microsoft-UA-Compatible="8"

        X-Mozilla-Firefox-UA-Compatible="3"

    I don’t want these suggestions taken tooo literally. You can improve on these, I’m sure.

    Make sense? Thoughts?

  515. George Jones says:

    @Baptiste

    >> Why don’t you use SuperStandards by default on all pages that are modified after some date?

    Web applications.  They produce absolutely "fresh" content for every request, but the code that produces the page might be a dinosaur.

  516. Want a standard IE8 says:

    What a stupid idea!! Make the IE8 fully standard compliant by default, with the option to render crappy stuff by changing browser settings – not by adding meta tags. Otherwise, lets hope EU (court) forces you into doing it right.

  517. Mononofu says:

    Please, don’t implement this.

    Today, where we have almost standard compliancy thanks to FireFox, Opera, Konqueror and others even IE 7 had to adopt to them.

    So don’t start all the "browser hacks" and JavaScript switches again by adding such a crappy feature.

    Why? Well, if you can change the websites to add this tag, you can also change them to valid HTML.

  518. Oceansoul says:

    Wow droid, how’s it feel to be an MS employee too embarrassed to actually post here using your real name.

    How about an example of this supposedly standard code that Firefox chokes and dies horribly on? How about proof that not only FF dies on it but IE somehow handles it better? Given IE still fails basic CSS2 things from 10 years ago I really doubt you can show anything, so sit down, and get back to work fixing your browser. If you aren’t part of the IE team do everything you can to help them anyway you can. I’m sure they need it right about now.

    Whatever you do, don’t ever bother to come back here with your profane trolling cap on, it’s not welcome.

  519. ant says:

    I agree with what someone said up near the top – dump the UA string you’re using now. I can’t imagine how much bandwidth would be saved if everyone stopped stuffing the word Mozilla into the browser identifier (never mind all the .Net cruft).

    (didn’t attempt to read all the comments because I can’t – firefox 3 chokes rendering the background :)

  520. Josh Monroe says:

    Obviously since web devs are expected to support IE7 for a while after the IE8 release, I would like to see a patch for IE 6+7 that alerts users that a page is using the new standards mode and that they should download IE8.

    If we still need to support IE 7 for a while, everyone will just tell IE8 to use IE7 rendering mode and the pages go nowhere.

  521. dmose says:

    Please reconsider this meta tag.

    Just ship IE8 fully standard out of the box.  

  522. Pheonix says:

    For the love of God, just release a browser that is standards compliant by default, and use your dominance to do something good for a change. You are (currently) in a position where you can finally get web standards solidified, but once again the ugly "must rule the world" M$ head is starting to show.

    Microsoft have screwed up big time when it comes to the internet, and one way or another you are going to have to pay the price for that. You will either need to bite the bullet and release a browser that is standards compliant by default, or IE will keep heading in the same direction as Netscape.

    The popularity of Firefox and other non-IE browsers has come about because the web wants to be standards compliant. Microsoft need to wake up, they aren’t in control anymore, website developers and end-users are.

  523. Can +~ says:

    a) Make old web pages have the meta tag for IE-6/7 compatibility. And leave the new standard compliant pages alone.

    b) Make standards mode on out of the box.

    Or, just trash the damned IE and use the gecko engine.

  524. I agree with that I think the consensus (at least on this blog post) – that the meta tag should cause an opt-out of standards mode, not an opt-in. I think allowing users to switch the compatibility mode manually would help alleviate problems with broken sites that go un-repaired. Maybe you could identify patterns associated with the "IE workarounds" in the broken sites and prompt users with the information bar that a site might look better with a previous rendering engine. I know that would be a lot of work, but it would be pretty much the best of all worlds.

  525. Frank DeBunni says:

    This is just as backwards and ineffectual as the previous efforts.  There is, as some pointed at, plenty of fanfare and time prior to a new IE.  This is time for concerned web users and masters to test the browser on various sites and give feedback.  If some popular site only renders properly in IE5 (for god’s sake, I can’t think of a single one), create a mechanism whereby tester feedback actually can be directed to the site master and helpful instructions can be given so that they can update the site.  Let them in on the Beta.  If IE8 comes in with standards compliant behavior, that only means that it will be more like mozilla and webkit, which means only sites that have issues with those will have issues with it.  Besides the profile editor on Myspace, who are we kidding with this?

    In fact, just USE an existing rendering engine.  Write an interface and add modules as necessary, but use Gecko or Webkit as the basis, and then apply the changes over it.  This is allowed and encouraged, free, and instantly brings IE into modern web compliance.

    Think about the popular API’s right now for web development.  They are javascript, they are cross platform, and most of the code is busy trying to weasel around the many issues in IE’s implementation.  For IE 8 properly implemented, these API’s could use the same calls as standards compliant browsers, while the existing conditional catch earlier versions.  Most important sites out there have already migrated to these APIs.  Just get IE right, give warning, create a little pre-release community to help spearhead getting the cave-dwelling site masters into this century, and you’ll have enough cred on release to help mitigate the infamy of Vista.

    It will convey the idea that someone at Microsoft knows what they are doing.

  526. jeanph01 says:

    @cwilso : You’re courageous to expose your architecture strategies openly. I don’t think your shooting yourself in the foot for the years to come though.

    For my part I would prefer a lot that IE try to conform to standards by default and that this behavior be expected for the versions to come.

    Microsoft goal is to make the usage of IE8 the least painful for the end user. I’m OK with that. Everybody is. But what is a fix in the short term will be a bad decision in the long term. And the end user will pay for it then.

    You have genius guys of UI design in your team. Someone could come up with a fine idea to switch rendering engines without generating fear for the end user.

  527. Stephanie says:

    I’m not sure what I think of the idea as a whole but the idea that sites not using the tag will be automatically rendered in IE7 is definitely problematic in my mind.

    Have you considered building in some kind of doctype check as well?  Sites not using the meta tag but using HTML5 or XHTML2 could probably be safely treated as desiring the edge treatment and maybe also sites using strict doc-types?

    Also, the idea of identifying IE8 as a new browser rather than IE is one that seems to have merit to me (http://alistapart.com/comments/beyonddoctype?page=6#59).    Is there a response to this idea somewhere on the web that I could read?

    Thanks for all your hard work.  This is definitely a problem that needs solving.

  528. Microsoft has announced, that the upcoming release of Internet Explorer will render standard-compliant web pages in a non-standard way. Standard-compliant rendering requires a non-standard page tag. Huh? welcome to the mirror palace! If you get t

  529. Peter says:

    Guys,

    I need to see some statistics. How many sites that were designed for IE7 would break if IE8 came with "closer to standards mode" by default? Give me some numbers! Old sites that were designed for IE6 should stay in quirks mode. We’re only talking about sites updated for IE7 that could potentially break for IE8, right? I need to see some numbers so that I can come to the same conclusion. It’s very easy to come up with arguments such as "it will break non-profit sites" that don’t have the money to update them. OK, how many are there? Are we talking about 10%, 5%, or 1%?! Now look at it from the other side. How much headache are you going to cause to web developers that need to increase the complexity of their site now and in the future? How much more is this move going to cost current and future developments? I trust you guys analyzed the market before making this decision and didn’t just follow your instincts? So, what ARE the numbers?!

    Thank you.

  530. dimitris says:

    Off Topic but WHY IS THERE NO RIGHT CLICK SEARCH FEATURE ON IE7? Come on guys, it should be a snap for you to implement. I know MANY people who are hooked on firefox just because they can right click and search google. This is ABSOLUTELY STUPID to not have as a default feature in internet explorer. WAKE UP!

  531. IE8は新しく搭載するレンダリングモードを非デフォルト扱いにするそうです。 IE6とか用に作ったコン…

  532. Ray McCord says:

    The DOCTYPE was more of a “natural opt-in” than the current proposal. It didn’t feel like an opt-in because the split between pages written to quirks and pages written to standards fell (more or less) dead on the line of who used a compliant DOCTYPE and who didn’t. So, opt-in was essentially what happened last time with DOCTYPE switching and so that is the approach this time around — to keep those millions of old documents that already work in quirkier versions of IE working in newer versions of IE without changes representing phenomenal expense.

    So, Microsoft *WILL NOT* break any pages that currently work with any version of IE to date and *WILL NOT* require them to be edited to accommodate moving forward with more complete standards compliance.

    This means IE *MUST* be able to tell which standards mode a document wants, and can’t use just the DOCTYPE to do it, because it’s already been screwed up with IE 6. That means a switch must be located in the document (like a META tag or a conditional comment) or must be linked to the document (like HTTP headers, external stylesheets, scripts, images, or other object).

    The short of it is, if we can’t find some other way to signal that distinction in a more granular manner than a blanket opt-in/opt-out trigger, web standards takes a big blow and proprietary IE rendering gets a big shot in the arm — as IE 7 standards mode rendering becomes the default for all documents that don’t have some trigger in them that send IE 8 and above into another mode.

    MS can’t change the user agent string, because too much code uses that to determine the DOM and/or generate the actual page and/or style rules embedded in the page and/or determine the availability of the IE feature set (ActiveX, VRML, COM interface, expressions, VBScript, and more). If they change the UA string, they break IE-specific pages. This would devastate their intranet market and MS *WON’T* do that, as it has a honking load of back-office, front-office, server-room, and middleware market share depending on IE for web integration.

    MS can’t just kill the existing bug-based style hooks because of open conditional comments like “if IE” from back in the day when, if you targeted styles at IE 5, you knew it was quirks mode regardless of DOCTYPE, so if the DOCTYPE was valid, you assume IE 6 standards mode and bug-fix accordingly. This logic assumed there would be no more IE versions after 6 or that things like Chris Wilson mentioned (about boxes overflowing against standards) would not be fixed in future “standards mode”, because that is “just how IE does it”.

    If that whole thing about assuming “there would be no more IE versions after 6″ sounds naive, recall that MS announced no further development on IE after 6 came out. The IE development team was disbanded. People thought ’standards mode” in IE would forever be the broken implementation that was in IE 6. People coded to this assumption and a heck of a lot of pages got made in the interim between that announcement and MS announcing the IE team was getting back together to make another version.

    The damage had already been done. So, we have code that assumed standards mode would always be the errant behavior of IE 6. Regrettably, the differences between IE 6 standards mode and the following IE versions will become more and more divergent. Unmaintained pages will become more and more broken over time and less and less usable.

    Another unfortunate factor is that, since IE 7 is already out without any new switching mechanism, nothing can be done about what IE 7 broke of the unmaintained pages out there. However, more pages will become unmaintained during the life cycle of IE 7. This makes for changes to standards mode behavior in IE 8 even more of a problem. With damage to maintained pages that broke with IE 7 getting fixed, the only logical fall-back point for the current “standards mode” is the interpretation as it is now in IE 7. This limits the damage to what has already occurred.

    So, the question becomes this: Is there any way current and future pages can be distinguished from pages made for IE 6 or 7 standards mode?

    I think it is safe to assume people will apply different styles for IE 8 than IE 7, using either conditional comments or some new mechanism available in IE 8 and up. That should be looked at as a more granular switching mechanism than an explicit opt-in mechanism.

    I think media queries are a promising option to look into for signaling IE 8 to use the latest standards mode. If once could query the UA string for MSIE or see if “conditional comments” are implemented, or some such, and since only IE 8 and up would know about media queries… you know to switch on maximum standards-compliance mode. Such a mechanism could possibly be used in conjunction with conditional comments to bury this in an IE-only stylesheet.

    That, or maybe just an evidence-based decision tree that errs on the side of IE 7 rendering unless there is evidence of explicit compensation for IE 8 (using an explicit major version number of 8 in an inclusively matching conditional comment) or something like that.

    So, let us ask ourselves “can we get around the problem using what is already available with current or soon-to-be standards?”

    HTML 5 DOCTYPE may help or may not. Depending on if we end up with fallout from using it as a switching mechanism too soon, we may end up with yet another breaking point or we may end up constraining HTML 5 development to limiting factors of widespread premature deployment issues.

    Media queries are already implemented, at least in part, in some major browsers, and so are likely to remain viable and part of some future standard even if CSS-3 never makes it out the door (which we have absolutely no reason to think will occur).

    Conditional comments are already implemented in IE since version 5, with the commitment to their longevity. So, there is that as a potential part of a solution.

    Let’s just all put out heads together and see what else we can come up with that is more palatable than version targeting and markup-based switching. I’d like to see visual rendering issues kept separate of structural changes, if possible. It is a presentation issue, after all.

    Regards.

  533. re-tooling says:

    @cwilso

    You indicate that half of the top 200 US websites are running in standards mode, but that half of those are generated using some sort of tool?

    a.) This scares the heck out of me, no tool on the market today should be making high-traffic sites.

    b.) What tools are used?  Should we not get in touch with the tool makers to get them to fix their generators?

    c.) Which "top 200" list were you using? Please tell me it was NOTHING to do with Alexa’s spyware statistics.

    Finally I think that the "update" to standards mode for a lot of these sites, needs to be validated as a good move.  In IE7, there were only a few gains by being in standards vs. quirks.  If IE8 ships with CSS2.1 fixed, and some CSS3 you will see people updating like crazy, because there will be a reason for them to.

  534. Matt says:

    Can you please make the IE8 UI not as god awful ugly as IE7?

    (I know you’re going to think this is just some random evil off-topic comment, but seriously.)

    Cheers,

    me.

  535. Ittiointerprete says:

    I think the better solution is to is Super Standard always on and the possibility to manage a custom list of site that need different compatibility mode.

    So if a particular site has a wrong behavior, you just add for example "www.oldsite.com" to that list with compatibility mode IE6.

    Standard should be standard

    non-standard should be an exception.

  536. F. Piat says:

    As a Web Vet (I have seen IE 2 – could you imagine) I’m really happy to see that we are now back to 1998.

    And you know what, this time the browser war is between IE and … IE.

    Welcome to ThunderDOM (do you remember Mad Max little boys), and please, please, please break the Web, you prove he is too IE centric to be able to evolve.

    Happy new war!

  537. Chris says:

    @re-tooling -

    I would expect many a site in this category are based on internally built tools and templates, that do a lot more than just generate the HTML / CSS output, either by the company themselves (who don’t want to do it again), or a third party (who would probably charge a new development fee).

  538. 德瑞 says:

    I’m torn on this whole issue.

    I can’t decide if this is really evil, or just plain stupid.

  539. D9 says:

    F*** you’re lame! Not only do have still need sites written for browsers supporting their own versions of HTML, now we have to add extra work for yet ANOTHER browser. You are really doing great!

  540. Benoit says:

    Bad idea, really. People develop websites for the world, not for a browser.

  541. Erland Flaten says:

    wilson: – “Quirks mode” remains the same, and compatible with current content.

    me: ok

    wilson: – “Standards mode” remains the same as IE7, and compatible with current content.

    me: not ok. I want standards mode to be displayed as much standard as possible.

    wilson: – If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.

    me: I dont want to target browsers.  It will be code as bad as with sound and video. I understand why you do this, but it is wrong in the long term. When eg Sweden changed to right hand driving, all had to follow. Just let the pages brake mr. Wilson.

  542. D9 says:

    Whoops… a little misspelling.

    Webdesigners had to tweak their code and make some hacks (The CSS-* hack for example) to make sites work after the standards and IE. If we want to make sites work in IE8 we need to add a meta tag?!

    How about you start following the rules and people still doing IE6-(and before)-only will eventually follow. Imagine how the internet will look, if everybody build their sites after W3C.

  543. dlexc says:

    Chris,

    If we do have to have an opt-in switch can we just insure it only  controls changes that have the potential to break existing sites. One of the best things I think you could do would be to implement dom levels 1 and 2 as per the specs. All/almost all of that could be done just by adding new apis and deprecating old ones, with no danger at all of breaking old sites. The same is true with css2 features that aren’t presently supported in any fashion (like css table support).

    That would make this a far less bitter pill to swallow.

  544. Backward compatibility is an excellent goal. I believe the default behavior for any browser going forward, reading standards-compliant html and css files, is to render the page in standards mode.

    Please make sure that targeting for previous, non-standards-compliant browsers is the meta tag, not the other way around.

  545. Alan says:

    So, in other words, IE8 will not pass Acid2.

    In fact, in regards to standards, it will a grand total of zero bug fixes when compared to IE7. The reason being that it will default to IE7 rendering, even though it is *theoretically* capable of doing better. Why even bother?

  546. Bill M. says:

    I also posted on Chris Wilsons blog comments:

    Was thinking about this as it relates to intranet sites and I propose the following method which may alleviate usage of the tag for normal Internet websites (I.e. those not in a business/intranet setting).

    Render in either quirks/standard based on the security zone of the site. If the site is an Intranet zone (Possibly Trusted Zone) site, then run in quirks mode to maintain backwards compat with older intranet apps regardless of the DocType setting of the Intranet app. Only if the proposed meta is present will IE not render intranet site in quirks mode. This does two things, ensures backwards compat with older sites and allows those building sites based on standards to ensure their site is viewed properly.

    Another option is to give businesses a local policy/GPO option for the new IE that SA’s can set on their clients to determine how the IE engine of that workstations will react depending on the security zone of the site IE is working with.

    Sites in the Internet zone will use Doctype only, rendering the most standards based when the standards DocType is used.

    Website owners can use Doctype for quirks mode… Sites using standards mode that really need quirks mode (site was built when what is now quirks was the IE standard) realistically should not affect my mom, as another site with similar content is just another click away.

    Those sites using standards mode, but really meaning today’s "Quirks" mode will likely not have updated enough content to keep me, or my mom, interested enough for very long.

    Just as MS will announce the end of support to a particular product because it becomes inferior, or the FCC says analog is going away on x/x/x, Microsoft has to come out and set a dead-line that all of the web sites stuck in the past have to get up to standard or they will no longer be supported.

    For example, give a 3 year window… something. You have to do this (eventually) or we will all be stuck in legacy hell forever.

    I appreciate your time and look forward to seeing what you will end up finally taking place. Good luck and take it easy! :)

    -Bill M

  547. @ gordon

    I don’t think it’s a perfect idea, just a good idea. I’d prefer not to have to do anything to opt in but if it means a severe improvement in CSS and JavaScript who I am to complain of a simple meta element? I do a lot of reading and try to understand people’s point of view and frankly if I can at least agree partially I think I may have achieved that. I would imagine my suggestion of going by doctype versions was rejected because some people may have written XHTML 1.1 pages (served as text/html even) for IE 6.0 or even earlier for example.

    Because I have a very clean and easy to work with serverside templating system I’ve built myself it shouldn’t be an issue to insert a meta element in to a single file for the whole site to opt in to standards. IE 6.0 is the Netscape 4 of our day currently. Remember when we all complained about dealing with Netscape 4? I can at least throw some conditional comments to fix almost all CSS errors in IE 5.0+ (and a second stylesheet for IE 4 even) but you just can’t do anything half decent with Netscape 4.

    I approve of the slow trickle of news coming from the IE team on one condition: IE8 will be much bigger then any one has any clue it could be. Here’s hoping it is because in a few years the only opting-in anyone should be doing is email related.

  548. Nikola says:

    Chris, is IE10 going to include IE6 rendering mode, (a) yes (b) no?

    (a) How many steps backward are you planning to support? Is any IE ever gonna make it out of this madness?

    (b) How do you plan to ensure a high adoption rate of the new IE10?

    And also:

    (c) How do you <em>personally</em>, not microsoftish, feel about the web in 2 or 3 years?

  549. Joe Lewis says:

    May I humbly recommend a more rational approach? Make standards mode work without the meta tag, for the current and future efforts towards developing with web standards, and give the backwards compatibility hack as an option to the legacy sites, should they care to use it. This has been mentioned in earlier comments – I just want to affirm this idea.

  550. @Joe Lewis: If they did that, than ALL content designed to hack the older IE versions would break. Including content that can’t be edited (eg: CDs, DVDs).

    Other content like older web applications where the company no longer exists, is also an issue.

    The best solution is to simply add a standards tag to all future websites.

    We’ll probably see this go away in future IE versions, but since all previous IE versions aren’t standards complaint, it would be naive to force all old sites to update.

  551. Nick says:

    IE8 should default to IE8’s rendering engine. Very easy to understand from a web developers point of view and even their bosses. If the boss says there’s no budget to fix the site for IE8, then a developer simply has to insert a meta tag to target IE7.

  552. Nobody says:

    Ignore conditional comments, change User-Agent string raddicaly, remove document.all (similar "improvements" too) and delete IE6- and IE7- compatibile modes. IE8 will be recognized as a new, standards-enabled browser. No more problems for web developers.

    Include OpenDocument Format in Office and then Microsoft will be OK, if it will not use its monopoly position again.

  553. Jan-Joost says:

    Actually I don’t care about compatibility. I just use IE as a end-user. So what happens under the hood I (like hundreds of millions)  don’t care. But how about  new features? Can we expect a  post soon?

  554. Chris says:

    A "X-UA-Compliant" meta tag brings us back 10 years ago, when web sites were "optimized for" Internet Explorer or Netscape. Therefore I say : no!

    I would suggest that rendering engine takes into consideration if "tricks" used by web developers are present or not, to detect the versions of IE the page deals with:

    - conditional comments

    - CSS hacks for IE 5.0/5.5/6/7 (* html, *:first-child+html, voice-family etc.)

    With a good Doctype, the new rendering engine for IE8 should ignore the previous versions CSS hacks mentioned above, and if you’re really standards compliant, the webpage should look like its version on Firefox, Safari or Opera.

    For the crappy webpages designed 10 years ago (no doctype, HTML tags incorrectly nested), how about embedding MSHTML engine of IE6 and render the page with it, plus an alert somewhere to the user "This website has been designed for an old version of Internet Explorer".

    Have you guys at MS ever tried to estimate the amount of man/days wasted all around the world by web developers, in order to find workarounds for their webpage to work with IE versions? I hope Windows Calc has enough digits for the result!

  555. Patrick says:

    Please make IE8 standards compliant by default.

  556. gabe says:

    this is bad now Microsoft will end up having to support 3 4 5 render modes in next few years

    this will add to the size of the ie codebase and make up many new security bugs

    it will be like having all the secuity bugs of ie7 rendering engine plus quirks mode plus the new ie8 rendering engine

    it would be better if you just brake the web and do away with this new super standards mode

    in the long run this will probably be viewed as the worse security move ms has made even worse then ms blaster was

  557. Anonymous web developer says:

    Good news, but I hope actions will follow to the talking :)

  558. Steven Roussey says:

    Well, at least you could make it such that the newest browser engine is invoked when there is a newer doctype, say for HTML 5…

  559. Tod S. says:

    Chris Wilson,

    It is with great regret to inform you, but you have now become the bearer of the worst global news in a decade. The upside is the IE is not used off-planet yet, so it’s not the worst [inter-]galactic news.

    The web is broken. However, increased standards compliance with various browsers (including IE!) and websites has been slowly fixing that. By essentially freezing webpage rendering at IE7, you will hamper future attempts at fixing the problem. This hack that you propose will only break the web further.

    "Freezing" means that the vast majority of developers are not going to implement this Microsoft proprietary metatag. Web developers attempt to target standards, not individual browsers. On the rare need to target a specific browser, there are already sufficient means to do that. So for people who really want to target IE7, let them explicitly target IE7. Don’t make everyone else target IE7 implicitly.

    AS long as my standard-compliant webpages render correctly, I do not care which browsers my clients use. However, if IE8 is released with this ridiculous behavior enabled, I and my company will put our full resources into promoting other browsers.

    Stop the evil, and just do the right thing. There are more than 500 messages above essentially telling you the same thing. Just fix this.

  560. Rowan says:

    IE8 will be known as the browser that never was, because by the time people can start taking advantage of its standards support, the next version of IE would have replaced it. By that time the meta tag will be forgotten and will likely never be used. It will be replaced with <!DOCTYPE html>.

  561. Gestern stand es im IE Blog zu lesen:Internet Explorer 8 wird nicht einen, nicht 2 sondern drei Rendermodi besitzen:Quirks ModeStandards Mode&ldquo;Super&rdquo; Standards modeDer quirks Mode soll das Verhalten von IE6 beibehalten, und so f&uuml;r Abw&aum

  562. hary_richter says:

    Somehow I lack the understanding, why the proposed META-tag shold be so "evil". Any new content will be rendered with the IE8-mode, if the <DOCTYPE html> is given (C. Wilson: Of course, for content that is developed to a later standard that isn’t deployed yet, you can expect different things).

    The beauty of the META-tag solution is, that if deployed via server, it gives an easy solution for content, that is already out there, that requires more standarts compliance that IE7 is abe to provide. Basically its a oneliner in the server config, and you get all you want from IE8. Is that so much of a feat?

    MS has admitted, that their browsers so far are sorely lacking, but what is done cant be changed now. The META-tag solution is a short term (3-5 years) solution, until IE6 and 7, and older versions of the content generating tools (e.g.: Adobe GoLive) have died out, or become irrelevant, and HTML5 is the only way to go.

    If developers start now to use the <DOCTYPE html> you can trigger IE8 mode, just as the majority of the posters here have asked for.

    Reading through the 500+ comments, I think that at least a large portion of the posters have not read c.wilsons article completely, or have failed to think the consequences through. Might be a good time to do so!

    Cheers

    harry

  563. fr says:

    For the sake of not upsetting some badly coded big websites you will be preventing IE users from getting the best standards rendering on a huge number of websites.  It is highly likely that the majority of websites will NOT implement your meta tag, either because they don’t know about it, or don’t want to use it for various legitimate reasons (and some just because they don’t like IE/MS).

    You maanged to help these big broken websites fix their issues for IE7 so surely you can do it again if necessary.

    Personally if you continue with this flawed idea I will be using the registry key to force IE8 mode.

  564. Paul says:

    I love IE7 and actually prefer it over Firefox etc. I also welcome Microsoft’s move to support standards, and acknowledge that much of the work done in building the current web was contributed by work in Microsoft.

    However, this decision to require an extra tag for IE8 is IDIOTIC and quite arrogant. Just use the full standards mode from go – in the long-term it will save both you and the wider internet community from many problems.

    As for backwards compatibility with hacks – a good web designer these days should know that they should never use browser detection hacks when cross-browser coding – if people use a bad coding style, then it is their own problem.

  565. Vasil Rangelov says:

    What I’m still wondering is, will IE8 support the XHTML MIME type? If so, I suppose the modes would go as follows:

    Almost standards mode (IE7 mode) in

    IE 8+n – text/html – no meta

    HTML 4.0 Strict, Transitional

    XHTML 1.0 Strict, Transitional, Frameset

    Standards mode (IE8 + n) in

    IE 8+n – text/html + meta

    HTML 4.0 Strict, Transitional

    XHTML 1.0 Strict, Transitional, Frameset

    HTML 5+n

    IE8+n – application/xhtml+xml

    XHTML 1.0 Strict, Transitional, Frameset

    XHTML n

    ("n" stands for future version numbers, or the current version number)

    Sounds quite good, wouldn’t you say? That is, IF, and only IF, IE8 supports application/xhtml+xml.

  566. Stifu says:

    hary_richter: I agree that this meta tag isn’t THAT bad, especially since we’ll end up getting rid of it when newer doctypes become available. Having a more standard-compliant IE8 mode will be great for webmasters, but its default behavior will be bad for the web in general.

    There problem is that beginners/newcomers won’t know about this meta, and will therefore code sites for IE7. And they won’t understand why their site looks different in other browsers (if they even know/care about other browsers). Basically, the situation would be the same as it is now, except there’d be no hope for a brighter future anymore to solve this problem (until new doctypes finally appear).

    Webmasters were hoping that IE would slowly catch up with other browsers, in order to end up rendering pages similarly, after a few years. That way, even amateur webmasters could make sites that’d look correct in other browsers, even if they only tested their site with IE, because IE’s rendering would be correct. But by freezing the default engine to IE7, other browsers will keep being disadvantaged, due to the fact that their rendering engine is significantly different from the one of IE7, and that IE is the reference for "uneducated" webmasters. So many more "IE-only" sites will still be made.

    That also means that with current and older doctypes, if no IE-specific hack or the meta is used, IE will forever display things (very) differently from other browsers.

    Paul: if anything, Microsoft has tried their hardest to hinder web development, in order to stay in a monopoly position. No web "power user" can deny that… They only suddenly start caring about standards due to Firefox’s rise. Without Firefox, there’d be no more IE team, and nothing after IE6. I can’t see how you consider that kind of behavior positive for the web.

  567. grumpy says:

    You have to wonder, did they get that many complaints from users whose sites broke with IE7? Did they get 572 of them, do you think? Because if not, they’d seem to be a minority.

    By the way, I have to wonder a bit about these unmaintained intranet sites that keep breaking.

    First, they broke when you released IE7. Fine, I can see that. But the consequence of this is one of two things.

    Either, a) The sites in question have now been updated *which means they’re not longer unmaintained, and so, can either adapt to IE8’s super-special-power-standards-mode, or at the very least, can opt-out of it.*

    or b) The sites in question have not been updated, and people still have to use IE6 to display them.

    Ok, so in case a), the problem has gone away. All they need is, at most, the ability to opt in to IE6/7 mode. They certainly don’t need it by default. More likely though, the sites have been updated "properly", so that they now work in standards-compliant browsers, and so they don’t even need to be able to opt in to IE6/7 mode.

    Then there’s b:

    The ones that still use IE6, and haven’t updated for IE7. Well, those are a problem.

    But I can still think of several workarounds.

    1: Allow users (and more likely, sysadmins) to configure IE8 to use legacy modes depending on the site (use IE6-mode on this IP range, or on this domain, or on everything in trusted zone)

    - voila, problem goes away, 100%. No need to hack in meta tags, you just have to include a non-default quirks mode in the browser.

    Option 2: Make it easy to plop in a "quirks mode" entry in the http header. These sites are  most likely running IIS, so this should be easy to arrange. Simply tell the IIS team to add a "inject quirksmode-header" checkbox to the administration thingy.

    (And if they’re running apache, it shouldn’t be a big problem either. Why wouldn’t they cooperate with this? Hell, it’s open source, Microsoft could add it in.

    Option 3: Tell the organization in question to add this little meta tag into their pages manually. It’s not rocket science. Even on a 10 year old unmaintained site, it should be fairly easy to add a meta tag to every page.

    And voila, we can now use IE8-super-special-power-uber-standards mode *by default*.

    Your crazy opt-in to standards scheme has been transformed to a sane opt-out system. It does put a minimal burden on the couple of hundred (presumably) sites that desperately need IE6 compatibility, but it doesn’t require them to redesign their site or anything, and should be possible no matter how unmaintained the site is.

    At the same time, you’ve achieved two other big wins:

    1: You’ve saved all *current* web developers from a bit of work (by giving them standards compliance *by default*

    and 2: You’ve done yours to encourage *new* developers to follow standards. Because they won’t know about the meta tag, and will assume that "if I just write my HTML code, it will get interpreted correctly".

    If you have to opt in to standards mode, that assumption won’t hold, and they will go on to produce the same nonstandard code as you’re  now trying to deal with, prolonging the problem.

    Change it so you have to opt out of standards mode instead, and newcomers will *by default* have to follow standards, and see their pages rendered according to standards. And then, perhaps in a decade or two, this nightmare will be over.

    (The astute reader will notice that I left out one group in the above. I mentioned sites that still require IE6, and sites that have been updated after IE7 came out. What about unmaintained sites that require IE7?

    Well, what about them? IE7 is a year old. Why exactly does it need special consideration again? How can a site written within the last year be unmaintained? And how many sites have, in 2007, been written for IE7 exclusively? This isn’t 1999, people write for multiple browsers now.)

    So you could make a case for IE8 needing to support a IE6-compatible mode, but IE7? I don’t see why. There’s no unmaintained IE7-specific content.

  568. consumer4beta@hotmail.com says:

    Please for God’s sake include a proper MIME type association editor like Firefox has. Previously, IE6 shared those settings with the Windows file types. Finally in Vista, the file types UI has been removed. If applications do not provide a UI to configure MIME types, how are users supposed to open content with the applications they want if there are multiple conflicting applications installed? Have you even heard of MIME types and why IE needs a proper MIME type editor? Firefox has it built in and there’s even an addon that lets ADD MIME types.

  569. RM says:

    "The cries for "make it work in super standards mode by default" must be coming from people who prefer to make their money by charging their clients to fix their sites when a new browser version becomes popular."

    WRONG!  It’s coming from people who did it right the first time, and have been doing it right for the last, oh, I dunno, 6 or 7 years?

    Shame shame microsoft; just when I was warming up to you for making IE 7 play nice.

  570. george says:

    Opera announced that it will be officially scrapping support for IE’s legacy (and broken) document.all

    http://operawatch.com/news/2008/01/documentall-and-opera.html

    Too many sites were testing for document.all, then serving up garbage code to handle all of IE’s bugs and missing implementations.  It is a significant step forward for Opera, moving even closer to full standards support.

    Its too bad that IE isn’t brave enough to fall on their sword and just put IE8 in standards mode by default.  As long as developers get a fair enough warning (for me, 2 weeks is enough to update all my sites and applications (~34)) I have no issue with going straight for strict standards, and wiping this quirks and pseudo-standards modes out ASAP.

  571. Matt Bear says:

    From the original <a href="http://alistapart.com/articles/beyonddoctype">Beyond Doctype</a> article:

    "In an ideal world, of course, all specifications would be perfect from the get-go, and their implementation in user agents would be immediate and flawless. In a slightly more down-to-earth version of an ideal world, browser vendors would immediately integrate regularly updated standards into new user agents—and users would have instant access to the latest version of those browsers without having to lift a finger."

    When I read that I thought "Doesn’t my antivirus software do this every day?" Each day at 2 AM it downloads an updated database of virus information and automatically installs it. Maybe the thing to do for Microsoft (and others) is to create a "standards database" that can be updated every so often automatically by the application.

    In fact this could easily function as an improvement of or extension to the Firefox/IE/Opera update mechanism that alerts me that a new version is available. Just tell me that an updated "DTD entry" is available and tell me to install it. Or even better, have the browser automatically pull it down and install it.

    (yes, this is pretty much a copy of another comment I posted at A List Apart and Ars Technica and Surfin Safari. The more times I say it the better chance someone will see it.)

  572. Heiner de Wendt says:

    I think I have a solution that would actually work, but where I’m convinced Microsoft wouldn’t do it.

    Put IE8 in "IE7-mode" by default. Then, after a specific period of time, give the user a warning when he next uses IE 8, that IE8 will switch to "super-standards-mode" in two weeks or so. There’s a button to accept it, and a button to delay the switch for another two weeks, when the warning will pop up again.

    The result?

    People using IE8 will quickly realize they’ll have to change their sites so that it will work fine for all those who use IE8 in "super-standards-mode". The change will become popular, because people will start talking about it. Basically, a viral marketing campaign for a standards-based web.

    People using IE7 or earlier won’t get any problems unless the web has changed so much that really most sites have become standardized; and then, it’s simply time for an update (come on, no one’s using IE 3 anymore today…).

    And about the intranet argument: If I really run an intranet that needs IE 6 or whatever to run well, then it’s my damned responsibility to make sure users do HAVE the required software installed. Every professional administrator will tell you that.

  573. Loque says:

    MS suck? :¬)

    If your website doesnt work in FF or Safari you’ve probably made a mistake… if your website doesnt work in IE then its 99% guna be a browser bug…

    What a great company, we eagerly await IE8…

    Windows ME, IE6, outlook2k8, VSS… bring it on!!!!!!!! =¬D

  574. Talasatsu says:

    So we have this tag because the doctype isn’t enough because all the tag soup wysiwyg editors started putting in doctypes. What happens when all the editors start adding this tag with an "edge" value and use it as a selling point "Makes IE render in it’s latest version automatically."

    Do we get yet another tag that will then be added into the bad editors, so that we can get yet another one? Where does it end?

    If it was an opt in to older version then the editors could add the selling point of "Control  the rendering version of IE." I know this could be done even with the current way but if it’s a bad wysiwyg editor I don’t see them following the instructions to not use "edge" and regardless of the editors code quality it’s not as attractive a selling point as making your sites use IE’s latest and greatest.

    Opting in to older render modes would also mean that the editors could default to the highest version their tools can handle, and change to more recent versions as the tools get better. It’ll be a bit bumpier on release day, but if you announce everything well enough tools could be made to prepare the net for IE8’s release.

    Have an end of life on the backtracking too, let no version of IE support more than 2-3 versions back. If a site has a tag specifying an IE older that than just render in the oldest one still supported and let it break if it’s that old and poorly coded. The owner most likely doesn’t care if they let it get to that state.

    At present you’ve been messing up the good developers lives to make things better for the bad developers that mainly came into existence because of your bad browser. It’s time to do things right because I don’t think most of the good developers are going to stand for this much longer. You’re already losing market share, and it’s going to take something really good to even slow the bleeding at this point. The last thing you need is to tick off enough developers, that currently still support you, and unite them against you.