Die Spezifikation auf mehrere HTML-Dokumente verteilt
Die gesamte Spezifikation in einer riesigen HTML-Datei
Die gesamte Spezifikation in einer riesigen HTML-Datei, mit einem Parameter der die Scripte deaktiviert
HTML5 wird gleichzeitig beim WHATWG-Gremium und bei der W3C-HTML-Arbeitsgruppe entwickelt. Da der Hauptautor auf der WHATWG-Seite steht, ist der erste Anlaufpunkt der täglich aktualisierte Entwurf auf whatwg.org.
Die WHATWG-Spezifikation ist interaktiv: Sie bindet Angaben zur Browser-Unterstützung ein, ermöglicht Feedback und zeigt offene Fragen (Issues) an. Leider verschlechtern diese JavaScript-Zusätze die Lade- und Lese-Performance und stören beim schnellen Suchen. Abgesehen von der Browserunterstützung sind diese Zusätze nur für diejenigen interessant, die die Entwicklung von HTML5 verfolgen oder zu ihr beitragen wollen.
Die mehrere Megabyte große Single-Page-Variante bringt Browser zum Einfrieren. Es empfiehlt sich daher die Multi-Page-Spezifikation. Sie können die Single-Page-Spezifikation in einer Weise aufrufen, welche die umfangreichen Scripte deaktiviert. Aber auch damit lädt die riesige HTML-Datei langsam.
HTML5-Spezifikation beim W3C, aktueller Autorenentwurf, Multi-Page
HTML5-Spezifikation beim W3C, letzter Arbeitsentwurf, Multi-Page
Der Autorenentwurf in der Ansicht für Autoren. Für alle, die die Entwicklung mitverfolgen wollen, gibt es auch beim W3C eine Variante der Spezifikation mit Anmerkungen
JavaScript-API für das zweidimensionale Zeichnen auf dem canvas-Element
Wichtige Objekte: canvasElement.getContext('2d') uvm.
HTML-Attribute, um maschinenlesbare Metadaten unterzubringen, mit JavaScript-API
Entwürfe für eine API zum Zugriff auf Kamera und Mikrofon für audiovisuelle Streams, auf USB-Speicher und serielle Schnittstellen sowie Peer-to-Peer-Verbindungen
Wichtige Objekte: deviceElement.data.url, deviceElement.data.record(), new ConnectionPeer()
Interne Nachrichten mit Datenübergabe an parallel dargestellte Dokumente senden (Cross-Domain, Umgehung der Same-Origin Policy)
Wichtige Objekte: window.postMessage(), das message-Ereignis, new MessageChannel()
Die HTML5-Entwürfe bei der WHATWG und der beim W3C unterscheiden sich: W3C-HTML5 beinhaltet den Großteil von WHATWG-HTML5, hat allerdings einige Teiltechniken in eigene Spezifikationen ausgelagert.
Grund dieser Aufsplittung ist eine andere Arbeitsweise des W3Cs. Während sich die WHATWG von einem Versionsmodell verabschiedet hat, will die W3C-Arbeitsgruppe einen stabilen Standard festlegen und klammert noch strittige und unfertige Teile aus. Daher nennt sich die WHATWG-Spezifikation »HTML5 (including next generation additions still in development)«, also: HTML5 plus Zusätze, die sich noch in der Entwicklung befinden.
Referenz von allen HTML-Elementen und -Attributen. Gute Übersicht für Webautoren, weil die Anweisungen zur Verarbeitung wegfallen, die sich an Browserhersteller richten
Unterschiede zwischen HTML 4 und HTML5. Artikel der HTML-Arbeitsgruppe als Zusatz zur Hauptspezifikation
Barrierefreheit-Richtlinien für Alternativtexte für Bilder und andere Multimedia-Inhalte. Konkurrenzvorschlag zur derzeitigen Passage in der HTML5-Spezifikation, die von Accessibility-Experten kritisiert wird
Empfehlungen für HTML5-Dokumente, die als HTML5 sowie als XHTML5/XML verarbeitet werden können
Einbettung von RDF-Metadaten in HTML5-Attributen. Konkurrenzformat zu Microdata
Älterer Hintergrundartikel, der die Grundprinzipien von HTML5 beschreibt. Vor einigen Jahren wurde diese Ansätze kontrovers diskutiert, heute stellen Sie die »Philosophie« der HTML5-Spezifikation.
Etabliertes Format für Vektorgrafiken
Vokabular zur Auszeichnung von mathematischen Formeln
Semantische Auszeichnung von Strukturelementen durch „Landmark Roles“, um die Zugänglichkeit zu verbessern
Anmerkungen neben dem Fließtext anzeigen, üblich in ostasiatischen Sprachen
Zusätzlich zur Hauptspezifikation gibt es nicht-normative Sekundärliteratur, z.B. Referenzen, Richtlinien und theoretische Hintergrundtexte. Mit der Referenz, die sich auf HTML5 als Textauszeichnungssprache beschränkt, lässt sich viel leichter arbeiten als mit der unhandlichen HTML5-Spezifikation.
In diesen Kontext gehören auch weitere Auszeichnungssprachen bzw. XML-Vokabulare, die in HTML5 integriert werden können.
Einfaches clientseitiges, Cookie-artiges Speichern von JavaScript-Daten.
Wichtige Objekte: window.sessionStorage, window.localStorage
Clientseitiges Speichern von umfangreichen JavaScript-Daten in einer klassischen SQL-Datenbank (derzeit SQLite).
Wichtige Objekte: window.openDatabase()
Clientseitige Key-Value-Datenbank mit Indizes.
Wichtige Objekte: window.indexedDB.open()
Paralleles Ausführen von losgelösten JavaScript-Prozessen, die mit dem Haupt-Script über Nachrichten kommunizieren.
Wichtige Objekte: new Worker(), new SharedWorker()
Ansprechen und Auswählen von Elementen im DOM über CSS-artige Selektoren.
Wichtige Objekte: document.querySelector(), document.querySelectorAll()
Erweiterung der Selectors-API (siehe oben) um die Möglichkeit, innerhalb eines Elements anstatt dokumentweit zu suchen.
Wichtige Objekte: document.querySelector(), document.querySelectorAll(), document.queryScopedSelector(), document.queryScopedSelectorAll()
Echte Socket-Verbindungen mit dem Server per JavaScript für Anwendungen, bei denen HTTP ungeeignet ist
Wichtige Objekte: new WebSocket()
Eine Server-Push-Lösung mit offen gehaltenen HTTP-Verbindungen, um einen kontinuierlichen Datenstrom zu empfangen (z.B. bei Livetickern und Chats)
Wichtige Objekte: new EventSource()
JavaScript-Schnittstelle zum Zugriff auf die gegenwärtige geographische Position des Benutzers/Rechners
Wichtige Objekte: navigator.geolocation.getCurrentPosition()
Standardisierung des bekannten und breit, aber uneinheitlich implementierten XMLHttpRequest-Objekts (»Ajax«), dessen API einst von Microsoft stammt.
Wichtige Objekte: new XMLHttpRequest()
Weiterentwicklung von XMLHttpRequest hinsichtlich domainübergreifende HTTP-Anfragen, Datei-Uploads und das Zusammenstellen von Formulardaten.
Wichtige Objekte: new XMLHttpRequest()
HTTP-Erweiterung, um mittels Zugriffsrechtes die Same-Origin Policy zu umgehen. Darauf baut u.a. Cross-Domain XMLHttpRequest auf.
Kernbestandteil: Der Antwortheader Access-Control-Allow-Origin und weitere, deren Namen mit Access-Control- beginnen
Einlesen von Dateien, die der Nutzer über Formularfelder ausgewählt hat oder ins Browserfenster gezogen hat
Wichtige Objekte: Die files-Eigenschaft bei <input type="file">-Elementen, new FileReader()
Anzeigen von Popup-Meldungen auf dem Desktop aus Webanwendungen heraus, in denen wiederum Webinhalte dargestellt werden können.
Wichtige Objekte: window.notifications.createNotification(), window.notifications.createWebNotification()
Zeichnen von dreidimensionalen Objekten auf Canvas mit einem abgespeckten OpenGL-Befehlssatz
„HTML5“ im weiteren Sinne umfasst auch zukünftige JavaScript-Programmierschnittstellen, die von den Arbeitsgruppen WHATWG, W3C HTML WG und W3C WebApps WG erarbeitet werden.
Manche sind Bestandteil der Hauptspezifikation: Diese enthält zentrale Schnittstellen, z.B. werden die Objekte window, document, location, navigator und history endlich standardisiert. Dann gibt es APIs, die bei der WHATWG-Version integriert und beim W3C ausgelagert sind, so etwa Canvas.
Zahlreiche weitere APIs werden in eigenen Spezifikationen entwickelt. Manche sind bereits in einigen Browsern implementiert, auch wenn sich die Spezifikationen noch weiterentwickeln. Andere sind schon lange in der Entwicklung, aber es gibt noch keine Browserumsetzungen. Schließlich gibt es Spezifikationen, die lediglich breit unterstützte Techniken dokumentieren und standardisieren.