HTML and CSS Reference
As all versions of HTML have done, HTML5 builds on what came before, always refining and extending
and improving. In fact, HTML5 is still taking shape as we write this in the summer of 2011, though they're
aiming for the spec to be completed in 2012. But, although the specification is incomplete at the moment,
it's relatively stable at the time of this writing (knock on wood) and there's nothing preventing you from
using the fundamentals of HTML5 on the Web today.
Two groups—WHATWG and the W3C—are working on HTML5 in tandem. Although the
specification is still taking shape, you can read the work in progress at their respective
websites: WHATWG's version is at whatwg.org/html and the W3C's is at
w3.org/TR/html5/ . Depending on when each was last updated, there may be some
differences between the two versions of the spec, and both are works in progress and
subject to change. Generally speaking, the WHATWG version includes the very latest
changes, and the W3C version is a bit more refined and finalized.
One of the tenets of HTML5 is to maintain backward compatibility (something XHTML 2 would have
broken); existing content must continue to function under HTML5. In that sense, any document marked up
in any version or variant of HTML is already an HTML5 document, and any browser that interprets HTML
already supports most of HTML5. What really matters is browser support for the few specific features that
are brand new.
HTML5 introduces a number of new tags and attributes that didn't exist in any prior HTML version. Current
versions of most popular browsers already support many of these new features, whereas some other
advanced features aren't fully developed and aren't yet supported by browsers, but that tide is changing at
a breakneck pace. All the major browser makers—Mozilla, Microsoft, Apple, Google, and Opera—are
releasing frequent updates to their browsers, improving support for the finer points of HTML5 with each
What's in HTML5?
As often happens with any advance in technology, “HTML5” was quickly seized upon as a buzzword to
make things sound bleeding edge and cool, even if what was being discussed wasn't part of HTML5 at all.
A broad range of technologies and techniques were soon lumped together under the banner of “HTML5,”
leading to a great deal of confusion about just what is and isn't, in actuality, HTML5.
HTML5 is simply the next iteration of HTML, the language that gives web content its necessary structure.
As you read earlier in this chapter, HTML tags form structural elements in a document, allowing readers
(and programs) to differentiate a headline from a paragraph, or a paragraph from a list, or a list from a
quotation, and so on. Content without structure is content without meaning. This latest version of HTML
introduces a number of new, meaningful elements that were lacking in HTML 4 and XHTML. In addition to
the usual headings, paragraphs, tables, and lists, there are new elements for things like navigation,
menus, articles, summaries, dates and times, figures with captions, and a heap of new interactive form