Filename extension |
|
---|---|
Internet media type | text/html |
Type code | TEXT |
Uniform Type Identifier (UTI) | public.html |
Developed by | W3C |
Initial release | 28 October 2014 |
Type of format | Markup language |
Standard | HTML 5.2 |
Open format? | Yes |
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It was the fifth and last major version of HTML that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML Living Standard and is maintained by a consortium of the major browser vendors (Apple, Google, Mozilla, and Microsoft), the Web Hypertext Application Technology Working Group (WHATWG).
HTML5 was first released in public-facing form on 22 January 2008, with a major update and "W3C Recommendation" status in October 2014. Its goals were to improve the language with support for the latest multimedia and other new features; to keep the language both easily readable by humans and consistently understood by computers and devices such as web browsers, parsers, etc., without XHTML's rigidity; and to remain backward-compatible with older software. HTML5 is intended to subsume not only HTML 4, but also XHTML 1 and DOM Level 2 HTML.
HTML5 includes detailed processing models to encourage more interoperable implementations; it extends, improves and rationalizes 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 candidate for cross-platform mobile applications, because it includes features designed with low-powered devices in mind.
Many new syntactic features are included. To natively include and handle multimedia and graphical content, the new ,
and elements were added, and support for scalable vector graphics (SVG) content and MathML for mathematical formulas. To enrich the semantic content of documents, new page structure elements are added. New attributes are introduced, some elements and attributes have been removed, and others such as
,
and have been changed, redefined, or standardized. The APIs and Document Object Model (DOM) are now fundamental parts of the HTML5 specification and HTML5 also better defines the processing for any invalid documents.
History
The Web Hypertext Application Technology Working Group (WHATWG) began work on the new standard in 2004. At that time, HTML 4.01 had not been updated since 2000, and the World Wide Web Consortium (W3C) was focusing future developments on XHTML 2.0. In 2009, the W3C allowed the XHTML 2.0 Working Group's charter to expire and decided not to renew it.
The Mozilla Foundation and Opera Software presented a position paper at a World Wide Web Consortium (W3C) workshop in June 2004, focusing on developing technologies that are backward-compatible with existing browsers,
including an initial draft specification of Web Forms 2.0. The workshop
concluded with a vote—8 for, 14 against—for continuing work on HTML.
Immediately after the workshop, WHATWG was formed to start work based
upon that position paper, and a second draft, Web Applications 1.0, was
also announced. The two specifications were later merged to form HTML5. The HTML5 specification was adopted as the starting point of the work of the new HTML working group of the W3C in 2007.
WHATWG's Ian Hickson (Google) and David Hyatt (Apple) produced W3C's first public working draft of the specification on 22 January 2008.
"Thoughts on Flash"
While some features of HTML5 are often compared to Adobe Flash, the two technologies are very different. Both include features for playing audio and video within web pages, and for using Scalable Vector Graphics. However, HTML5 on its own cannot be used for animation or interactivity – it must be supplemented with CSS3 or JavaScript. There are many Flash capabilities that have no direct counterpart in HTML5. HTML5's interactive capabilities became a topic of mainstream media attention around April 2010 after Apple Inc.'s then-CEO Steve Jobs
issued a public letter titled "Thoughts on Flash" in which he concluded
that "Flash is no longer necessary to watch video or consume any kind
of web content" and that "new open standards created in the mobile era,
such as HTML5, will win".
This sparked a debate in web development circles suggesting that, while
HTML5 provides enhanced functionality, developers must consider the
varying browser support of the different parts of the standard as well
as other functionality differences between HTML5 and Flash. In early November 2011, Adobe
announced that it would discontinue development of Flash for mobile
devices and reorient its efforts in developing tools using HTML5. On 25 July 2017, Adobe announced that both the distribution and support of Flash will cease by the end of 2020.
Last call, candidacy, and recommendation stages
On
14 February 2011, the W3C extended the charter of its HTML Working
Group with clear milestones for HTML5. In May 2011, the working group
advanced HTML5 to "Last Call", an invitation to communities inside and
outside W3C to confirm the technical soundness of the specification. The
W3C developed a comprehensive test suite to achieve broad
interoperability for the full specification by 2014, which was the
target date for recommendation. In January 2011, the WHATWG renamed its "HTML5" specification HTML Living Standard. The W3C nevertheless continued its project to release HTML5.
In July 2012, WHATWG and W3C decided on a degree of separation.
W3C will continue the HTML5 specification work, focusing on a single
definitive standard, which is considered as a "snapshot" by WHATWG. The
WHATWG organization continues its work with HTML5 as a "living
standard". The concept of a living standard is that it is never complete
and is always being updated and improved. New features can be added but
functionality will not be removed.
In December 2012, W3C designated HTML5 as a Candidate Recommendation. The criterion for advancement to W3C Recommendation is "two 100% complete and fully interoperable implementations".
On 16 September 2014, W3C moved HTML5 to Proposed Recommendation. On 28 October 2014, HTML5 was released as a W3C Recommendation, bringing the specification process to completion. On 1 November 2016, HTML 5.1 was released as a W3C Recommendation. On 14 December 2017, HTML 5.2 was released as a W3C Recommendation.
Timeline
The combined timelines for HTML 5.0, HTML 5.1 and HTML 5.2:
Version | First draft | Candidate recommendation | Recommendation |
---|---|---|---|
HTML 5.0 | 2007 | 2012 | 2014 |
HTML 5.1 | 2012 | 2015 | 2016 |
HTML 5.2 | 2015 | 2017 | 2017 |
HTML 5.3 | 2017 | N/A | N/A |
W3C and WHATWG conflict
The W3C ceded authority over the HTML and DOM standards to WHATWG on
28 May 2019, as it considered that having two standards is harmful. The HTML Living Standard is now authoritative. However, W3C will still participate in the development process of HTML.
Before the ceding of authority, W3C and WHATWG had been characterized as both working together on the development of HTML5, and yet also at cross purposes
ever since the July 2012 split, creating WHATWG. The W3C standard was
snapshot-based and static, while the WHATWG is a continually updated
"living standard". The relationship had been described as "fragile",
even a "rift", and characterized by "squabbling".
In at least one case, namely the permissible content of the
<cite>
element, the two specifications directly contradicted each other (as of July 2018), with the W3C definition being permissive and reflecting traditional use of the element since its introduction, but WHATWG limiting it to a single defined type of content (the title of the work cited). This is actually at odds with WHATWG's stated goals of ensuring backward compatibility and not losing prior functionality.
The "Introduction" section in the WHATWG spec (edited by Ian "Hixie" Hickson) is critical of W3C, e.g. "Note:
Although we have asked them to stop doing so, the W3C also republishes
some parts of this specification as separate documents." In its
"History" subsection it portrays W3C as resistant to Hickson's and
WHATWG's original HTML 5 plans, then jumping on the bandwagon belatedly
(though Hickson was in control of the W3C HTML 5 spec, too). Regardless,
it indicates a major philosophical divide between the organizations:
For a number of years, both groups then worked together. In 2011, however, the groups came to the conclusion that they had different goals: the W3C wanted to publish a "finished" version of "HTML5", while the WHATWG wanted to continue working on a Living Standard for HTML, continuously maintaining the specification rather than freezing it in a state with known problems, and adding new features as needed to evolve the platform.
Since then, the WHATWG has been working on this specification (amongst others), and the W3C has been copying fixes made by the WHATWG into their fork of the document (which also has other changes).
The two entities signed an agreement to work together on a single version of HTML on 28 May 2019.
Differences between the two standards
In addition to the contradiction in the
<cite>
element mentioned above, other differences between the two standards include at least the following, as of September 2018:W3C | WHATWG | |
---|---|---|
Site pagination | Single page version (allows global search of contents) | |
Chapters | §5 Microdata
§9 Communication
§10 Web workers §11 Web storage | |
Global attributes | class , id
|
autocapitalize , enterkeyhint , inputmode , is , itemid , itemprop , itemref , itemscope , itemtype , nonce
|
Chapter Elements of HTML | §4.13 Custom elements | |
Elements | , (See compatibility notes below.)
is in section Grouping content.
|
, , (See compatibility notes below.)
is in section Sections.
|
§
|
§4.2.5.4. Other pragma directives, based on deprecated WHATWG procedure. | |
§ Sections | § 4.3.11.2 Sample outlines § 4.3.11.3 Exposing outlines to users | |
Structured data | Recommends RDFa (code examples, separate specs, no special attributes). | Recommends Microdata (code examples, spec chapter, special attributes). |
The following table provides data from the Mozilla Development
Network on compatibility with major browsers, as of September 2018, of
HTML elements unique to one of the standards:
Element | Standard | Compatibility | Note |
---|---|---|---|
|
W3C | All browsers, except Edge | |
|
W3C | None, except Firefox | |
|
WHATWG | All browsers | "[Since] the HTML outline algorithm is not implemented in any browsers ... the
semantics are in practice only theoretical." |
|
WHATWG | Full support only in Edge and Firefox desktop.
Partial support in Firefox mobile.
Supported in Opera with user opt-in. Not supported in other browsers. |
Experimental technology |
|
WHATWG | All browsers, except IE | Experimental technology |
Features and APIs
The W3C proposed a greater reliance on modularity as a key part of
the plan to make faster progress, meaning identifying specific features,
either proposed or already existing in the spec, and advancing them as
separate specifications. Some technologies that were originally defined
in HTML 5 itself are now defined in separate specifications:
- HTML Working Group – HTML Canvas 2D Context;
- Web Apps Working Group – Web Messaging, Web workers, Web storage, WebSocket, Server-sent events, Web Components (this was not part of HTML 5, though); the Web Applications Working Group was closed in October 2015 and its deliverables transferred to the Web Platform Working Group (WPWG).
- IETF HyBi Working Group – WebSocket Protocol;
- WebRTC Working Group – WebRTC;
- Web Media Text Tracks Community Group – WebVTT.
After the standardization of the HTML 5 specification in October 2014, the core vocabulary and features are being extended in four ways.
Likewise, some features that were removed from the original HTML 5
specification have been standardized separately as modules, such as Microdata and Canvas. Technical specifications introduced as HTML 5 extensions such as Polyglot markup
have also been standardized as modules. Some W3C specifications that
were originally separate specifications have been adapted as HTML 5
extensions or features, such as SVG.
Some features that might have slowed down the standardization of HTML 5
will be standardized as upcoming specifications, instead. HTML 5.1 was
finalized in 2016, and it is currently on the standardization track at
the W3C.
Features
Markup
HTML 5 introduces elements
and attributes that reflect typical usage on modern websites. Some of
them are semantic replacements for common uses of generic block (
) and inline (
) elements, for example
(website navigation block),
(usually referring to bottom of web page or to last lines of HTML code), or
and
instead of
.
Some deprecated elements from HTML 4.01 have been dropped, including purely presentational elements such as
and
, whose effects have long been superseded by the more capable Cascading Style Sheets. There is also a renewed emphasis on the importance of DOM scripting in Web behavior.
The HTML 5 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,
, which triggers the standards-compliant rendering mode.
Since 5 January 2009, HTML 5 also includes Web Forms 2.0, a previously separate WHATWG specification.
New APIs
In addition to specifying markup, HTML 5 specifies scripting application programming interfaces (APIs) that can be used with JavaScript. Existing Document Object Model (DOM) interfaces are extended and de facto features documented. There are also new APIs, such as:
- Canvas;
- Timed Media Playback;
- Offline;
- Editable content;
- Drag and drop;
- History;
- MIME type and protocol handler registration;
- Microdata;
- Web Messaging;
- 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 HTML 5
specification, though they are in the WHATWG HTML specification.
Some related technologies, which are not part of either the W3C HTML 5
or the WHATWG HTML specification, are as follows. The W3C publishes
specifications for these separately:
- Geolocation;
- IndexedDB – an indexed hierarchical key-value store (formerly WebSimpleDB);
- File – an API intended to handle 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;
- Web Audio – a high-level JavaScript API for processing and synthesizing audio in web applications;
- ClassList.
- Web cryptography API
- WebRTC
- Web SQL Database – a local SQL Database (no longer maintained);
HTML 5 cannot provide animation within web pages. Additional JavaScript or CSS3 is necessary for animating HTML elements. Animation is also possible using JavaScript and HTML 4, and within SVG elements through SMIL, although browser support of the latter remains uneven as of 2011.
XHTML 5 (XML-serialized HTML 5)
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. XHTML 5 is
simply XML-serialized HTML 5 data (that is, HTML 5 constrained to
XHTML's strict requirements, 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 known as polyglot markup.
Error handling
HTML 5 is designed so that old browsers can safely ignore new HTML 5 constructs. In contrast to HTML 4.01, the HTML 5 specification gives detailed rules for lexing and parsing, with the intent that compliant browsers will produce the same results when parsing incorrect syntax. Although HTML 5 now defines a consistent behavior for "" documents, those documents are not regarded as conforming to the HTML 5 standard.
Popularity
According
to a report released on 30 September 2011, 34 of the world's top 100
Web sites were using HTML 5 – 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 implemented HTML5 on their corporate websites.
Since 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
(onmeta
),async
(onscript
) - 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
W3C Working Group publishes "HTML5 differences from HTML 4", which provides a complete outline of additions, removals and changes between HTML 5 and HTML 4.
Logo
On 18 January 2011, the W3C introduced a logo to represent the use of
or interest in HTML 5. Unlike other badges previously issued by the
W3C, it does not imply validity or conformance to a certain standard. As
of 1 April 2011, this logo is official.
When initially presenting it to the public, the W3C announced the
HTML 5 logo as a "general-purpose visual identity for a broad set of
open web technologies, including HTML 5, CSS, SVG, WOFF, and others". Some web standard advocates, including The Web Standards Project,
criticized that definition of "HTML5" as an umbrella term, pointing out
the blurring of terminology and the potential for miscommunication.
Three days later, the W3C responded to community feedback and changed
the logo's definition, dropping the enumeration of related technologies. The W3C then said the logo "represents HTML5, the cornerstone for modern Web applications".
Digital rights management
Industry players including the BBC, Google, Microsoft, Apple Inc. have been lobbying for the inclusion of Encrypted Media Extensions (EME), a form of digital rights management (DRM), into the HTML 5 standard. As of the end of 2012 and the beginning of 2013, 27 organisations including the Free Software Foundation have started a campaign against including digital rights management in the HTML 5 standard. However, in late September 2013, the W3C HTML Working Group
decided that Encrypted Media Extensions, a form of DRM, was "in scope"
and will potentially be included in the HTML 5.1 standard. WHATWG's "HTML Living Standard" continued to be developed without DRM-enabled proposals.
Manu Sporny, a member of the W3C, said that EME will not solve the problem it's supposed to address.
Opponents point out that EME itself is just an architecture for a DRM plug-in mechanism.
The initial enablers for DRM in HTML 5 were Google and Microsoft. Supporters also include Adobe. On 14 May 2014, Mozilla announced plans to support EME in Firefox, the last major browser to avoid DRM.
Calling it "a difficult and uncomfortable step", Andreas Gal of Mozilla
explained that future versions of Firefox would remain open source but
ship with a sandbox designed to run a content decryption module
developed by Adobe, later it was replaced with Widevine module from Google
which is much widely adopted by content providers. While promising to
"work on alternative solutions", Mozilla's Executive Chair Mitchell Baker stated that a refusal to implement EME would have accomplished little more than convincing many users to switch browsers. This decision was condemned by Cory Doctorow and the Free Software Foundation.