HTML5 is currently being developed as the next major revision of HTML (HyperText Markup Language), the core markup language of the World Wide Web. HTML5 is the proposed next standard for HTML 4.01, XHTML 1.0 and DOM Level 2 HTML. It aims to reduce the need for proprietary plug-in-based rich internet application (RIA) technologies such as Adobe Flash and Microsoft Silverlight. In common usage, HTML5 may also refer to the additional use of CSS3, as both technologies are under development in parallel. See the colourful infographic called “WTF is HTML5?”created by Focus.com.
W3C Standardization Process:
The Web Hypertext Application Technology Working Group (WHATWG) started work on the specification in June 2004 under the name Web Applications 1.0. As of March 2010, the specification is in the Draft Standard state at the WHATWG, and in Working Draft state at the W3C. Ian Hickson of Google, Inc. is the editor of HTML5.
The HTML5 specification was adopted as the starting point of the work of the new HTML working group of the World Wide Web Consortium (W3C) in 2007. This working group published the First Public Working Draft of the specification on January 22, 2008. The specification is an ongoing work, and is expected to remain so for many years, although parts of HTML5 are going to be finished and implemented in browsers before the whole specification reaches final Recommendation status.
According to the W3C timetable, it is estimated that HTML5 will reach W3C Recommendation by late 2010. However, the First Public Working Draft estimate was missed by 8 months, and Last Call and Candidate Recommendation were expected to be reached in 2008, but as of May 2010 HTML5 is still at Working Draft stage in the W3C. HTML5 has been at Last Call in the WHATWG since October 2009. Ian Hickson, editor of the HTML5 specification, expects the specification to reach the W3C Candidate Recommendation stage during 2012, and W3C Recommendation in the year 2012 or later.
The HTML5 syntax is no longer based on SGML despite the similarity of its markup. It has, however, been designed to be backward compatible with common parsing of older versions of HTML. It comes with a new introductory line that looks like an SGML document type declaration, <!DOCTYPE html>, which enables standards-compliant rendering in all browsers that use “DOCTYPE sniffing”.
HTML5 also incorporates Web Forms 2.0, another WHATWG specification.
In addition to specifying markup, HTML5 specifies scripting application programming interfaces (APIs). Existing document object model (DOM) interfaces are extended and de facto features documented. There are also new APIs, such as:
- The canvas element for immediate mode 2D drawing
- Timed media playback
- Offline storage database (offline web applications)
- Document editing
- Cross-document messaging (web messaging)
- Browser history management
- MIME type and protocol handler registration.
Some of the new features are part of HTML5 mainly because there are no volunteers to split HTML5 and maintain separate specifications of these features.
Differences from HTML 4.01 and XHTML 1.x
The following is a list of differences and some specific examples:
- New parsing rules: oriented towards flexible parsing and compatibility; not based on SGML;
- Ability to use inline SVG and MathML in text/html;
- New elements: article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, meter, nav, output, progress, rp, rt, ruby, section, source, summary, time, video
- New types of form controls: dates and times, email, url, search;
- New attributes: ping (on a and area), charset (on meta), async (on script);
- Global attributes (that can be applied for every element): id, tabindex, hidden, data-* (custom data attributes);
- Forms will get support for PUT and DELETE methods too instead of just GET and POST (see Representational State Transfer for use cases);
- Deprecated elements will be dropped altogether: acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, s, strike, tt, u. [HTML5 via Wiki and Focus]