Das Element html ist das Wurzelelement eines HTML-Dokumentes. Es tritt in einem (X)HTML-Dokument also exakt einmal auf und enthält alle anderen Elemente als Nachfahren.
Zudem kann es dort auftreten, wo andere Formate HTML-Dateninseln erlauben, um solch eine Dateninsel zu umschließen.

Inhaltsmodell: html enthält exakt ein Element head gefolgt von einem Element body.

Bei eigenständigen Dokumenten steht vor dem Element html noch der Dokument-Prolog, danach können Kommentare oder Leerzeichen folgen.

Um die Sprache für das gesamte Dokument anzugeben, ist es zumeist sinnvoll, die Attribute xml:lang, beziehungsweise lang zu setzen. Bei XML-Notation muß mindestens beim Wurzelelement der Namensraum für das Dokument zugewiesen werden, hier also der von XHTML: xmlns="http://www.w3.org/1999/xhtml"

Die bei früheren Versionen von (X)HTML vorhandene Versionsangabe mit einem dafür speziellen Attribut oder einer Deklaration ist bei HTML5 gestrichen. Es ist folglich (bei Bedarf) notwendig, zum Beispiel als Metainformation erst im Element head anzugeben, welcher Version das aktuelle Dokument folgt. Dazu gibt es ein Beispiel im Kapitel über Metadaten.

Neben den globalen Attributen hat das Element html das Attribut manifest.

Der Wert des Attributes manifest ist eine URL/IRI zum Manifest eines Projekts, also einer Datei, in welcher die Inhaltsdateien eines Projektes aufgelistet werden können. Diese Liste kann von Darstellungsprogrammen beim Abspeichern des Projektes verwendet werden, um jedenfalls die statische Repräsentation (also natürlich ohne Skriptanwendungen, welche auf einem Dienstrechner ausgeführt werden) auch zur Verfügung zu stellen, wenn das Programm nicht an das Netz angeschlossen ist.

Der Inhaltstyp einer Manifest-Datei ist 'text/cache-manifest'. Als Dateiendung wird oft '.appcache' verwendet.

Eine Manifest-Datei ist eine einfache Text-Datei, also insbesondere handelt es sich nicht um ein XML-Format. Kommentarzeilen darin beginnen mit einem #

Die Datei hat drei Teile, die jeweils mit einem Schlüsselwort in einer Zeile eingeleitet werden: CACHE, NETWORK, FALLBACK

Der auf CACHE folgende Bereich ist der Hauptbereich. Er enthält die Einträge der zum Projekt gehörenden Dateien.

Nach NETWORK können Ressourcen aufgelistet werden, welche eine Netzverbindung benötigen.

Nach FALLBACK können Ressourcen gelistet werden, die verwendet werden können, wenn zuvor angegebene Ressourcen nicht erreichbar sein sollten. In diesem Falle sind also zwei relative URIs/IRIs in einer Zeile anzugeben, die primäre Ressource und nach einem Leerzeichen die Ressource, die als Ersatz dienen kann.

Relative URIs/IRIs sind immer relativ zur Manifest-Datei selbst.

Beispiel für eine Manifest-Datei:

CACHE MANIFEST
# v1 2018-10-07
# die Versionangabe in der vorherigen Zeile ist praktisch wichtig, 
# um Programme zu veranlassen, 
# die Liste erneut zu lesen, 
# falls es eine neue Version gibt.
index.xhtml
kontakt.xhtml
stil.css
bild.png

# Netzanschluß benötigt:
NETWORK:
formular.php

# Rückfallwerte:
FALLBACK:
formular.php kontakt.xhtml