Version Targeting, HTML5 And The Other Browsers
Posted on Thursday, January 24th, 2008
A whole lot more has been said about meta tag browser version targeting unveiled on yesterday’s A List Apart. Digital Web has quite a few reactions, a list which is worth going through if you want to see what the top people in the industry think of all this.
I have tried to keep up with as much of the conversation as I can and after some revelations today I am actually a lot happier than I was at the end of my post yesterday. Here is the way I see it now.
HTML5 To The Rescue
Almost buried amongst yesterday’s noise over version targeting was the announcement that the HTML5 specification has moved to First Public Working Draft. This is a step along the road to a new standard, but it coincided with a simple comment left by Chris Wilson on his personal blog and spotted by John Resig:
Steve: Are there any doctypes that do not require this new meta tag to render with the IE8 rendering engine?
Chris: @Steve - sure. Any unknown (i.e. not widely deployed) DOCTYPE. HTML5, for example.
Simply, using the DOCTYPE for HTML5, <!DOCTYPE html>, and no meta tag version target will not trigger legacy IE7 rendering but full IE8 power rendering. This DOCTYPE will also induce standards mode in all other current browsers and HTML5 is backwards compatible with HTML4, so we could start using it today.
What About The Other Browsers
I won’t dip into this for too long as nothing is official, however developers and other representatives from the other browsers have chimed in with their thoughts on version targeting. Mozilla, Safari and Opera all seem initially against the idea and for that I breathe a sigh of relief.
The Lazy Developer VS The Active Developer
So where does this leave us? Progressive enhancement and developing for the future aren’t dead and the meta tag does the job Microsoft wants it to do, that’s where.
Now, an upgrade to IE8 won’t “break the web”, if a developer has produced a site that currently works in all browsers it will continue to do so with no further effort (given that Firefox, Opera and Safari don’t make any huge rendering mistakes in the future). This is the lazy approach and the one that this whole idea has been conceived to fix (at least, prevent breaking anyway).
However, for those active developers, those who read A List Apart, those who read Designing With Web Standards all those years ago, those who have been taught correctly, those who are bemoaning this idea, there is another option. Use the HTML5 DOCTYPE, introduce HTML5 features as and when they are implemented (and you can safely), move web development on at the cutting edge. You won’t be held back by meta tags, targeting or switches, it will be the latest standards mode available for your sites. Of course there will be old browsers to consider, but we do that already, it just means that progressive enhancement is in place, not a lock down to specific browsers.
A Final Problem
So I know what you’re asking now, how do we continue encouraging the uptake of standards when the “lazy” developer doesn’t have to push things. Simple. It will become evident with the improvement of new websites using new technologies to the best of their ability that sticking with what you know just isn’t enough. Standards adoption can be encouraged by showing what getting out of the lock down, the targeting of IE can do for you and your websites. So no problem.
I’m A Happy Developer
My conclusion to this is that the whole thing is a necessary evil. Microsoft ignored or got standards wrong in the past and are now paying for it. This could amount to further losses of browser market share if IE becomes bloated or unusable due to issues with carrying multiple rendering engines. At any rate, they shouldn’t “break the web” again (a phrase I promise not to use again for a long while after writing this post). HTML4 is now for those who want to be left behind.
Finally, after discovering the above, my development ideals and work won’t have to change drastically. A new DOCTYPE and fresh interest the latest standards and browsers will keep me on my toes and no meta tag will hold me back. I hope you feel the same way.
If you enjoyed this post, why not subscribe to Unintentionally Blank
1February 20th, 2008 at 1:57 am
SneakyWho_am_i Says:Although I am opposed to wasting YET MORE bandwidth on stupid redundant cruft to make make valid code work in an invalid browser (and hate the stupid meta and header idea), I have to say I’m for this one.
IE=”edge”
META HTTP-EQUIV=”X-BALL-CHAIN”
EVERYBODY has to suffer now because of this. I refuse to participate.
A former Microsoft employee sums it up superbly here:
http://webkit.org/blog/155/ver.....ment-23842
Gareth Adams:
I really don’t see the problem: IE8 will function like the crappy IE7 we’re already coding for (and will be long after IE8 comes out), just don’t add the stupid meta tag and you’ll never even have to test on IE8 compatibility ;)
Robert O’Callahan:
Horse, cart, people. Write code that is flexible by following the standards. If a web browser can’t display that, then that’s their fault, and you have an excellent reason to stop using it. Making it comfortable for people to leave their non-standard code all over the web is not a Good Thing. Making it comfortable for people to continue using IE-specific code is only good for Microsoft, so no wonder they’re for it: duh!
Why are we all trying to figure out how to make Microsoft’s past mistakes seem more acceptable? Seriously, if anyone wrote a lot of code that only works in IE-6 then they deserve the full force of the pain they get when IE-not6 becomes the new fad. Do I feel an ounce of pity? Um….
The HTML 5 DTD though, I totally endorse. HTML5 in my humble opinion already looks like a BIG step up from HTML4, much less building “off of” something, and much more “building on”. It’s the way to go.
If declaring your page HTML5 will kick IE into IE8 compatibility mode, then woooo!!!! Yeah cool, ok, whatever. Ignore IE. It’s good if it gets kicked into super standards mode without your adding any extra markup, that’s the way it should be.
We’ve been down this road as developers before with conditional comments, browser sniffing, CSS Hacks, Doctype Switching……..
Please don’t add any extra markup to your page to accommodate poorly designed browsers. It’s not your responsibility. If your users are making the choice to use such a browser then let them suffer the consequences. If they’ve not made a choice, make sure that they are aware that there is a choice to be made.
If they are choosing to use IE, they are prepared to see a lot of incorrectly-rendered pages. Perhaps that is why they choose IE in the first place - as a joke. Who are you to force attractive and functional pages down their throats? Clearly, IE users do not want attractive or functional pages.
END BROWSER SNIFFING!!!
HTML5 though, I’m all for that :)
2September 15th, 2008 at 2:14 pm
xHTML Coding Says:Version targetting seems to be something which most of the smaller browser developer seem to think is “un-cool”.
MS obviously thinks its a good thing for a variety of junky reasons.
But, the real question is whether the users will REALLY benefit out of this.
3June 30th, 2009 at 4:20 am
Vancouver Web Design Says:It’s a sad reality of the web today, but you have to do version targeting if you’re a serious professional. Someday somebody will own the entire marketplace which will be sad, but at least it will help with standards!
4July 16th, 2009 at 5:34 am
vancouver web design Says:As designers, we don’t necessarily have the luxury of telling clients that large portions of their site visitors need to buck up or else look at nonsensical design elements.
We have to keep everyone happy and that means accommodating the evil empire and their non-compliant ways
5December 1st, 2009 at 9:48 pm
Jason Says:Thanks I’ll be sure to remember this when working on my website =)
6July 15th, 2010 at 8:38 am
slovar dalja Says:Version targetting seems to be something which most of the smaller browser developer seem to think is “un-cool”.
MS obviously thinks its a good thing for a variety of junky reasons.
But, the real question is whether the users will REALLY benefit out of this.