There's been a lot of talking about the recent announcement of the W3C about the early adoption of HTML5. Though the advice of not sticking too early to HTML5 seems absolutely reasonable, there are some things that need to be cleared. First, W3C's announcement is mainly related to the fact that HTML5 is still a draft. This means that in a not too remote future some changes might be added to the specifications, thus resulting in invalid pages.
Second, HTML5 has been designed to be fully backward-compatible. Although most of HTML5 elements are
actually valid HTML 4 elements, there are some brand new elements (and attributes) that browsers are not able
to recognize. When a browser encounters an unknown HTML element, it simply treats it as an anonymous element with no
default styles and no predefined actions. This is the case, for example, of the
abbr element in Internet
Explorer 6. Some developers think that the presence of unknown elements makes a browser switch to quirks mode.
This is only a rumour.
The real problem, instead, actually involves assistive technologies that parse and render an HTML5 document.
For example, a screen reader that stumbles on an
article element doesn't know in advance how to handle it.
As a result, it's very likely that a screen reader will ignore completely such an element together with all of its
Instead, DOM scripting should work fine, because unknown elements can actually be treated as a subset of the generic
HTMLElement interface, though some non-standard features (such as the
innerHTML property) should
be carefully tested.
To summarize: W3C's experts didn't say "do not use HTML5" but "use it carefully". For example, you should use common HTML 4 elements to make sure that your documents are still backward-compatible. Instead, using an HTML5 DOCTYPE is safe, because not-supporting browsers do not switch to quirks mode when they encounter it. I think we should wait until we can use HTML5 in a more complete way.