views:

13876

answers:

9
<!DOCTYPE html>

It is supposed to be backwards compatible with HTML4 and XHTML. John Resig posted about some of the benefits.

As long as we don't use any of the new and not supported yet features, would there be any downside to start building sites with this doctype?

+1  A: 

I'd say use it and test extensively. Then let us know if it blew your house up or something. :')

Bernard
+2  A: 

My question to you would be why use it if you don't use any of the new/unsupported features. I'm not saying you couldn't play around with it, but why start building sites with a doctype that offers no benefits and could be supplemented by XHTML5.

jtyost2
“Why use it if you don't use any of the new/unsupported features” - because it’s shorter and easier to remember? Not a big thing, obviously, but still.
Paul D. Waite
Yeah, but wouldn't that be XHTML 1.2 or XHTML 2.0? ;)
Talvi Watia
A: 

if you're going to use the doctype, experiment with the features. As long as they don't go into a production site, and you test them thoroughly, have at it.

contagious
A: 

Personally I'd say no. There is no clear benefit to HTML5 and in fact would go as far as to say that the whole thing is botched from the start.

Having specialised tags for header, footers and sidebars is a huge mistake - you've got them already in the form of tags (div) and names (classes/id's). Why do we need the specialist ones? XHTML1.1 is good enough, period. In fact, since most browsers don't support HTML4 correctly, there is little point in using a doctype that is going to take years to get proper support.

graham.reeds
It's about semantics. You could perfectly well get rid of almost every single tag in HTML and use nothing but div, span and style/class attributes. But you remove all semantic value from the document by doing so.
Laurent
Just think of how useful it'll be for search engines.
Leo Jweda
@Laurent: So if I want a header to be now a sidebar, I have to go through all my css and markup switching them around because it's no longer semantically correct? No. Make it a div, call it what it does and use it how you will.@Laith:In what respect will it be good for search engines?
graham.reeds
Canvas: Want to use it? You can't. Or you can, but you are now in the land of targeted programming. Which is not the point of standards.
graham.reeds
“Make it a div, call it what it does and use it how you will.” — Damn straight. Whilst you’re at it, do the same for all your paragraphs and lists. How do I type a sarcmark here.
Paul D. Waite
+73  A: 

Well consider this:

When serving as text/html, all you need a doctype for is to trigger standards mode. Beyond that, the doctype does nothing as far as browsers are concerned.

When serving as text/html, whether you use XHTML markup or HTML markup, it's treated by browsers as HTML.

So, really it comes down to using the shortest doctype that triggers standards mode (<!DOCTYPE html>) and using HTML markup that produces the correct result in browsers.

The rest is about conforming, validation and markup prerference.

With that said, using <!DOCTYPE html> now and trying to make your markup conform to HTML5 is not a bad idea as long as you stick to stable features that work in browsers now. You wouldn't use anything in HTML4 or XHTML 1.x that doesn't work in browsers, would you?

In other words, you use <!DOCTYPE html> with HTML4-like markup while honoring things that have been clarified in HTML5. HTML5 is about browser compatibility after all.

The downside to using HTML5 now is that the spec can change quite often. This makes it important for you to keep up with the spec as it actively changes. Also http://validator.nu/ might not always be up-to-date, but http://validator.w3.org/ isn't always up-to-date either, so don't let that stop you.

Of course, if you want to use XHTML 1.0 markup and conform to XHTML 1.0, then you shouldn't use <!DOCTYPE html>.

Personally, I always use <!DOCTYPE html> for HTML.

Shadow2531
I thought that omitting the URI throws browsers into quirks mode, thus making working to standards a futile effort.
graham.reeds
Why can't you use XHTML 1.0 markup as <!DOCTYPE html>? I thought that was the point!
Skilldrick
Skilldrick, you can write polyglot docs yes. http://stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531
“I thought that omitting the URI throws browsers into quirks mode” — Nope. A big part of the work on HTML5 was Ian Hickson relentlessly testing lots of commonly-used browsers to see what worked, and how. The HTML5 doctype triggers standards mode in (I believe) all browsers that have such a thing.
Paul D. Waite
@grahm.reeds: according to wikipeda table http://en.wikipedia.org/wiki/Quirks_mode#cite_note-sivonen-1 HTML 5 triggers full STANDARD MODE.
Marco Demajo
If it helps, I just tested <!DOCTYPE html> in IE8, IE7 (using IE8 dev tools), and IE6 (using Virtual PC). None of them went into quirks mode. So even old IE can definitely handle the standard HTML5 doctype without going into quirks mode.
Syntax Error
+2  A: 

Based on the latest IE8 beta, it seems that MS will use the HTML5 doctype as a bypass for the IE8 mode switching quagmire. It seems that the biggest risk with deploying the HTML5 doctype early is that if people publish a lot of IE8-incompatible content with the HTML5 doctype before IE8 ships, MS might get cold feet about making the mode situation simple for HTML5.

Update: This has been voted down, it seems. Quite obviously now that IE8 has shipped, the above consideration no longer applies. And indeed, the situation is not simple with IE8.

hsivonen
+1  A: 

Consider your audience and your needs. I write pages such as class tests with a target audience of students in my courses who use FireFox 3 in an Ubuntu equipped computer laboratory. I need SVG with MathMl embedded as a foreignObject in the SVG. I use the HTML5 doctype and new HTML5 tags freely.

A: 

Take a look at this blog post! Not really a fan of HTML5 http://www.webscienceman.com/2009/01/24/html-xhtml-html5-future-html/

A: 

The downside for me mainly concerns validation:

  1. Third party validation tools does not always keep up with changing specs, making my favorite tools unreliable.
  2. I prefer to validate against strict doctypes to make sure I have closed all elements. It's an easy way to avoid simple but time consuming nesting errors. With HTML 5 you don't have to close your elements, so there is no way to find unmatched tags.
Mediascreen