HTML 5 (HyperText Markup Language Version 5) is the fifth major revision of the core language of the World Wide Web, HTML. HTML 5 specifies two variants of the same language, a "classic" HTML (text/html) variant known as HTML 5 and an XHTML variant known as XHTML 5. This is the first time that HTML and XHTML have been developed in parallel. The HTML 5 draft specification defines a single language that can be written in HTML and XML.and addresses the needs of Web Applications, an area previously not adequately covered by HTML.
The WHATWG specification defines some interesting new elements:
- section—a generic grouping of content in a document or application
- article—a section of a page that consists of a composition that forms an independent part of a document, page, or site, such as a forum post, newspaper article, etc.
- aside—a section of a page that consists of content that is slightly related to the content around the element, but could be considered separate from that content, such as a sidebar
- dialog—a conversation involving an explicit talker/speaker represented by a dt element and a discourse represented by a dd element
- footer—represents the footer for the section to which it applies and contains information such as the author, copyright data, and related links
- header—represents the header of a section used to denote summaries, outlines, etc.
- nav—a section of a page that links to other pages or to parts within the page
The WHATWG specification defines the following categories for HTML elements:
- Metadata elements—used to represent metadata in a document’s head element. This includes elements such as title, base, and link
- Sectioning elements—used to divide a page into sections. This includes elements such as body, section, nav, and article
- Block-level elements—used for structural grouping of page content. This includes elements such as blockquote, section, p, and div.
- Strictly inline-level content—text, embedded content, and elements that annotate text without introducing structural grouping. This includes elements such as a, meter, and img
- Structured inline-level elements—block-level elements that can also be used as inline-level content, such as ol, blockquote, and table
- Interactive elements—elements that can be activate by a user agent via things like a mouse or keyboard. This includes elements such as a, button, and radio input elements.
- Form control elements
- Miscellaneous elements
Differences from HTML 4/XHTML 1.x
Here is a cursory list of differences and some specific examples:
- New parsing rules oriented towards flexible parsing and compatibility
- New elements – section, audio, video, progress, nav, meter, time, aside, canvas
- New input attributes – dates and times, email, url
- New attributes – ping, charset, async
- Global attributes (that can be applied for every element) – id, tabindex, repeat
- Deprecated elements dropped – center, font, strike
The following existing HTML4 elements are not defined in HTML5:
- acronym (use <abbr> instead)
- applet (use <object> instead)
- noscript (only in XHTML)
Here are resources worth exploring:
- HTML 5 differences from HTML 4
- WHATWG and HTML 5 FAQ
- HTML 5 validator
- HTML 5 specification tracker
- New elements in HTML 5
- HTML5 Elements and Attributes