HTML5
From Wikipedia, the free encyclopedia
Filename extension | .xhtml, .xht, .xml, .html, .htm |
---|---|
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 |
Website | whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html |
Following its immediate predecessors HTML 4.01 and XHTML 1.1, HTML5 is a response to the observation that the HTML and XHTML in common use on the World Wide Web is 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 (API)s for complex web applications.[3]. For the same reasons, HTML5 is also a potential candidate for cross-platform mobile applications. Many features of HTML 5 have been built with the consideration of being able to run on low-powered devices such as smart phones and tablets.
In particular, HTML5 adds many new syntactical features. These include the
<video>
, <audio>
, <header>
and <canvas>
elements, as well as the integration of SVG content that replaces the uses of generic <object>
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 the semantic 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 and document object model (DOM) are no longer afterthoughts, but are fundamental parts of the HTML5 specification.[3] 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.[4]Contents[hide] |
[edit] History
The Web Hypertext Application Technology Working Group (WHATWG) began work on the new standard in 2004, when the World Wide Web Consortium (W3C) was focusing future developments on XHTML 2.0, and HTML 4.01 had not been updated since 2000.[5] 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.[6]Even though HTML5 has been well known among web developers for years, it became the topic of mainstream media in April 2010[7][8][9][10] after Apple Inc's then-CEO Steve Jobs issued a public letter titled "Thoughts on Flash" where he concludes that Adobe "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".[11] This sparked a debate in web development circles where some suggested 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.[12]
[edit] W3C standardization process
WHATWG started work on the specification in June 2004 under the name Web Applications 1.0.[13] As of January 2011, the specification is in the Draft Standard state at the WHATWG, and in Working Draft state at the W3C. Ian Hickson of Google is the editor of HTML5.[14]The HTML5 specification was adopted as the starting point of the work of the new HTML working group of the World Wide Web Consortium (W3C) in 2007. This working group published the First Public Working Draft of the specification on 22 January 2008.[15] The specification is an ongoing work, and is expected to remain so for many years, although parts of HTML5 are going to be finished and implemented in browsers before the whole specification reaches final Recommendation status.[16]
According to the W3C timetable, it was estimated that HTML5 would reach W3C Recommendation by late 2010. However, the First Public Working Draft estimate was missed by eight months, and Last Call and Candidate Recommendation were expected to be reached in 2008,[17] but as of January 2011 HTML5 is still at Working Draft stage in the W3C.[18] HTML5 has been at Last Call in the WHATWG since October 2009.[19][20]
Ian Hickson, editor of the HTML5 specification, expects the specification to reach the Candidate Recommendation stage during 2012.[21] The criterion for the specification becoming a W3C Recommendation is “two 100% complete and fully interoperable implementations”.[21] In an interview with TechRepublic, Hickson guessed that this would occur in the year 2022 or later.[22] However, many parts of the specification are stable and may be implemented in products:
Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. <canvas>).In December 2009, WHATWG switched to an unversioned development model for the HTML5 specification.[23] W3C will still continue with publishing a snapshot of the HTML5 specification.[24]
— WHAT Working Group, When will HTML5 be finished?[21], FAQ
On 14 February 2011, the W3C extended the charter of its HTML Working Group with clear milestones for HTML5. The Working Group is expected to advance HTML5 to "Last Call", an invitation to communities inside and outside W3C to confirm the technical soundness of the specification, in May 2011. The group will then shift focus to gathering implementation experience. W3C is also developing a comprehensive test suite to achieve broad interoperability for the full specification by 2014, which is now the target date for Recommendation.[25]
Even as innovation continues, advancing HTML5 to Recommendation provides the entire Web ecosystem with a stable, tested, interoperable standard. The decision to schedule the HTML5 Last Call for May 2011 was an important step in setting industry expectations. Today we take the next step, announcing 2014 as the target for Recommendation.
— Jeff Jaffe, Chief Executive Officer, World Wide Web Consortium[25]
[edit] Markup
HTML5 introduces a number of new 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>
.[26][27][28] Some deprecated elements from HTML 4.01 have been dropped, including purely presentational elements such as <font>
and <center>
, whose effects are achieved using Cascading Style Sheets. 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 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.[29] As of 5 January 2009, HTML5 also includes Web Forms 2.0, a previously separate WHATWG specification.[edit] New APIs
In addition to specifying markup, HTML5 specifies scripting application programming interfaces (APIs).[30] Existing document object model (DOM) interfaces are extended and de facto features documented. There are also new APIs, such as:
|
|
|
|
[edit] XHTML5
XHTML5 is the XML serialization of HTML5. XML documents must be served with an XML Internet media type such asapplication/xhtml+xml
or application/xml
.[41] XHTML5 requires XML's strict, well-formed syntax. The choice between HTML5 and XHTML5 boils down to the choice of a MIME/content type: the media type you choose determines what type of document should be used.[42] In XHTML5 the HTML5 doctype html
is optional and may simply be omitted.[43] 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".[44][edit] Error handling
An HTML5 (text/html) browser will be flexible in handling incorrect syntax. 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.[45] Although HTML5 now defines a consistent behavior for "tag soup" documents, those documents are not regarded as conforming to the HTML5 standard.[45][edit] Differences with HTML 4.01 and XHTML 1.x
The following is a cursory list of differences and some specific examples.
|
|
[edit] The 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.[48]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".[49] Some web standard advocates, including The Web Standards Project, criticised that definition of "HTML5" as an umbrella term, pointing out the blurring of terminology and the potential for miscommunication.[49] Three days later, the W3C responded to community feedback and changed the logo's definition, dropping the enumeration of related technologies.[50] The W3C then said the logo "represents HTML5, the cornerstone for modern Web applications".[48]