HTML5

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
HTML5
(HyperText Markup Language)
120px
Filename extension .html
Internet media type text/html
Type code TEXT
Uniform Type Identifier (UTI) index.html[1]
Developed by World Wide Web Consortium and WHATWG
Initial release 28 October 2014
(9 years ago)
 (2014-10-28)[2]
Latest release
HTML 5
HTML 5.1(working draft)
Type of format Markup language
Extended to XHTML5 (XML-serialized HTML5)
Standard W3C HTML5
W3C HTML 5.1
Open format? Yes
XHTML5 (XML-serialized HTML5)
Filename extension .xhtml, .html
Internet media type application/xml, application/xhtml+xml
Developed by World Wide Web Consortium and WHATWG
Type of format Markup language
Extended from XML, HTML5
Open format? Yes

Lua error in package.lua at line 80: module 'strict' not found.

HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It was finalized, and published, on 28 October 2014 by the World Wide Web Consortium (W3C).[2][3] This is the fifth revision of the HTML standard since the inception of the World Wide Web. The previous version, HTML 4, was standardized in 1997.

Its core aims are 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.[4]

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 have a mixture of features introduced by various specifications, along with those introduced by software products such as web browsers and those established by common practice.[5] It is also an attempt to define a single markup language that can be written in either HTML or XHTML. It 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.[6] For the same reasons, HTML5 is also a potential candidate for cross-platform mobile applications. Many features of HTML5 have been designed with low-powered devices such as smartphones and tablets taken in to consideration. In December 2011, research firm Strategy Analytics forecast sales of HTML5 compatible phones would top 1 billion in 2013.[7]

In particular, 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. 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 page structure elements, such as <main>, <section>, <article>, <header>, <footer>, <aside>, <nav> and <figure>, are designed to enrich the semantic content of documents. New attributes have been introduced, some elements and attributes have been removed and some elements, such as <a>, <cite> and <menu> have been changed, redefined or standardized. The APIs and Document Object Model (DOM) are no longer afterthoughts, but are fundamental parts of the HTML5 specification.[6] 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.[8]

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,[9] 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. W3C and WHATWG are currently working together on the development of HTML5.[10]

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. See Comparison of HTML5 and Flash.

Although HTML5 has been well known among web developers for years, its interactive capabilities became a topic of mainstream media around April 2010[11][12][13][14] after Apple Inc's then-CEO Steve Jobs issued a public letter titled "Thoughts on Flash" where 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".[15] 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.[16] 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.[17]

Standardization process

The Mozilla Foundation and Opera Software presented a position paper at a World Wide Web Consortium (W3C) workshop in June 2004,[18] focusing on developing technologies that are backward compatible with existing browsers,[19] 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.[20] Immediately after the workshop, the Web Hypertext Application Technology Working Group (WHATWG) was formed to start work based upon that position paper, and a second draft, Web Applications 1.0, was also announced.[21] The two specifications were later merged to form HTML5.[22] The HTML5 specification was adopted as the starting point of the work of the new HTML working group of the W3C in 2007.

2008 – First Public Working Draft

WHATWG published the First Public Working Draft of the specification on 22 January 2008.[23]

2011 – Last Call

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.[24] In January 2011, the WHATWG renamed its "HTML5" living standard to "HTML". The W3C nevertheless continued its project to release HTML5.[25]

2012 – Candidate Recommendation

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 will continue 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.[26]

In December 2012, W3C designated HTML5 as a Candidate Recommendation.[27] The criterion for advancement to W3C Recommendation is "two 100% complete and fully interoperable implementations".[28][29]

2014 – Proposed Recommendation and Recommendation

On 16 September 2014, W3C moved HTML5 to Proposed Recommendation.[30]

On 28 October 2014, HTML5 was released as a stable W3C Recommendation,[31] bringing the specification process to completion.[2]

Future plans

According to the plan proposed by the W3C in September 2012,[32] the HTML 5.1 specification Recommendation will be targeted for the end of 2016.

Core HTML specification

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

2012 2013 2014 2015 2016
HTML 5.0 Candidate Rec Call for Review Recommendation
HTML 5.1 1st Working Draft Last Call Candidate Rec Recommendation
HTML 5.2[32] 1st Working Draft
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 HTML5 itself are now defined in separate specifications:

After the standardization of the HTML5 specification in October 2014,[33] the core vocabulary and features are being extended in four ways.[34] Likewise, some features that were removed from the original HTML5 specification have been standardized separately as modules, such as Microdata and Canvas. Technical specifications introduced as HTML5 extensions such as Polyglot Markup have also been standardized as modules. Some W3C specifications that were originally separate specifications have been adapted as HTML5 extensions or features, such as SVG. Some features that might have slowed down the standardization of HTML5 will be standardized as upcoming specifications, instead. HTML 5.1 is expected to be finalized in 2016, and it is currently on the standardization track at the W3C.

Features

Markup

HTML5 introduces elements and attributes that reflect typical usage on modern websites. Some of them are semantic replacements for common uses of generic block (<div>) and inline (<span>) elements, for example <nav> (website navigation block), <footer> (usually referring to bottom of web page or to last lines of HTML code), or <audio> and <video> instead of <object>.[35][36][37] Some deprecated elements from HTML 4.01 have been dropped, including purely presentational elements such as <font> and <center>, whose effects have long been superseded by the more capable Cascading Style Sheets.[38] There is also a renewed emphasis on the importance of DOM scripting (e.g., JavaScript) in Web behavior.

The HTML5 syntax is no longer based on SGML[39][40] 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.[41] Since 5 January 2009, HTML5 also includes Web Forms 2.0, a previously separate WHATWG specification.[42][43]

New APIs

In addition to specifying markup, HTML5 specifies scripting application programming interfaces (APIs) that can be used with JavaScript.[44] Existing document object model (DOM) interfaces are extended and de facto features documented. There are also new APIs, such as:

HTML5 related APIs[45]

Not all of the above technologies are included in the W3C HTML5 specification, though they are in the WHATWG HTML specification.[57] 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:

  • Geolocation
  • Web SQL Database, a local SQL Database (no longer maintained).[58]
  • The Indexed Database API, an indexed hierarchical key-value store (formerly WebSimpleDB).[59]
  • HTML5 File API,[60] handles file uploads and file manipulation.[61]
  • Directories and System, an API intended to satisfy client-side-storage use cases not well served by databases.[62]
  • File Writer, an API for writing to files from web applications.[63]
  • Web Audio API,[64] a high-level JavaScript API for processing and synthesizing audio in web applications.
  • ClassList API[65]

HTML5 cannot provide animation within web pages. Additional JavaScript or CSS3 functionality is necessary for animating HTML elements. Animation is also possible using JavaScript and HTML 4[66][not in citation given], and within SVG elements through SMIL, although browser support of the latter remains uneven as of 2011.

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,[67] and must conform to strict, well-formed syntax of XML. XHTML5 is simply 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 called polyglot markup.[68]

Error handling

HTML5 is designed so that old browsers can safely ignore new HTML5 constructs.[6] In contrast to HTML 4.01, the HTML5 specification gives detailed rules for lexing and parsing, with the intent that compliant browsers will produce the same results when parsing incorrect syntax.[69] Although HTML5 now defines a consistent behavior for "tag soup" documents, those documents are not regarded as conforming to the HTML5 standard.[69]

Popularity

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.[70] Another report released in August 2013 has shown that 153 of the Fortune 500 U.S. companies implemented HTML5 on their corporate websites.[71]

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[72]
  • 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",[73] which provides a complete outline of additions, removals and changes between HTML5 and HTML 4.

File:HTML5-logo.svg
The W3C HTML5 logo

On 18 January 2011, the W3C introduced a logo to represent the use of or interest in HTML5. 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.[74]

When initially presenting it to the public, the W3C announced the HTML5 logo as a "general-purpose visual identity for a broad set of open web technologies, including HTML5, CSS, SVG, WOFF, and others".[75] 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.[75] Three days later, the W3C responded to community feedback and changed the logo's definition, dropping the enumeration of related technologies.[76] The W3C then said the logo "represents HTML5, the cornerstone for modern Web applications".[74]

Digital rights management

Industry players including the BBC, Google, Microsoft, and Netflix have been lobbying for the inclusion of Encrypted Media Extensions (EME),[77][78][79][80][81] a form of digital rights management (DRM), into the HTML5 standard. As of the end of 2012 and the beginning of 2013, 27 organisations[82] including the Free Software Foundation[83] have started a campaign against including digital rights management in the HTML5 standard.[84][85] 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.[86][87] WHATWG's "HTML Living Standard" continued to be developed without DRM-enabled proposals.[87]

Manu Sporny, a member of the W3C, said that EME will not solve the problem it's supposed to address.[88] Opponents point out that EME itself is just an architecture for a DRM plug-in mechanism.[89]

The initial enablers for DRM in HTML5 were Google[90] and Microsoft.[91] Supporters also include Adobe.[92] On 14 May 2014, Mozilla announced plans to support EME in Firefox, the last major browser to avoid DRM.[93][94] 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.[93] 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.[94] This decision was condemned by Cory Doctorow and the Free Software Foundation.[95][96]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. W3C Markup Validation Service, using this service anybody can check that almost all the web sites created by popular user friendly tools produce web pages not conforming to the W3C standards.
  6. 6.0 6.1 6.2 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. 32.0 32.1 Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Introduction to HTML5 video
  36. IBM Developer Works New elements in HTML5: Structure and semantics
  37. ICAMD.org Finalcut Silverlight Films that Videographers share Quicktime in a Flash : Video on the Web using HTML5 and other Codecs
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. HTML5 DTD: "HTML5 is not SGML-based, and there will be no official DTD for it."
  40. HTML 5 Reference: "Although it is inspired by its SGML origins, in practice, it really only shares minor syntactic similarities." "As HTML5 is no longer formally based upon SGML, the DOCTYPE no longer serves this purpose, and thus no longer needs to refer to a DTD."
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found. obsolescence notice
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. "HTML5 Differences from HTML4 – APIs". World Wide Web Consortium.
  45. Sergey Mavrody "Sergey's HTML5 & CSS3 Quick Reference. 2nd Edition". Belisso Corp., 2012. ISBN 978-0-9833867-2-8
  46. "Get Started with HTML5 Canvas". Syntaxxx.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. "Offline Web Applications". World Wide Web Consortium.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. "HTML5 Web Messaging". World Wide Web Consortium.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. "Web Storage Specification". World Wide Web Consortium.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. "Web SQL Database". World Wide Web Consortium.
  59. "Indexed Database". World Wide Web Consortium.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. "File API". World Wide Web Consortium.
  62. "Filesystem API". World Wide Web Consortium.
  63. "File API: Writer". World Wide Web Consortium.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. 69.0 69.1 Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. "HTML5 Popularity Among Fortune 500 Companies". INCORE. Retrieved 5 March 2013.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. 74.0 74.1 Lua error in package.lua at line 80: module 'strict' not found.
  75. 75.0 75.1 Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Encrypted Media Extensions draft specification of the W3C
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.
  80. Lua error in package.lua at line 80: module 'strict' not found.
  81. Lua error in package.lua at line 80: module 'strict' not found.
  82. Lua error in package.lua at line 80: module 'strict' not found.
  83. Tell W3C: We don't want the Hollyweb http://www.defectivebydesign.org/no-drm-in-html5
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. 87.0 87.1 Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. Lua error in package.lua at line 80: module 'strict' not found.
  92. Adobe Support for Encrypted Media Extensions Adobe.com. 19 June 2013.
  93. 93.0 93.1 Lua error in package.lua at line 80: module 'strict' not found.
  94. 94.0 94.1 Lua error in package.lua at line 80: module 'strict' not found.
  95. Lua error in package.lua at line 80: module 'strict' not found.
  96. Lua error in package.lua at line 80: module 'strict' not found.

External links

Lua error in package.lua at line 80: module 'strict' not found.