he Web Hypertext Application Technology Working Group (WHATWG) is formalizing a specification known as
HTML5 or Web Applications 1.0 that should standardize some of the ambiguities and disconnects that have emerged with HTML and related web technologies.
This article discusses some of the features and functionality of the proposed HTML5 specification.
HTML5 is a specification being formalized by the Web Hypertext Application Technology Working Group (WHATWG) that defines concrete language syntax for an API that can describe documents and applications. The WHATWG specification incorporates both the existing HTML 4.01 and XHTML 1.0 features, and also introduces new items, including:
- new layout elements
- programming changes to the Document Object Model (DOM)
- updated Web Forms
- server-sent DOM events
- dynamic graphics capabilities
WHATWG is a growing community of browser vendors, web developers, and other parties interested in the design and implementation of the next generation of HTML and related technologies. WHATWG's primary concern is to enable authors to write and deploy applications over the World Wide Web.
WHATWG seeks to invigorate web application development by extending HTML so that it is suitable for expressing the semantics of now-ubiquitous applications such as forum sites, auction sites, search engines, and online shopping sites. WHATWG plans to facilitate such development in two ways: by defining an abstract language for describing documents and applications, and by defining APIs for interacting with in-memory representations of instances of the abstract language.
Two concrete syntaxes that use the abstract language defined in the WHATWG specification are also defined in the specification. These concrete syntaxes are:
- HTML5This syntax defines a custom parsing model inspired by SGML. It uses the familiar text/html MIME type. HTML5 syntax is compatible with legacy web browsers and is the recommended format.
- XHTML5This syntax is based on XML and contains elements from the HTML namespace. It uses the MIME type application/xml or application/xhtml+xml. This syntax is discouraged since XML has a much stricter syntax than the proposed HTML5 syntax.
The diagram in Figure 1
illustrates HTML5's parsing model
|Figure 1. HTML5 Parsing Model: The diagram shows how HTML5 tokenizes incoming content into a tree structure, then creates a DOM and executes any script in the document.|
Implementations are encouraged to support both XHTML5 and HTML5, although they're free to support only one.
The Need for HTML5
Apple, Mozilla, and Opera became increasingly concerned about the W3C's direction (or lack of direction) with XHTML, their lack of interest in HTML, and their perceived disregard for the needs of web application developers. In response, these organizations took it upon themselves to address these concerns.
Markup for documents on the World Wide Web has always been some incarnation of HTML. Although it was originally designed as a language for semantically describing scientific documents, HTML was adopted for general use and was rapidly extended during the 1990's. It's now used to describe most documents transmitted across the web.
HTML worked well for publishing static web pages. But many modern web documents aren't individual static pages at all; instead, they're partial pages or one page among many that, collectively, compose a web application. The current HTML specification inadequately addresses the entire area of web applications (session-oriented conversations between web clients and web server components). The WHATWG specification is an attempt to correct this situation and, at the same time, update the HTML specifications to address other issues that have annoyed web developers over the last few years.
Currently Apple, Mozilla, and Opera are the only browsers offering support for the development of HTML5. However, HTML5 is being developed with "IE compatibility in mind."