Full Stack HTML5

HTML 5 (formerly and commonly spelled HTML5[a]) is a software solution stack that defines the properties and behaviors of web page content by implementing a markup based pattern to it.

HTML 5 is the fifth and current major version of the HTML standard, and subsumes XHTML. It currently exists in two standardized forms: HTML 5.2 Recommendation[4] by the World Wide Web Consortium (W3C, a broad coalition of organizations), intended primarily for Web content developers; and HTML Living Standard[5] by WHATWG (a small consortium of four browser vendors), intended primarily for browser developers, though it also exists in an abridged Web developer version.[6] There are minor conflicts between the two groups’ specifications.

HTML 5 was first released in public-facing form on 22 January 2008,[7] with a major update and “W3C Recommendation” status in October 2014.[2][8] Its goals are 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. HTML 5 is intended to subsume not only HTML 4, but also XHTML 1 and DOM Level 2 HTML;[9] the HTML 4 and XHTML specs were announced as superseded by HTML 5.2 on 27 March 2018.[10]

HTML 5 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.[11] For the same reasons, HTML 5 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 <video>, <audio> and <canvas> 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 such as <main>, <section>, <article>, <header>, <footer>, <aside>, <nav>, and <figure> are added. New attributes are introduced, some elements and attributes have been removed, and others such as <a />, <cite>, and <menu> have been changed, redefined, or standardized.

The APIs and Document Object Model (DOM) are now fundamental parts of the HTML 5 specification[11] and HTML 5 also better defines the processing for any invalid documents.[12]

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,[13] 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.[14]

The Mozilla Foundation and Opera Software presented a position paper at a World Wide Web Consortium (W3C) workshop in June 2004,[15] focusing on developing technologies that are backward-compatible with existing browsers,[16] 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.[17] 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.[18] The two specifications were later merged to form HTML 5.[19] The HTML 5 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.[7]

“Thoughts on Flash”

While some features of HTML 5 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, HTML 5 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 HTML 5 (see Comparison of HTML5 and Flash). HTML 5’s interactive capabilities became a topic of mainstream media attention around April 2010[20][21][22][23] 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”.[24] This sparked a debate in web development circles suggesting that, while HTML 5 provides enhanced functionality, developers must consider the varying browser support of the different parts of the standard as well as other functionality differences between HTML 5 and Flash.[25] In early November 2011, Adobe announced that it would discontinue development of Flash for mobile devices and reorient its efforts in developing tools using HTML 5.[26] On July 25, 2017, Adobe announced that both the distribution and support of Flash will cease by the end of 2020.[27]

Last call, candidacy, and recommendation stages

On 14 February 2011, the W3C extended the charter of its HTML Working Group with clear milestones for HTML 5. In May 2011, the working group advanced HTML 5 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.[28] In January 2011, the WHATWG renamed its “HTML5” specification HTML Living Standard. The W3C nevertheless continued its project to release HTML 5.[29]

In July 2012, WHATWG and W3C decided on a degree of separation. W3C will continue the HTML 5 specification work, focusing on a single definitive standard, which is considered as a “snapshot” by WHATWG. The WHATWG organization continues its work with HTML 5 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.[30]

In December 2012, W3C designated HTML 5 as a Candidate Recommendation.[31] The criterion for advancement to W3C Recommendation is “two 100% complete and fully interoperable implementations”.[32]

On 16 September 2014, W3C moved HTML 5 to Proposed Recommendation.[33] On 28 October 2014, HTML 5 was released as a W3C Recommendation,[34] bringing the specification process to completion.[2] On 1 November 2016, HTML 5.1 was released as a W3C Recommendation.[35] On 14 December 2017, HTML 5.2 was released as a W3C Recommendation.[36]

Timeline

The combined timelines for HTML 5.0, HTML 5.1 and HTML 5.2:

VersionFirst draftCandidate recommendationRecommendation
HTML 5.02007[37]20122014
HTML 5.1201220152016
HTML 5.2[38]201520172017
HTML 5.3[39]2017N/AN/A

W3C and WHATWG conflict

W3C and WHATWG have been characterized as both working together on the development of HTML 5,[14] and yet also at cross purposes[30][2] ever since the July 2012 split of the W3C work into milestone-based static standards and WHATWG’s into a continually updated “living standard”. The relationship has been described as “fragile”, even a “rift”,[40] and characterized by “squabbling”.[2]

In at least one case, namely the permissible content of the <cite> element, the two specifications directly contradict each other (as of July 2018), with the W3C definition being permissive and reflecting traditional use of the element since its introduction,[41] but WHATWG limiting it to a single defined type of content (the title of the work cited).[42] This is actually at odds with WHATWG’s stated goals of ensuring backward compatibility[43] and not losing prior functionality.[30]

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:[44]

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 “markets” for the two specifications are largely different. The W3C spec is the one that Web developers most often refer to,[citation needed] while the WHATWG version is used by the software development teams of the browser makers (though a version exists for Web content authors, trimmed of the material only of interest to browser coders[6]). New features are added to HTML and, often experimentally, to browsers long before they appear in a W3C spec, because they arise in the WHATWG one.[40] The technology journal Ars Technica observed that “both groups are likely to continue to exist, and both groups will continue to have broad-based industry backing”.[2]

evolve-html5-vancouver-web-design