HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web.
Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). HTML5 is intended to subsume not only HTML 4, but also XHTML 1 and DOM Level 2 HTML.
Following its immediate predecessors HTML 4.01 and XHTML 1.1, HTML5 is a response to the fact that the HTML and XHTML in common use on the World Wide Web are a mixture of features introduced by various specifications, along with those introduced by software products such as web browsers, those established by common practice, and the many syntax errors in existing web documents. It is also an attempt to define a single markup language that can be written in either HTML or XHTML syntax. It includes detailed processing models to encourage more interoperable implementations; it extends, improves and rationalises the markup available for documents, and introduces markup and application programming interfaces (APIs) for complex web applications. For the same reasons, HTML5 is also a potential candidate for cross-platform mobile applications. Many features of HTML5 have been built with the consideration of being able to run on low-powered devices such as smartphones and tablets. In December 2011, research firm Strategy Analytics forecast sales of HTML5 compatible phones would top 1 billion in 2013.
HTML5 adds many new syntactic features. These include the new <video>, <audio> and <canvas> elements, as well as the integration of scalable vector graphics (SVG) content (replacing generic <object> tags), and MathML for mathematical formulas. One of the major changes in HTML5 is in respect to how HTML addresses Web applications. Other new features in HTML5 include specific functions for embedding graphics, audio, video, and interactive documents. New elements also allow you to define sections of your Web page using new tags such as < article > which defines an article, < nav > which defines navigation links, < source > which defines media resources, and many others. For example, the navigation section of your page would be enclosed in the < nav > tags.
These features are designed to make it easy to include and handle multimedia and graphical content on the web without having to resort to proprietary plugins and APIs. Other new elements, such as <section>, <article>, <header> and <nav>, are designed to enrich thesemantic content of documents. New attributes have been introduced for the same purpose, while some elements and attributes have been removed. Some elements, such as <a>, <cite> and <menu> have been changed, redefined or standardized. The APIs andDocument Object Model (DOM) are no longer afterthoughts, but are fundamental parts of the HTML5 specification. HTML5 also defines in some detail the required processing for invalid documents so that syntax errors will be treated uniformly by all conforming browsers and other user agents.
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 triggers the standards-compliant rendering mode. Since 5 January 2009, HTML5 also includes Web Forms 2.0, a previously separate WHATWG specification.
HTML5 related APIs.
The canvas element for immediate mode 2D drawing. See Canvas 2D API Specification 1.0 specification
Timed media playback
Offline Web Applications
Browser history management
MIME type and protocol handler registration
Web Storage, a key-value pair storage framework that provides behaviour similar to cookies but with larger storage capacity and improved API.
Not all of the above technologies are included in the W3C HTML5 specification, though they are in the WHATWG HTML specification. Some related technologies, which are not part of either the W3C HTML5 or the WHATWG HTML specification, are as follows. The W3C publishes specifications for these separately:
Web SQL Database, a local SQL Database (no longer maintained).
The Indexed Database API, an indexed hierarchical key-value store (formerly WebSimpleDB).
HTML5 File API, handles file uploads and file manipulation.
Directories and System, an API intended to satisfy client-side-storage use cases not well served by databases.
File Writer, an API for writing to files from web applications.
XHTML5 (XML-serialized HTML5)
XML documents must be served with an XML Internet media type (often called “MIME type”) such as application/xhtml+xml or application/xml, and must conform to strict, well-formed syntax of XML. XHTML5 is simply a XML-serialized HTML5 data (e.g. not having any unclosed tags), sent with one of XML media types. HTML that has been written to conform to both the HTML and XHTML specifications and which will therefore produce the same DOM tree whether parsed as HTML or XML is termed “polyglot markup”.
HTML5 is designed so that old browsers can safely ignore new HTML5 constructs. In contrast to HTML 4.01, the HTML5 specification gives detailed rules for lexing and parsing, with the intent that different compliant browsers will produce the same result in the case of incorrect syntax. Although HTML5 now defines a consistent behavior for “tag soup” documents, those documents are not regarded as conforming to the HTML5 standard.
According to a report released on 30 September 2011, 34 of the world’s top 100 Web sites were using HTML5 €“ the adoption led by search engines and social networks. Another report released in August 2013 has shown that 153 of the Fortune 500 U.S. companies already implemented HTML5 on their corporate websites.
As of 2014, HTML 5 is at least partially supported by most popular layout engines.
Differences from HTML 4.01 and XHTML 1.x
The following is a cursory 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, bdi, canvas, command, data, datalist, details, embed, figcaption, figure, footer, header, keygen, mark, meter,nav, output, progress, rp, rt, ruby, section, source, summary, time, track, video, wbr
New types of form controls: dates and times, email, url, search, number, range, tel, color
New attributes: charset (on meta), async (on script)
Global attributes (that can be applied for every element): id, tabindex, hidden, data-* (custom data attributes)
Deprecated elements will be dropped altogether: acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt
dev.w3.org provides the latest Editors Draft of “HTML5 differences from HTML 4”, which provides a complete outline of additions, removals and changes between HTML5 and HTML 4.