22 January 2008 7 am eastern

Not your father’s standards switch

The DOCTYPE switch isn’t what it used to be.

For most of the past seven years, the DOCTYPE switch stood designers and developers in good stead as a toggle between standards mode and quirks mode. The switch enabled browsers to accurately support the work of responsible designers who cared about accessibility, findability, and lean, semantic markup. It also enabled those same browsers to support the old-fashioned, table-driven junk markup your grandpappy writes.

But when IE7, with its tremendously improved support for standards, “broke the web,” it revealed the flaw in our beloved toggle. The quest was on to find a more reliable ensurer of forward compatibility. Is version targeting the answer?

In Issue No. 251 of A List Apart, for people who make websites, Aaron Gustafson of The Web Standards Project and ALA describes the workings of and logic behind version targeting, a proposed replacement to the DOCTYPE switch. It’s an idea whose simplicity you may admire immediately; or you may, at least initially, want to run screaming in the opposite direction.

That’s how ALA’s Eric Meyer felt, when he first previewed Aaron’s report. So did I. But we came around—and in “A Standardista’s Journey,” the companion piece to Aaron’s article, Eric explains how his thinking about version targeting evolved.

Microsoft is on board to support version targeting in IE8; they hope other browser makers will do likewise. The Web Standards Project worked with the Redmond company to forge this new path in forward compatible design. It’s with Microsoft’s consent that we unveil version targeting in this issue. In a future issue, we’ll discuss the implications for scripting.

Tags: , , , , , , ,

Filed under: A List Apart, Accessibility, Browsers, Design, Publishing, Standards, development, industry, work

34 Responses to “Not your father’s standards switch”

  1. Eric Perduel said on

    No offense but…
    How stupid can an idea be?

    Beam me up Scotty.

  2. Kyle Steed said on

    Why does Microsoft try to be cutting edge? They should stop trying so hard and just “keep it simple stupid”.

    I think version targeting is an idea that’s good in theory, but not in practice. I agree with Eric Meyer when he says: “I was bothered by version targeting because it runs contrary to the principle of forward-compatible development.” And to me, that’s they whole point of web design, to continually progress and move forward. Giving the developer the choice to be “lazy” and not practice the new standards is an accident waiting to happen.

  3. Jeffrey Zeldman said on

    Giving the developer the choice to be “lazy” and not practice the new standards is an accident waiting to happen.

    Do you believe that the overwhelming majority of web developers will soon create plain old semantic markup and correctly authored CSS?

    Or do you think some developers will remain ignorant of web standards and will continue to code for bugs in old versions of IE (whether or not they even realize that that’s what they’re doing when they create CSS without understanding how it works, and “test” their work only in one version of IE)?

  4. Kyle Steed said on

    I like to imagine that, yes, everyone will be writing “plain old semantic code” . :) But I know that we don’t live in that “perfect world”.

    So, honestly, yes I know that most people will continue in their laziness apathy for web standards and disregard semantic markup and correctly authored CSS. But I’ve got to keep hope alive.

    Does this make me a hypocrite?

  5. Mark said on

    At first, I was a bit skeptical about this. My coworker and I joked that “Web development should be left to the professionals,” as though we are the Ghostbusters. But Mr. Gustafson really made his point with me with,

    …but I also see it’s important to preserve the web we’ve worked so hard to build—table-based layouts and all.

    It is often easy to believe that the only thing that exists on the web are clients, or potential clients: those that don’t really know DOCTYPE from Adam; who hire us, the Ghostbusters, to give them a web presence. “Let the amateurs be damned.”
    As the article points out, the web is a library, worthy of preservation. Even if its knowledge is buried under nested tables, it has the right to exist as it was created. Let the scars past wars show. The professionals and our clients are not the only ones that inject life into the web.

  6. 则名 said on

    IE8!
    So i know, i must compatibility IE6\IE7\FF and add IE8。
    no word~

  7. Erik said on

    As important as it is to be “forward compatible” or progressive in pushing the technology and design envelopes, it’s equally important to remain compatible with “legacy” technologies. (Which is the point of “version targeting” and other attempts to “unbreak” the web.)

    Whenever we’re dealing with digital media, data preservation must be one of the guiding principles, or we’ll end up with countless iterations of the BBC Domesday Project and its problems.

    Thanks to Aaron Gustafson for raising this issue and to Eric Meyer, et al., for being willing to pay attention with open minds.

  8. Stephen said on

    Boy, I sure hope my new BluRay player can handle my old 45 RPM records. It better- because the old records deserve to be preserved!

    -wrong wrong wrong.

  9. Jonathan Kahn said on

    @Jeffrey:

    Or do you think some developers will remain ignorant of web standards and will continue to code for bugs in old versions of IE (whether or not they even realize that that’s what they’re doing when they create CSS without understanding how it works, and “test” their work only in one version of IE)?

    Sure, some will. But the necessary pain of realising that what they’ve done is wrong, currently experienced when their users try out Firefox or upgrade to Vista, is one of the most powerful motivators in fighting that ignorance.

    Microsoft clearly see the developers you describe as their key audience — “don’t break the web” means “default to legacy, because our most important clients are dinosaurs”.

    But if you consider an issue like accessibility, then breakage is the best chance of inspiring that clueless developer to buy your book, start using standards, and support more than one browser.

  10. Jason Campbell said on

    Backwards compatibility is fine but make the end user turn it on, not off. It’s silly to think that you have to take an extra step to get a new browser to perform at it’s best rather than like it’s predecessor.

    J.

  11. tzty said on

    I can’t hear about compatibility without thinking about Nintendo. They’ve primarily kept things backwards compatible too. It’s just like anything else though, expecting browser makers to retain all that legacy code.

    If the website is indeed worth preserving, let it be redesigned and leave archiving to sites like: http://web.archive.org.

    Like Nintendo, support the new and the next most previous version, but in 2 to 3 years mark that baby down on Black Friday and blow it out the door…!

    just short thoughts, pretty much the usual.

  12. Weblogs Temporarily Offline said on

    links from Technoratiaverage person with only a moderate amount of study. If implementations end up differing so significantly in capabilities, then that shows that the original shared specification was flawed, or overambitious, or both. But maybe that’s just me. More fromJeffrey Zeldmanand Aaron Gustafson.

  13. Daniel said on

    Version targeting? Perfect! And then in HTML 6 we could also get:
    <autoSpaceLikeWord95 />
    <useWord97LineBreakRules />

  14. Adrian Simmons said on

    This is a flawed idea. There’s a lot of hot air being released in the comments on ALA, WaSP and many blogs but in amongst it are good solid reasons why this is a bad idea.
    If IE8 is as standards compliant as Firefox, Opera and Safari then a large most of the sites on the web will work just fine. Any lagacy sites that break in a standards compliant IE8 are likely already broken in other browsers, patching them in IE with a meta tag won’t fix them and there isn’t a chance in hell of any other browser vendor supporting this.

    The meta idea might work ok if the default for IE8 is standards compliance, and the meta only has to be added to legacy sites. Forcing everyone to add this tag to their sites just to support IE8 is stupid, vindictive and frankly just a step too far.

    The root problem here is Microsoft’s culture of ‘release buggy, fix later’. If they can’t manage to create a standards compliant browser it’s time they got out of the game and stopped holding the web back.

  15. Kaspars said on

    Jeffrey, did you really fight this Web Standards battle to give it up so easily?

    In 1999 developers used tables (and other cool and hip HTML features, of which you know). Only because they could easily build something that looked and behaved just the way they wanted without too much of an effort.

    Now we build with standards. And only because we can easily build websites using standards that look and function as expected in most of the browsers without much of an effort. Except IE, of course. Fortunately we now have enough knowledge to make it behave like standards aware browser with just a few lines of CSS or extra HTML markup which doesn’t hurt anybody.

    Finally Microsoft gives us something that doesn’t require a special care — IE 7. Why spoil this great evolution of IE and the Web, and ask for a treat for the upcoming versions?

    Every web developer will know about a new version of IE being released by Microsoft, even those who don’t know what Web Standards mean, and those for whom the HTML is generated by a CMS.

    Isn’t this the moment we all have been waiting for — the Web dominated by the Standards based websites, and having the quirky ones as a minority. This is the day when Microsoft should put all their marketing money in an effort of declaring that standards are good. Whether stating that invalid sites make your computer unsafe or using other reasons that could be easily picked up by the general public.

    Is it?

  16. Asbjørn Ulsberg said on

    This is insane. It really is. Everyone that is in favor of this new switch that has expressed his or her opinion on the matter talks as if what web developers do is tailor their web pages against rendering engines. As if what we want to do is not refer to W3C’s specification on how things should look and behave, but how a given web browser has chiseled its rendering bugs into stone. On top of that, we obviously don’t ever want these pages to behave or look better than they do in a particular version of a given rendering engine.

    The Quirks Mode switch was required because Internet Explorer had a completely wrong and buggy implementation of most of the CSS2 specification as well as a wide range of software producing web pages targetting and relying on these bugs. The reason Internet Explorer 7 had problems with backwards compatibility even in Standards Mode was because it took 6 freaking years before it was done and released, so in the meantime Internet Explorer 6’s errors had been hard wired in every web developer’s minds, every CMS and every template made during those dark age years.

    The fact that Internet Explorer 8 needs such a switch is an admission and confirmation of the fact that Internet Explorer 7 is full of bugs too. That unless IE8 reproduces the same bugs as IE7, it will break web pages. I agree IE7 isn’t perfect. I could fill several pages with descriptions of errors and shortcomings in IE7. Still, IE7 is so much better than IE6 that it doesn’t really matter. At least not unless Microsoft expects to keep IE8 in development for another 4 years. I don’t think they do.

    If people really want to tailor their crap (it is crap if they do, honestly) against a given rendering engine, then let them add a switch. You shouldn’t “opt in” to support standards. If anything, you should “opt out”. If Microsoft wants to provide a hack people can deploy to opt out of reading or even knowing what a W3C Recommendation is, then fine. But forcing all of us doing The Right Thing to hard code and tailor our sites to a specific version of the Triden rendering engine is nothing but pure and utter madness. Plus, it’s a spit in the face, a punch in the kidney, a kick in the head and a serious offense to every web developer in the world that has commited to standards and heard Microsoft’s Chris Wilson’s fairytales about them commiting too.

  17. Dave C. said on

    I am trying very hard to be open to the idea of “preserving the web - table based layouts and all”. It does have a certain appeal. Equity for the little guy and all. Mom and apple pie. Free my people now.

    But I keep coming back to broken is broken. Standards are standards. Browser version sniffing is browser version sniffing. Putting lipstick on a pig is does not really help the pig or the make up artist.

    So I struggle trying to understand who this could possibly benefit.

    The workarounds put in place to help the dysfunctional IE family look good in public have been short circuited by IE7. Is this the fault of anyone in particular? The web is littered with the concessions that designers made to make IE look good. It is also littered with web sites that will never look good/work in any browser ever made.

    Is it reasonable to expect web site design to be so simple that anyone can do it? Pick one up at your local Shop-O-Rama, fill in the blanks and you are good to go. No need to worry about the messy technical details. Is that what we want web design to be? Is it even possible? History and experience says no. All the horrible

    If Uncle Leo and the amateur web community never cared enough to work with doctypes, what makes anyone think that they will ever understand and use version switches? The argument that this is the community being served seems bogus.

    IE7 breaking the web is not the fault of standards or doctypes or quirks mode or standards mode. It is clear what is deficient here and version dependent rendering does not solve the problem. It further complicates the issue and introduces another layer of MS generated spaghetti.

    It seems like the web community is always making concessions to MS. Why, just once, can’t MS make a marketing move that will benefit the web community as a whole, and not just its own bottom line.

  18. Erik said on

    @Stephen:
    I assume you’re trying to be a smart-ass about actual backward-compatibility issues, since you don’t really need any special equipment to play 45 RPM records, aside from a way to amplify the sound.

    The concern I have with digital media isn’t that new formats have to support all previous technologies. Rather, we need to figure out ways to keep materials in older formats readable. If that means “porting” a CD’s content to Blu-Ray, so be it.

    When it comes to hypertext, it doesn’t seem to be that unreasonable to be able to inform rendering engines how to handle legacy information, especially since web technologies are far more microevolutionary than other digital media formats.

  19. Konstruktors Notes — Observing the Web and Thinking About Design said on

    links from TechnoratiIn defense of version targeting is a follow-up article by Jeffrey Zeldman to hisprevious postand the topic of browser version targeting feature planned for the upcoming release of Internet Explorer 8. His arguments (in favor of version targeting) might seem to be valid at first, but they are not enough in comparison to those who are against

  20. Something More said on

    links from TechnoratiIn defense of version targetingNot your father’s standards switchThe no-access road Girl. Dog. Night. Day. Usability problems with .Mac sync

  21. disassociated.com - dissecting the {SubSet} culture since 1997 said on

    links from Technoratiignorant developers to get wisdom about web standards. Idealists hope, if sites suddenly display poorly in IE, the developers will want to know why, and will embark on a magical journey of web standards learning. See alsoNot your father’s standards switch.

  22. EightyOne said on

    links from TechnoratiIf you’re a web developer, there’s only one issue this week that deserved your attention:Browser version targeting. On Monday, A List Apart published an article — Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 — that described a new, Microsoft-led method, of instructing browsers to use a particular version of its rendering engine to render a web

  23. . Todd Lambert » a bluesman in the back, and a beautician at the wheel } said on

    links from Technorati(Belated) Thursday Roundup for the Week of 1/20/08Rewriting the Beginner’s Guide Part IV Continued - Canonical and Duplicate Versions of ContentWhiteboard Friday - How Search Engines WorkSearch Results Improve With Social Media EliminationsNot your father?s standards switchRe: CSS Unworking GroupStealing designUsability problems with .Mac sync

  24. MTAA-RR said on

    links from Technoratithe IEBlog describes how they ‘broke the web’ when they released IE7, then go on to explain how they plan NOT to do that with IE8. Crazily enough, Zeldman and the WASP seem to be on board with ablog postand 2 (count ‘em 2) articles on A List Apart (1, 2). I haven’t read about the new ‘version targeting’ scheme yet, but Microsoft’s ‘web standards guru targeting’ scheme seems to have worked wonderfully.

  25. Monday By Noon said on

    links from TechnoratiThat Red-headed Monster Next to You? Yeah, that’s Anger. by Erin Lynch Versioning, Compatibility and Standards by Maciej Stachowiak (WebKit Team) The Internet Explorer Lock-In by Anne van Kesteren Sunsetting Quirks Mode by Sam RubyNot your father’s standards switchby Jeffrey Zeldman Mistakes, Sadness, Regret by Ian Hixie <META HTTP-EQUIV=”X-BALL-CHAIN”> by Robert O’Callahan IE8 and the future of the web by Rachael Andrew Has Internet Explorer Just Shot Itself in the Foot?

  26. David Emery Online said on

    links from TechnoratiThen take a look at these: Broken (If you only read one of these, make it this one) From Switches to Targets: A Standardista’s Journey Has Internet Explorer Just Shot Itself in the Foot? Predicting the PastNot your father’s standards switchThe versioning switch is not a browser detect Code Happy Best Standards Support In defense of version targeting Standards mode is the new quirks mode The Internet Explorer lock-in META HTTP-EQUIV=”X-BALL-CHAIN”

  27. Bram.us said on

    links from Technorati[ January 28th, 2008 - 0 comment(s) ] IE8 Mode? A lot of fuzz on the interwebs after an announcement concerning compatibility and IE8 on the IEBlog and an article in the most recent ALA issue (got some time to read up?):#1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13 and - my favorite - #14. *phew* (FYI: I’m pro this decision; might knock up a writeup some time later Did knock up a writeup) [ January 25th, 2008 -

  28. matt bear said on

    At one point in the article Aaron says:

    “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/extension of the Firefox 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.

    Comment also posted on IEblog, Surfin’ Safari, article comment pages.

  29. Dwelling said on

    links from Technoratis the rub. This whole thing with the X-UA-Compatible HTTP header has been basically portrayed as how the web creation community can bail Microsoft out of a tight corner that it got itself into. With bothZeldmanand Meyer supporting this and many, many people railing against it, I’ve been trying to figure out where I stand in this. Here’s my gut reaction and how I got there. It makes perfect sense for Microsoft to do this.

  30. Dana Lee Ling said on

    What version do I target for a page such as the SVG portal I recently built? Will the metatag even have any meaning in an SVG context? The flaws with having to add code to opt-in into future browsers means that the SVG portal will be forever broken - what version of IE will support SVG anyway? meta http-equiv=”X-UA-Compatible” content=”IE=1000″ anyone?

  31. Zach’s WordPress Blog said on

    links from Technoratihttp://alistapart.com/articles/theyshootbrowsers http://alistapart.com/articles/beyonddoctype http://alistapart.com/articles/fromswitchestotargets http://www.zeldman.com/2008/03/04/microsoft-reverses-version-targeting-default/http://www.zeldman.com/2008/01/22/not-your-fathers-standards-switch/http://www.informationweek.com/news/showArticle.jhtml?articleID=206906011 http://www.wpdfd.com/issues/85/version_targeting_neutral/ http://www.sitepoint.com/blogs/2008/03/04/microsoft-backflips-on-browser-version-targeting/

  32. Planet COSI said on

    links from Technoratihttp://alistapart.com/articles/theyshootbrowsers http://alistapart.com/articles/beyonddoctype http://alistapart.com/articles/fromswitchestotargets http://www.zeldman.com/2008/03/04/microsoft-reverses-version-targeting-default/http://www.zeldman.com/2008/01/22/not-your-fathers-standards-switch/http://www.informationweek.com/news/showArticle.jhtml?articleID=206906011 http://www.wpdfd.com/issues/85/version_targeting_neutral/ http://www.sitepoint.com/blogs/2008/03/04/microsoft-backflips-on-browser-version-targeting/

  33. Web Design References: Standards, Guidelines and Patterns said on

    Kramer auto Pingback[...] Not Your Father’s Standards Switch - Jeffery Zeldman [...]

  34. Niemand hat die Absicht eine Mauer zu bauen … said on

    Kramer auto Pingback[...] Jeffrey Zeldman: Not your father’s standards switch [...]

Speak up!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

- Why ask? This confirms you are a human user!