HTML 5.3

W3C Working Draft,

4. The elements of HTML

4.1. The document element

4.1.1. The html element

Contexts in which this element can be used:
As the document’s document element.
Wherever a subdocument fragment is allowed in a compound document.
Content model:
A head element followed by a body element.
Tag omission in text/html:
An html element’s start tag can be omitted if the first thing inside the html element is not a comment.
An html element’s end tag can be omitted if the html element is not immediately followed by a comment.
Content attributes:
Global attributes.
manifest — Application cache manifest.
Allowed ARIA role attribute values:
Allowed ARIA state and property attributes:
DOM interface:
interface HTMLHtmlElement : HTMLElement {};

The html element represents the root of an HTML document.

Authors are encouraged to specify a lang attribute on the root html element, giving the document’s language. This aids speech synthesis tools to determine what pronunciations to use, translation tools to determine what rules to use, and so forth.

The manifest attribute gives the address of the document’s application cache manifest, if there is one. If the attribute is present, the attribute’s value must be a valid non-empty URL potentially surrounded by spaces.

The manifest-based application cache feature is in the process of being removed from the Web platform. (This is a long process that takes many years.) Using the application cache feature at this time is highly discouraged. Use service workers instead. [SERVICE-WORKERS]

The manifest attribute only has an effect during the early stages of document load. Changing the attribute dynamically thus has no effect (and thus, no DOM API is provided for this attribute).

For the purposes of application cache selection, later base elements cannot affect the parsing of URLs in manifest attributes, as the attributes are processed before those elements are seen.

The window.applicationCache IDL attribute provides scripted access to the offline application cache mechanism.

It is recommended to keep the usage of attributes and their values defined on the html element to a minimum to allow for proper detection of the character encoding declaration within the first 1024 bytes.

The html element in the following example declares that the document’s language is English.
<!DOCTYPE html>
<html lang="en">
    <title>Swapping Songs</title>
    <h1>Swapping Songs</h1>
    <p>Tonight I swapped some of the songs I wrote with some friends, who
    gave me some of the songs they wrote. I love sharing my music.</p>