IE8's new "standards mode" meta tag

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

In case you haven't already heard, IE8 is including a new "super standards mode" meta tag. This tag will be required if you want pages to be rendered using their new and improved standards compatibility mode. This was done to ensure that sites designed for older versions of IE won't break in newer versions.

More info:

http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx
http://alistapart.com/articles/beyonddoctype
http://alistapart.com/articles/fromswitchestotargets

Some reactions:

http://www.rachelandrew.co.uk/archives/2008/01/22/ie8-and-the-future-of-...
http://www.zeldman.com/2008/01/22/in-defense-of-version-targeting/
http://www.andybudd.com/archives/2008/01/has_internet_ex/

Reaction from browser developers

I haven't had a chance to read the ALA articles yet but I'm thinking this can't be a good thing. Now you need to intentionally switch the browser to make it render standards properly, and will have to do so basically forever.

Any thoughts?

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

Turns out that the meta tag may not be necessary after all. Apparently IE8 will recognize newer doctypes as being in the new super-standards mode. So if you use the HTML 5 doctype it will render properly:

http://ejohn.org/blog/html5-doctype/
(that guy is one of the Mozilla developers, I think)

Problem is that the validator currently doesn't recognize HTML 5, but hopefully that will be fixed by the time IE 8 comes out.

He has: 630 posts

Joined: May 2007

"X-UA-Lemur-Compatible" says it all, I think.

http://www.katemonkey.co.uk/article/48/x-ua-lemur-compatible

carloncho's picture

They have: 17 posts

Joined: Jan 2008

The problem is the "IE" prefix Smiling Microsoft always make the things "different" from standards.

pr0gr4mm3r's picture

He has: 1,507 posts

Joined: Sep 2006

What's so hard about inserting a meta tag? I think it's a decent idea. That way webmasters aren't forced to update their website on Microsoft's schedule.

I'm not so sure I like the idea of rendering in ie7 mode as default. I think Microsoft is doing it this way because webmasters aren't going to make the effort to insert meta tags in their existing websites to keep ie7 mode. On the other side, webmasters will insert a meta tag in their new sites to use ie8 mode.

In general, I think it's a step forward. I'm sure more tweaks will be made in this area before a release.

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

Here's another good thread:

http://realtech.burningbird.net/standards/bobbing-heads-and-the-ie8-meta...

It's not that it's "hard" to insert a meta tag, it's just annoying. The real point is that it should not be necessary.

I think that having to check websites in new browsers is the nature of the beast. That's the way it works. BUT, that's also why we have standards. You have a standards compliant site there shouldn't be problems when a new browser comes out. HTML 4.0 and CSS 2 are still the same whether you're in Firefox 2 or Opera 15. If your sites are falling apart when a new browser is released then it's your own fault for not coding to standards!

This also stops progressive enhancement in its tracks, at least as far as IE goes. We can build sites now knowing that the standards we choose will be rendered in browsers when they support them. Our new design here uses some of those principles (rounded corners on the green navbar, for example). Previously, we could implement things like this knowing that IE would show them when it supports that standard. Now we have to go in and insert a meta tag to tell it to be standards compliant.

The other thing that annoys me is that they're coming out with this before they even have a beta version out. Do they even know what is going to break and by how much?

There are many things they could do instead of halting the default display at IE7. They could:

- work with sites and applications that are having problems and help make them work (as Opera does)
- allow an official stand-alone versions of IE 7 for businesses that depend on outdated applications
- use the meta tag to freeze in IE 7 mode (using IE8 mode as the default). Really, if standards compliant developers can easily insert at tag then so can anyone else.
- put in a switch to turn off CSS (if that's what's going to be causing the problems. Most of these articles haven't really said what's going to change so much to cause a problem)

pr0gr4mm3r's picture

He has: 1,507 posts

Joined: Sep 2006

Megan wrote:

I think that having to check websites in new browsers is the nature of the beast. That's the way it works. BUT, that's also why we have standards. You have a standards compliant site there shouldn't be problems when a new browser comes out. HTML 4.0 and CSS 2 are still the same whether you're in Firefox 2 or Opera 15. If your sites are falling apart when a new browser is released then it's your own fault for not coding to standards!

Don't hold back Megan, tell us how you really feel. Wink

The reality is that sites that worked in IE did not adhere to standards because IE didn't adhere to standards. You are absolutely right in saying that you should not have to update your websites every time a new browser version comes out. That's why Microsoft is doing it this way. New releases won't break current web sites, and webmasters have the choice of utilizing the standards support IE will have to offer.

Megan wrote:

- use the meta tag to freeze in IE 7 mode (using IE8 mode as the default). Really, if standards compliant developers can easily insert at tag then so can anyone else.

I don't think that will work. In doing this way, you are requiring every website with IE-necessary hacked code (virtually all) will break. Yes, inserting a meta tag in existing websites is not hard by yours and my standards, but what about the people that outsourced their website? They will have to track down their designers to get the change, or they will not even know about it and leave their site broken (most-likely).

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

pr0gr4mm3r wrote: Don't hold back Megan, tell us how you really feel. Wink

Okay Wink Another thing we were talking about last night is that it's in Microsoft's best interest to protect sites and applications that only work in their browser. In fact, they probably really like stuff like that because it forces a whole lot of people to use IE, which means they're also using Windows. I wonder if that's one of the reasons why they ditched IE/Mac...

So really, they don't want developers to use standards, they want them to do stuff the IE-only way. This meta tag obscures proper standards in IE - they're only there if you know how to access them. Which means more people can continue on making stuff that only works in IE...

Just a conspiracy theory Wink

Edit: The web standards movement started in 2001 (if not earlier). That was 7 years ago. If you're still not developing to standards then you just weren't paying attention.

JeevesBond's picture

He has: 3,955 posts

Joined: Jun 2002

New releases won't break current web sites, and webmasters have the choice of utilizing the standards support IE will have to offer.

I don't buy into this argument from Microsoft. Who uses a strict doctype without making their site valid in the first place? And if they did all they'd have to do is remove the doctype (or set it to transitional) to make IE render in old-skool mode.

I just don't believe this will break any sites, and any it does really shouldn't be using a strict doctype in the first place. If they really wanted to do things properly they'd support XML and pages served as application/xhtml+xml but they don't, because Microsoft are not interested in implementing standards and will go to any lengths to sideline them. Just look at what's happening with OOXML and what Microsoft have done to ISO if you don't believe me.

If Microsoft were to release an IE8 which only goes into standards mode when the page is served as application/xhtml+xml (or they detect an HTML5 doctype) then they would have a lot more support. Unfortunately they've shown their true colours once more in saying: never mind standards, do it our way or sod off. It's the sheer arrogance and pig-headedness of this move that really gets my blood boiling.

There are some great comments on Slashdot about this. Personally I will be avoiding this tag for as long as possible.

a Padded Cell our articles site!

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

JeevesBond wrote: I just don't believe this will break any sites, and any it does really shouldn't be using a strict doctype in the first place.

I had to do some research on this becuase I wasn't sure which doctypes trigger standards mode in which browsers.

According to this article on Microsoft.com, even Html 4.01 transitional doctypes trigger "standards mode" in IE 6. What they could do now is make it so that only strict doctypes trigger standards mode in IE8.

Here are some better references:

http://hsivonen.iki.fi/doctype/
http://en.wikipedia.org/wiki/Quirks_mode

demonhale's picture

He has: 3,281 posts

Joined: May 2005

Also to add to this, even if you had some ie css hacks to fix browser issues before, it functions pretty good on ie6, ie7 says differently and what would ie8 think now? So it's better to do away with hacks for ie, just let it as some overused terms for ie when standardizing. "degrades gracefully on IE"

He has: 630 posts

Joined: May 2007

pr0gr4mm3r wrote:

Quote: The reality is that sites that worked in IE did not adhere to standards because IE didn't adhere to standards.

HTML 4.0 became a W3C recommendation December 1997. Earlier versions were never implemented in any browser. CSS2 became a W3C recommendation in May 1998. IE5 came out March 1999, and beat the pants off all competition. It made the modern web possible, despite the buggy implementation.

Standards-based layouts are possible, even with IE 5.01. I know, because I have been doing it until recently, in deference to my visitors that used it.

The problem is that IE development stood still for years. IE6 supported more CSS, but was about as buggy as IE5.

We all like to bash IE, sometimes for good reason. But let's not make accusations that don't hold water. What's more, for whatever reason, Microsoft is finally trying to do something about their lack of progress.

Cordially, David
--
delete from internet where user_agent="MSIE" and version < 8;

JeevesBond's picture

He has: 3,955 posts

Joined: Jun 2002

The problem is that IE development stood still for years.

And who should we be bashing for that? The reason for earlier versions having relatively good support for CSS was to help wipe-out Netscape. Developers, developers, developers!

But let's not make accusations that don't hold water. What's more, for whatever reason, Microsoft is finally trying to do something about their lack of progress.

Because they were forced to by the increase in market share gained by Firefox et al.

We're basing our accusations on the substantive evidence that Microsoft will go to any lengths to lock people into their products. Have you read the Halloween documents? have you heard about the bribery in Nigeria? The bribery and ballot box stuffing surrounding OOXML (all because they refuse to support an existing, open standard: ODF)? They've actually brought parts of ISO to a standstill (link to official document). I can also provide a reasonably comprehensive list of all the other standards Microsoft have deliberately subverted to keep people locked-in if you like. Smiling

So, having established these arguments do hold water, what about this tag? The stated 'backwards compatibility' thing is rubbish in my opinion, incidentally this is the same rubbish trotted out in support of OOXML, there are many different ways this could be implemented without breaking backwards-compatibility (support application/xhtml+xml, do doctype switching for strict doctypes only). If the stated reason is a lie, what's the real reason? My bet is they're trying to avoid standards compliance--retaining the locked-in status quo--whilst still appearing to be doing the right thing for PR purposes. This is how I believe Microsoft look at it:

  • supporting standards == bad;
  • not supporting standards == worse (until ~90% market share is regained);

When looked at in this way things start making much more sense: people can carry on writing non-standard code, working in the dark of vendor lockin. It also makes coding with standards confusing for beginners (bonus point for Microsoft!). Once Microsoft get their market share back, they'll stop developing IE again and start pushing Silverlight/.NET as the only choice for any non-trivial Web application. In support of this hypothesis: I don't see any improvement in their support for SVG, ECMAScript (Javascript to you and me) or XML.

On a side note: Ballmer has pledged that Microsoft will take over the Web. This just about sums it up for me: Microsoft are so arrogant, they think themselves so important, that they can force everyone to stick some crappy 'compatible with IE' tag on their pages to make them work properly. Pathetic.

Next Microsoft will be demanding everyone sticks a huge 'IE 4TW!!!!11' banner image at the top of our pages, if we want them to render properly. Laughing out loud

On another side note: in a few years time, when everyone has forgotten about this stupid tag and are writing code using HTML5, do we really want people looking at the code of our sites and seeing that ghastly tag? Are we going to have to put a 'supports IE9' badge on our code?

This tag idea is not only arrogant, it's fundamentally broken. It's not our job to support browsers, particularly not versions of browsers. We support standards, that's what the doctype at the top of every page says. If the doctype is strict: that's how the page should be rendered. Full-shit-stop. Smiling

a Padded Cell our articles site!

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

Excellent post, Jeeves!

Quote: What's more, for whatever reason, Microsoft is finally trying to do something about their lack of progress.

And that's exactly what they want you to think. Now they've got all kinds of developers thinking that Microsoft really loves web standards. With this one they even went straight to the most well respected people in web design and got them to tell everyone how great it is. So if developers are convinced that Microsoft is really on board then they don't think critically about what MS is doing.

I think we really need to continue to hold them to account because, as Jeeves pointed out, Microsoft has no interest in supporting open standards. In fact, open standards are harmful to their business practices. If we start to look the other way then they can start slipping things under the rug, just like this little meta tag they've come up with.

Oh no, it's true, I've been brainwashed by the open standards zealot! Shocked

They have: 4 posts

Joined: Jan 2008

The hardest part of this little bruhaha to wrap your mind around is that this is not about supporting a broken browser (IE≤7), but about IE8 supporting broken sites—those written against those broken browsers. Even more critical from MSFT's PoV are the huge number of sites (especially on corporate intranets) that depend on activeX. IE8, in super-dooper mode, will do plug-ins like everyone else; that is, without an OS API. That means a whole lot of sites will cease to function.

None of this is a concern for Opera, Konqueror/Safari and Firefox, as those sites have always been broken for their users. It is the locked in corporate user that MSFT has to continue to support.

I have always admired Netscape for their gutsy decision to abandon the path they had blazed in favor of a clean break and supporting the W3 standards. Granted, they weren't as invested in legacy sites as MSFT is now, but there were still a lot of howls heard.

MSFT should bite the bullet and make the break. To make that break, they need to make IE8 freestanding and able to run alongside IE≤7. Corporate users could still run the older browser to support their older sites, or MSFT could allow for a trigger to kick IE8 into "legacy mode". A new server header for that purpose would be acceptable to developers, and easy for webmasters to configure for their sites/pages that require it.

MSFT should also announce an EOL (end of life) date for IE7, say five years after release of IE8. Even the largest sites should be able to change over to a standards based, activeX free design, if not by planned redesign, then by normal maintenance and updating. Only security patches should be issued for IE7 during that time, being otherwise frozen.

That's my 2¢ American.

cheers,

gary

Anyone can create a usable website. It takes a graphic designer to make it slow, confusing and painful to use.

Megan's picture

She has: 11,373 posts

Joined: Jun 1999

Turns out, that after all the fuss about it MS has decided to change their minds and make the tag work as an opt-in by default. that means that if you want your pages to render as IE 7 you have to put the tag in.

Whew! Much better. Makes me wonder if they read my blog post!

Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.