rob cherny.com

About

My name is Rob Cherny and I'm a professional Web Developer with 16 years of experience creating Web sites and Web-based applications. This site is where I write about my work, and random other things...

Learn More

Loading...

Close Tab

Web Development

http-equiv X-UA-Compatible content IE=8

What? So this is really making waves. Microsoft announces an HTML extension which will enable a new standards layout mode in IE8. Oh, you can also do it at the server side since it’s an http-equivalent meta tag.

A new layout mode, huh? That was my initial reaction. “Huh”. I don’t know what that means. And I think anyone who claims to know immediately is full of it.

Microsoft’s IE8 http-equiv Meta Tag (or HTTP Header)

I’m not going to bother to do a deep dive on the technique, but I’ll give you a hint, it looks something like this:

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

Essentially, this will tell IE8 to render in IE8’s standards mode, otherwise IE8 will render like IE7. Whoah. And then IE9, and so on.

The notion is that the Doctype Switch isn’t robust enough for long term browser updates and standards support, so something new was needed in addition to the Doctype Switch.

Will IE10 render like IE7 without the corresponding tag? I don’t know fully, but it’s interesting. Developer’s going forward will need to specifically update their pages and opt into more advanced features in new browsers (MSIE, at least) rendering modes’ to not break the Web.

You can read about the details at A List Apart, the platform Microsoft chose for their IE8 feature announcement. In the same issue of ALA, Eric Meyer discussed his reactions to the concept.

Poor IE Team

I don’t envy them. Can you imagine shipping IE7, which really did improve on IE6’s standards support, long overdue, and internally at Microsoft there were serious waves made because essentially someone claimed they “broke the web”? Not a good place to be.

Controversy

I can’t even cover it all. So I won’t try. Start at A List Apart, read the comments, search google.

Have fun.

What Am I Afraid Of?

Bottom line I just have a ton of questions around what this means from a development standpoint. But that’s what separates developers like me and you from the developers this meta opt in is not targeted at. Right?

  • My biggest concern is backwards compatibility. Ironic much?
  • What does this new feature for a site targeting IE8 mean for a user in IE7?
  • Or even IE6? IE6/7 will render with the same quirks they have now?
  • So how different will IE8 be?
  • What will IE8 do when IE=9 is specified?
  • Are we going to have to apply the IE8 http fix, and then conditionally add an IE8 CSS file via Conditional Comments so the older browsers render it to their spec? Or vice versa?
  • Can developers going forward in IE8, and IE9+ now trigger any rendering mode by meta tags only? Do our multiple installs of IE become a thing of the past?
  • I want more information for the implications on the DOM, the flexibility with regards to standards and quirks modes and different meta tag values, etc.

Guess these questions are the reasons I have a job. Same with you. That’s why if you’re reading this, you’re good at your job. Get over it.

But that’s exactly the target audience of this new feature, right? Those developers that can opt into it, will probably be smart enough to deal with it.

Yeah, I’m not psyched about yet another rendering mode and yet another browser quirk, and I’m dying to know how MS will implement the DOM inconsistencies and backwards compatibility in subsequent installs of IE8, or even for that matter, IE137, but that’s their problem, not mine.

IE9 and IE8 Sound Difficult

Chris Wilson, the Platform Architect for the IE team has tried to thoughtfully answer some of the questions on the IE Blog, and I give him credit for trying.

In one comment he says:

@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.

Hmmmmmm… so in developing for IE9, we’ll need to worry about backwards compatibility in IE8? But IE8 will be rendering in IE8’s “standards mode?” So does “progressive enhancement” not really quite get tossed out the window?

Conclusion

In my mind, the jury’s still out on this. No one can predict exactly what this means for both users (software install sizes) and developers (do we have more flexibility or is it going to get hopelessly complicated?). But it’s an interesting development which will open some doors and will certainly serve Microsoft’s mandate to not break the Web. I think other browser vendors will ignore this for the most part at first, but one day, who knows.

Jan 23, 02:56 AM in Web Development (filed under Browsers, Microsoft)

  1. misterm    Jan 31, 03:51 PM    #

    Wouldn’t it be smarter to use a meta-tag like ‘http-equiv=“X-UA-Compatible” content=“IE-Standards”’. So that once you have build a website and IE9 or newer comes out, they can just render in standards-mode. I would hate having to retag all IE8-prepped sites to IE9.

commenting closed for this article

In This Section