DasWorld Wide Web Consortium (W3C) hat am 28. Oktober 2014 die fertige HTML5-Spezifikation („W3C Recommendation“) vorgelegt.[2] HTML5 wird damit als Nachfolger vonHTML4 die Kernsprache („core language“) des Webs. Sie ersetzt die Standards HTML 4.01,XHTML 1.0 undDOM HTML Level 2. Sie bietet neue Funktionen wie Video, Audio, lokalen Speicher und dynamische 2D- und 3D-Grafiken, die von HTML4 nicht direkt unterstützt wurden und sich ohne HTML5 nur mit zusätzlichenSoftware-Erweiterungen (z. B.Adobe Flash) umsetzen ließen.[3] Zukunftsweisend sind weiterhin neue Elemente, die eine verbessertesemantische Struktur ermöglichen.
Nach der Veröffentlichung der Spezifikation von HTML 4.0 im Dezember 1997 lag die Weiterentwicklung von HTML lange brach. Außer der Version 4.01 im Dezember 1999, die lediglich Fehlerkorrekturen enthält, gab es bis zum April 2009 keine Aktualisierungen der Auszeichnungssprache mehr. DasWorld Wide Web Consortium (W3C) setzte aufXML, das zum Nachfolger von HTML werden sollte, und reformulierte HTML 4.01 zu der XML-basierten Auszeichnungssprache XHTML 1.0. Dabei blieb der Funktionsumfang von HTML 4.01 ohne Änderungen erhalten. Daraufhin begann das W3C mit der Entwicklung von XHTML 1.1 und später von XHTML 2.0, das nicht mehr viel mit HTML 4.01 gemeinsam hatte. Dies führte dazu, dass XHTML 1.1 und XHTML 2.0 durch diese Neuentwicklungen nicht mehr abwärtskompatibel waren. Außerdem war die Erstellung von XHTML-2.0-Dokumenten in vielen Punkten im Vergleich zu HTML sehr schwer und erforderte viel Hintergrundwissen. Die Entwicklung vonCSS verlief zu diesem Zeitpunkt ebenfalls nur sehr langsam, weshalb das W3C immer mehr in die Kritik geriet.
Um diesen Entwicklungen entgegenzuwirken, veröffentlichte die von mehreren Browserherstellern gegründeteWeb Hypertext Application Technology Working Group (WHATWG) Mitte 2004 unter dem NamenWeb Applications 1.0 den ersten Vorschlag für HTML5.
Am 27. Oktober 2006 kündigteTim Berners-Lee, der Gründer und Vorsitzende des World Wide Web Consortiums, eine neue Arbeitsgruppe mit dem Ziel der Weiterentwicklung von HTML an.[4] Das W3C nutzte als Grundlage für seine Arbeit an HTML5 einenFork der Version der WHATWG. Damit schuf sich das W3C Konkurrenz im eigenen Haus, da dieses ebenfalls schon die Entwicklung vonXHTML 2.0, einem rein XML-basierten Format zur Webseitenauszeichnung, vorantrieb.
Um die Konkurrenz innerhalb des W3C abzumildern, wurden zwischen November 2006 und März 2007 die vorhandenen Arbeitsgruppen beim W3C umgestaltet. HTML5 und XHTML 2.0 wurden als verwandte Sprachen mit unterschiedlichen Zielgruppen definiert.[5]
Im Mai 2007 entschieden die Mitglieder der HTML-Arbeitsgruppe in einer Abstimmung, dass der Web-Applications-1.0-Entwurf der WHATWG als Startpunkt zur Diskussion und Weiterentwicklung vonHTML verwendet werden soll.[6][7] Seitdem arbeiten das W3C und die WHATWG gemeinsam an der HTML5-Spezifikation.
Mitte 2009 gab das W3C bekannt, dass die Entwicklung von XHTML 2.0 mit Ende desselben Jahres nicht mehr weitergeführt werde.[8] Die nächste Generation der Auszeichnungssprachen für das Web ist damit keine neue Variante von XHTML, sondern HTML5.
Die WHATWG verfolgt ein versionsloses Modell der Entwicklung. Sie arbeitet an einem sogenanntenLiving Standard, also einer Spezifikation, die einer ständigen Korrektur und Erweiterung unterliegt.[9] Daher verzichtet die WHATWG auf die Versionsangabe „5“ und spricht nur noch vom „HTML-Standard“.[10]
Ziel der HTML-Arbeitsgruppe des W3C ist es dagegen, eine stabile Momentaufnahme dieser Spezifikation unter dem Namen HTML5 zu publizieren. Dazu wird ein vordefiniertes Prozedere durchlaufen, bis die Spezifikation schließlich zu einer W3C-Empfehlung(Recommendation) heranreift.[11] Die Vorstufe davon, eineProposed Recommendation wurde im September 2014 veröffentlicht,[12] die Empfehlung schließlich am 28. Oktober 2014.[2]
Verhältnis der Spezifikationen des W3C und der WHATWG
Verhältnis von Webtechnologie-Spezifikationen im Umfeld von HTML5
Der Verfasser (engl.editor) der Spezifikation istIan Hickson,[13] Gründer der WHATWG und Angestellter vonGoogle.[14] Aus dem von ihm bearbeiteten Rohtext werden verschiedene Spezifikationen generiert, sowohl die auf Seiten der WHATWG als auch die W3C-Pendants.
Die WHATWG-HTML-Spezifikation integriert mehrere verwandte Teilspezifikationen, welche seitens des W3C in einzelne Dokumente aufgeteilt werden.[15] Sie können damit unabhängig von der HTML5-Hauptspezifikation den W3C-Entwicklungsprozess durchlaufen. Diese separaten Standards sindMicrodata-Metadaten, der 2D-Zeichenkontext desCanvas-Elementes sowie dokumentübergreifende Nachrichten (HTML5 Web Messaging).
Im Folgenden sind die Veröffentlichungen der HTML5-Entwürfe durch das W3C aufgeführt. Neben den regelmäßigen Arbeitsentwürfen(Working Drafts) veröffentlicht das W3C in Abständen von Tagen sogenannteEditor’s Drafts. Die jeweils tagesaktuelle Fassung des Entwurfs – erweitert um WHATWG-spezifische Elemente – ist auf der Website der WHATWG verfügbar.
2. Arbeitsentwurf, in den der bis dahin separate Web-Forms-2.0-Entwurf eingearbeitet wurde.
12. Februar 2009
3. Arbeitsentwurf
23. April 2009
4. Arbeitsentwurf
25. August 2009
5. Arbeitsentwurf
4. März 2010
6. Arbeitsentwurf. HTML Canvas 2D[17] und HTML Microdata[18] als eigene Arbeitsentwürfe ausgelagert. Neues Dokument „HTML: The Markup Language“.[19]
25. Juni 2010
7. Arbeitsentwurf und Überarbeitung der verwandten Spezifikationen und Dokumente. Neu hinzugefügt wurden die unterstützenden Dokumente HTML5: Techniques for providing useful text alternatives[20] und Polyglot Markup: HTML-Compatible XHTML Documents.[21]
In der Spezifikation der WHATWG wird darauf hingewiesen, dass bestimmte Abschnitte ausgereifter sind als andere. Von den reiferen Neuentwicklungen sind viele bereits in aktuellen Browserversionen enthalten und können verwendet werden.[23]
Im Mai 2011 erhielt HTML5 beim W3C den Status „Last Call“, der als letzte Aufforderung dienen sollte, Kommentare zum HTML5-Entwurf einzureichen.[24] Die WHATWG hat den Status „Last Call“ bereits am 27. Oktober 2009 ausgerufen.[25] Am 28. Oktober 2014 hat die W3C die HTML5-Empfehlung veröffentlicht.[2] Am 14. Dezember 2017 wurde HTML 5.2 als W3C-Empfehlung,[26] und gleichzeitig das Working Draft für HTML 5.3 veröffentlicht.[27] In den meisten Browsern ist HTML5 bereits implementiert.
Die ersten wichtigen Ziele für HTML5 wurden von Tim Berners-Lee in dessen Blogeintrag „Reinventing HTML“ (HTML neu erfinden) festgelegt:[28] An der Entwicklung sollen dabei vor allem auch die Gruppen beteiligt sein, die HTML verwenden (Webautoren, Hersteller von Browsern). Dabei muss HTML inkrementell, also durch Überarbeitung und Erweiterung der Vorversion, entwickelt werden, und der Übergang zu wohlgeformten Dokumenten soll dadurch weiter vorangetrieben werden.Die Entwicklung von Formularen in HTML soll erweitert werden und im Idealfall einen Schritt von der bestehenden Formularstruktur hin zuXForms bilden.
Im Zuge der Einrichtung der neuen HTML-Arbeitsgruppe[29] und als Teil der architektonischen Vision für HTML, XForms und XHTML 2.0[5] wurden diese Ziele detaillierter festgelegt, teilweise verändert und um weitere Punkte ergänzt:
Im Gegensatz zur bisherigen Vorgehensweise, in jeder Spezifikation nur die Unterschiede zu einer alten Version abzubilden, soll eine vollständige Spezifikation geschrieben werden.
Das Vokabular von HTML muss als klassisches HTML und als XML-Dialekt verfasst werden können. Unabhängig von dieser Form muss das Vokabular in ein definiertes Infoset, das heißt in eineDOM-Abbildung des Quelltextes umgesetzt werden können.
Zusätzlich wurden zum Aufgabenbereich der Arbeitsgruppe die Definition von DOM-Schnittstellen für die Arbeit mit dem HTML-Vokabular sowie eine separate mit eingebundenen Medien festgelegt.Die Arbeitsgruppe soll Formulare und allgemeine Benutzereingabeelemente wie Fortschrittsanzeigen oder Menüs entwickeln und Schnittstellen für benutzerdefinierte WYSIWYG-Bearbeitungsfunktionen definieren.
Nach Gründung der Arbeitsgruppe wurden die HTML-Gestaltungsprinzipien[30] als erstes Dokument veröffentlicht. Darin werden weitere Zielsetzungen ausführlich erläutert. Dazu gehören etwa:
Kompatibilität
Bestehender Inhalt muss weiterhin unterstützt werden. Neue Elemente der Sprache dürfen den bestehenden Inhalt nicht negativ beeinflussen.
Verwendbarkeit
Neue Funktionen sollen echte Probleme lösen, und dies vorrangig für Autoren, dann Browserhersteller und zuletzt der „reinen Lehre“ dienend; Funktionen jedoch, die bereits einen bestimmten Zweck erfüllen, sollen nicht neu erfunden werden.
Sicherheit
Bei der Entwicklung neuer Funktionen müssen Sicherheitsaspekte berücksichtigt werden.
Konsistenz
Teile aus XML, die in XHTML Anwendung finden, sollen auch in HTML erlaubt werden. HTML und XHTML besitzen eine gemeinsame DOM-Abbildung.
Vereinfachung
Durch genau definiertes Verhalten (auch in Fehlersituationen) und geringe Komplexität soll HTML interoperabel implementiert werden können.
Universalität
HTML soll auf allen Endgeräten und mit Inhalt in allen Weltsprachen verwendbar sein.
Barrierefreiheit
DieBarrierefreiheit von Inhalt und Funktion soll gewährleistet sein.
Das Vokabular von HTML5 setzt sich aus dem Vokabular vorangehender HTML-Spezifikationen, bis dato proprietären Bestandteilen sowie einigen neuen Elementen zusammen, darunter z. B. Teile derRuby-Elementgruppe, die in XHTML 1.1 eingeführt wurden. Es umfasst dabei aber nur den Teil von HTML, den Autoren für das Erstellen von Dokumenten und Webanwendungen benutzen dürfen.
Neben dem Vokabular wird ein klares Strukturmodell definiert, also die Regeln, nach denen die verschiedenen Elemente ineinander verschachtelt werden dürfen.
Erstmals seit der Entstehung von HTML wird die Sprache nicht mehr als eine Anwendung vonSGML, sondern selbst als eine generalisierte Sprache in der Art von SGML definiert. Dies wird damit begründet, dass moderne Browser HTML nicht mit einem SGML-Parser, sondern einem für das Web passendenParser verarbeiten.
Wie diese Parser funktionieren, ist derzeit nicht definiert. HTML5 will dies durch die Definition eines HTML-Parsers ändern und so vermeiden, dass es Unterschiede zwischen den HTML-Parsern der verschiedenen Browserhersteller gibt.
Das Besondere an dem in HTML5 enthaltenen Parser ist, dass er nicht nur das erlaubte Vokabular versteht, sondern auch alle anderen Elemente, die in früheren Versionen vorhanden waren oder nur als proprietäre Elemente existierten. Durch diese genaue Definition will HTML5 sicherstellen, dass der Parser zu den im Web vorhandenen Dokumenten rückwärtskompatibel ist.
Jedes Element und Attribut, das in HTML5 bekannt ist, ist in den Begriffen des Dokumentobjektmodells definiert. Das gilt unabhängig davon, ob das Element oder Attribut ein erlaubter Sprachbestandteil ist. Das bedeutet, dass neben der strukturellen Bedeutung der Elemente auch deren DOM-Interface sowie die damit verbundenen Schnittstellen (Methoden und Eigenschaften) definiert werden.
Auf Basis dieser Definition erlaubt HTML5 die Repräsentierung von Dokumenten in drei Varianten:
Dokumente, die den Medientyp „text/html“ besitzen, gelten als HTML-Dokumente. Sie werden mit dem HTML-Parser verarbeitet. Diese Variante wird umgangssprachlich als HTML5 bezeichnet.
Dokumente, die einen XML-Medientyp – z. B. „application/xhtml+xml“ oder „application/xml“ – besitzen, gelten als XML-Dokumente, die von einem XML-Parser verarbeitet werden. Diese Variante wird umgangssprachlich als XHTML5 bezeichnet.
Die vorherigen Dokumente besitzen ein gemeinsames Dokumentobjektmodell. DasDOM wird in diesem Zusammenhang oft DOM5 genannt.
HTML5 versucht, die Unterschiede zwischen diesen drei Varianten auf die der jeweiligen Form innewohnenden Beschränkungen einzugrenzen. Beispielsweise ist die Zeichenkette „-->“ innerhalb von HTML und XML ungültig, im DOM kann sie jedoch dargestellt werden.
Ein anderes Beispiel ist der Versuch, die Unterschiede zwischen HTML und XHTML zu verringern: Die Kernspezifikation des DOM sagt aus, dass HTML-Elemente im null-Namensraum enthalten sind (während XHTML-Elemente dem Namensraum „http://www.w3.org/1999/xhtml“ angehören). HTML5 definiert jedoch, dass auch HTML-Elemente dem Namensraum „http://www.w3.org/1999/xhtml“ zuzuordnen sind.
HTML5 versucht, die Erwartung von Autoren an die Standarddarstellung der Elemente wiederzugeben. Für alle Elemente und deren Attribute gibt es daher eine „erwartete Darstellung“, die durch CSS-Eigenschaften definiert wird. HTML5 unterscheidet dabei zwischen Darstellungseigenschaften, die bei der standardkonformen und der kompatibilitätsorientierten Verarbeitung von Webseiten angewendet werden sollen.
HTML5 führt das Konzept eines Browserkontextes ein: in jedem Browserkontext wird ein Dokument geladen bzw. weitere Browserkontexte (im Fall von Frames) erzeugt. Zu den Bestandteilen eines Browserkontextes gehören großteils JavaScript-Objekte, die zuvor keinem Standard angehörten, z. B. das History-Objekt, in dem die Abfolge der besuchten Webseiten gespeichert wird. Dadurch wird versucht, das Verhalten der Browser zu vereinheitlichen und einer gemeinsamen Definition zu unterwerfen.
Diese Spezifikation versucht, das Einbinden maschinenlesbarer Informationen in HTML-Dokumente zu definieren. Ziel dabei ist, dass dieser Mechanismus eindeutig definiert und zu anderen Formaten wieRDF undJSON kompatibel ist.
In dieser Spezifikation werden Schnittstellen zum Zeichnen zweidimensionaler Formen festgelegt. Als Zeichenoberfläche dient das in der Hauptspezifikation eingeführteCanvas-Element.
Gezeichnet werden können Linien, Schatten, einfache und komplexe Konturen (Pfade) sowie Texte und im Dokument enthaltene Bilder.
Dieser Arbeitsentwurf definiert zwei Methoden, die es voneinander unabhängigen Browserkontexten erlauben sollen, miteinander Daten auszutauschen:
„Cross-document messaging“, das die Kommunikation von ineinander eingebetteten Dokumenten (z. B. über iframes) ermöglichen soll, und
„Channel messaging“, das die Kommunikation für voneinander unabhängige Dokumente (z. B. getrennt durch zwei verschiedene Browserfenster) ermöglichen will.
HTML+RDFa – Ein Mechanismus zum Einbetten von RDF in HTML
Bei „HTML: Die Auszeichnungssprache“ handelt es sich um keine Spezifikation, sondern um ein unterstützendes Dokument, das die Auszeichnungssprache HTML genauer beschreibt. Es will Autoren Details über die korrekte Verwendung der Sprache näher bringen, dabei aber kein Tutorium oder Handbuch darstellen. Das Dokument macht keine Aussagen über Definitionen oder wie HTML verarbeitet werden sollte.
In diesem Dokument werden die Unterschiede zwischen HTML4 (genauer: HTML 4.01 und in Teilen XHTML 1.0 sowie DOM Level 2 HTML) und HTML5 aufgeführt und Begründungen für die Änderungen gegeben. Das Dokument wird jeweils bei Veröffentlichung eines neuen Arbeitsentwurfs der Hauptspezifikation aktualisiert und veröffentlicht.
Dieser entstehende Leitfaden für HTML-Autoren beschreibt, welche Alternativtexte für Bilder (vor allem imalt-Attribut desimg-Elements) zu wählen sind. Diese sind wichtig, damit die Inhalte, die durch Bilder transportiert werden, auch für beispielsweise blinde Webnutzer zugänglich sind.
Das Dokument beschreibt Regeln für HTML5-Dokumente, welche in XHTML-Syntax verfasst sind und somit sowohl von HTML5-Parsern als auch von XML-Parsern verarbeitet werden können.
Die nachfolgende Übersicht der Neuerungen in HTML5 erhebt keinen Anspruch auf Vollständigkeit und unterliegt durch den Status der Spezifikationen bedingt Veränderungen.
Grundlegend lässt sich vorweg sagen, dass praktisch alle Elemente aus HTML 4.01 auch in HTML5 enthalten sind. HTML4 ist so gesehen eine Teilmenge von HTML5.
Die Dokumenttypangabe in HTML5-Dokumenten besteht aus der Zeichenkette „<!DOCTYPE html>“,[3] wobei Groß- und Kleinschreibung keine Rolle spielen. Diese Zeichenkette bewirkt in allen modernen Browsern das Verarbeiten des Quelltextes im standardkonformen Modus.
Da ein Browser HTML-Dokumente nicht nach ihrer Version unterscheidet, wurde bewusst auf jede Art von Versionierung verzichtet. Auch hier zeigt sich, dass HTML5 sich als Obermenge von HTML 4.01 definiert.
Die Elementesection,nav,article,aside,header undfooter sollen eine bessere Strukturierung ermöglichen. Anders alsdiv-Kästen, die bislang zur Strukturierung von HTML-Dokumenten verwendet wurden, wird durch das Element hier auch definiert, welche Art von Inhalt sich in dem Element befindet. Zum Beispiel bezeichnetsection einen Abschnitt eines durchgängigen Textes,nav ein Menü,article einen Artikel oderfooter einen Seitenfuß.
In einer Untersuchung des Suchmaschinenanbieters Google wurde festgestellt, dass die am häufigsten vergebenen Klassennamen in HTML-Dokumenten sich gut den jeweiligen neuen HTML-Elementen zuordnen lassen.[31]
Einige dieser Elemente (section,nav,article undaside) bringen auch eine Funktion in der Kombination mit den Überschriftenelementenh1 bish6. Die Überschriftenhierarchie wird nicht mehr nur allein anhand der Überschriftenelemente bestimmt, sondern auch anhand derer Position innerhalb der neuen Elemente. Verwendet ein Dokument beispielsweise eine Überschrift erster Ordnung und nutzt dann in einem Artikelelement ebenfalls eine Überschrift erster Ordnung, so ist diese der nicht-verschachtelten Überschrift untergeordnet. Das gilt selbst dann, wenn die nicht-verschachtelte Überschrift niedrigerer Ordnung ist.
Derartige neue Elemente werden von älteren Browsern (vor allem von Internet Explorer 6, aber auch von neueren Versionen des Internet Explorers bis IE8 inklusive) nicht erkannt. Für diese Versionen wird JavaScript benötigt, damit der IE die neuen Elemente als solche erkennt und darstellt.
Dasfigure-Element und das dazu passende Überschriftenelementfigcaption wurden hinzugefügt, um die Auszeichnung zusätzlicher Inhalte, beispielsweise Abbildungen mit Bildunterschriften, zu vereinfachen.
Auf Textauszeichnungsebene wurden die Elementetime für Zeitangaben, die dynamisch lokalisiert werden können;mark für hervorgehobene Textabschnitte;ruby,rp undrt für einfacheRuby-Annotierungen und das vormals proprietärewbr-Element, das Textumbruchsmöglichkeiten in langen Wörtern bietet, hinzugefügt.
HTML5 führt spezifische Elemente zur Einbindung von Audio- und Videodateien ein. Für diese können eine oder mehrere Quellen bzw. verschiedene Formate hinterlegt werden, aus denen ein Browser dann ein für ihn verständliches Format auswählt. Die Wiedergabe von5.1 Surround Sound Content war bisher in HTML4 über das mehrkanaltonfähigeVLC-Browser-Erweiterung oder, inDolby Pro Logic II codiert, über denStereokanal einer sonstigen, gängigen Software-Erweiterung und einen an die Soundkarte angeschlossenenMehrkanalton-Decoder möglich.[32][33] Mit HTML5 ist es erstmals möglich, 5.1 Surround Sound Content direkt aus dem Browser an entsprechende Soundkarten imMehrkanalton auszugeben, ohne dass eine Browser-Erweiterung oder eine Codierung bei der Erstellung der Medien und eine anschließende Decodierung beim Abspielen im Browser nötig wären. Die Mediendatei wird dabei per progressivemDownload in denCache des Browsers geladen.[34] Für das Einbinden von Anwendungen oder interaktiven, nicht auf HTML basierenden Inhalten beschreibt HTML5 das vormals proprietäreembed-Element.
Zudem wurde eine Zeichenoberfläche (Canvas-Element) hinzugefügt, auf der mit Hilfe von Skripten zweidimensionale Bilder gezeichnet werden können.
Dasinput-Element wurde um verschiedene Typen erweitert, z. B. zur Eingabe von Suchbegriffen, Telefonnummern, URL- und E-Mail-Adressen, Datums- und Zeitangaben, Zahlen sowie Farbangaben.
Zum Entwurf wurden darüber hinaus folgende Elemente hinzugefügt:datalist, mit dem beispielsweise Vervollständigungsvorschläge angegeben werden;output, das Ergebnisse von Berechnungen darstellt;progress, das den Fortschritt einer Aktion abbildet;meter, das für messbare Wertebereiche (z. B. Speicherbelegung auf der Festplatte) gedacht ist und das vormals proprietärekeygen-Element, das zur Erstellung von Identifikations-Schlüsselpaaren dienen soll.
Diedetails- undsummary-Elemente ähneln im Aufbau denfigure undfigcaption-Elementen. Der Inhalt dessummary-Elements wird dabei ständig angezeigt, der restliche Inhalt desdetails-Elements kann ein- und ausgeblendet werden.
Für das Erstellen von Werkzeugleisten und (Kontext-)Menüs werden dasmenu-Element als strukturierende Basis und dascommand-Element als Interaktionspunkt definiert.
Einigen, vormals nur der Darstellung dienenden Elementen (z. B.b,i,hr odersmall) wurde eineSemantik gegeben. Die jeweiligen Definitionen sind dabei relativ weit gefasst, wodurch sichergestellt werden soll, dass die neue Bedeutung nicht der Benutzung in existierenden Webseiten widerspricht.
Im Gegensatz dazu werden einige Elemente (z. B.cite) umdefiniert. Dadurch ist unter anderem das direkte Portieren von älteren Standards nur noch bedingt möglich.[35][36]
Aus dem Vokabular von HTML5 entfallen einige Elemente (z. B.acronym,center,font,frame etc.). Es wird jedoch weiterhin definiert, wie ein Browser mit diesen Elementen umzugehen hat. Dadurch wird die Kompatibilität zu bestehenden Webseiten sichergestellt.
HTML5 definiert einige DOM-Schnittstellen, die der Erstellung von Webanwendungen dienen sollen, dazu gehören unter anderem Schnittstellen für:
die Kontrolle von Multimediaelementen,
die Manipulation der History (feingradigere Vor- und Zurücknavigation),
Drag & Drop,
bearbeitbare Inhalte,
Offlineanwendungen,
das Speichern von Anwendungsdaten (üblicherweise 5 MB pro Domain).
Einige vormals proprietäre oder nur in Funktionssammlungen enthaltene Eigenschaften und Methoden wieinnerHTML undgetElementsByClassName() wurden der Spezifikation hinzugefügt.
Des Weiteren ist das Verhalten der Elemente in HTML dem Verhalten der Elemente in XHTML angepasst worden, d. h.:
localName gibt den Element- bzw. Attributnamen kleingeschrieben wieder.[38]
Joe Clark, Autor und Webaktivist fürZugänglichkeit, gesteht zwar der Vorversion HTML 4.01 Probleme zu, ist aber nicht der Meinung, dass die Sprache bezüglich bereits vorhandener Elemente weiterentwickelt werden müsse. Selbst sehr schlecht geschriebener Code führe demnach bereits heute in allen Browsern zu einem zufriedenstellenden Ergebnis. Clark kritisiert, dass die Weiterentwicklung von HTML in die falsche Richtung verlaufe. Das W3C habe an wichtigeren Baustellen zu arbeiten, beispielsweise dem in der Szene umstrittenenWCAG-2.0-Standard.[41]
Shane McCarron, der als Editor für zahlreiche XHTML-Spezifikationen mitverantwortlich ist, vermutet, dass HTML weiterentwickelt werde, weil die großen Browserhersteller der Herausforderung, die in der Implementierung desSemantic Web liegt, nicht gewachsen seien. Daraus folgert er, dass das W3C auf Druck dieser Hersteller das Ziel eines XML-basierten Ökosystems aufgegeben habe.[42]
Ian Hickson war von Anfang an eine der treibenden Kräfte hinter HTML5. Er schrieb 2004 die Entwürfe für Web Forms 2.0 und Web Applications 1.0 und wurde 2005 vonGoogle angestellt, um sich auf die Weiterführung dieser Arbeit konzentrieren zu können. Durch dieses Engagement wuchs Hickson in die Rolle des „wohlwollenden Diktators“. Er allein besaß das Bearbeitungsrecht für den HTML5-Entwurf und war für viele Entscheidungen, die die Spezifikation betreffen, allein verantwortlich.
Diese Vorgehensweise entspricht kaum der des W3C, dessen Spezifikationen auf demokratischem Konsens basieren. Daher fragen sich viele Webautoren, beispielsweise Kyle Weems,[43] ob der Zweck (eine funktionale Spezifikation) die Mittel (konsequente, nichtdemokratische Entstehung jener Spezifikation) rechtfertigt.
Mathias Schäfer, Webentwickler und Mitautor verschiedener Dokumentationen (beispielsweiseSELFHTML), kritisiert die fehlende Sachlichkeit bei der Diskussion von HTML5 während der Entstehung. Anhand des Beispiels der „verteilten Erweiterbarkeit“ (Erweiterung des HTML-Vokabulars um proprietäre bzw. private, etwa firmeninterne Elemente) zeigt er, dass Vorschläge nicht ernst genommen werden, obwohl Schäfer meint, dass gerade diese Vorgehensweise HTML5 zum Erfolg führen könnte.[44]
Die WHATWG selbst steht in der Kritik, da sie HTML5 nach wie vor auf ihrer Webseite als Spezifikation führt. Tatsächlich handelt es sich dabei jedoch nicht um HTML5, sondern – nach eigenen Angaben – um die nächste Generation von HTML. Das heißt, der Entwurf umfasst zwar den aktuellen Stand von HTML5, erweitert diesen aber um neue, noch unausgereifte Funktionen. Zudem besitzt der WHATWG-Entwurf einige Unterschiede zur Variante des W3C. Problematisch sind Unterschiede in den normativen Abschnitten, da hier das W3C den Standard festlegt, Browserhersteller aber in der Regel dem WHATWG-Entwurf folgen.
Zum Einbinden von Audio- bzw. Videodaten definiert HTML5 die Elementeaudio undvideo. Da jedoch kein Format definiert ist, welches als Mindeststandard unterstützt werden muss, gab es lange Zeit kein Format, das von allen Browsern unterstützt wurde. Zur Diskussion standen in der Vergangenheit unter anderem die FormateOgg,Vorbis undTheora (die, ohne Lizenzgebühren zahlen zu müssen, verwendet werden können und ursprünglich als Mindeststandard festgelegt waren),H.264 (das eine bessere Qualität bietet, jedoch patentiert ist) undWebM mit den Codecs VP8/VP9.
Nachdem dieMPEG Licensing Administration im August 2010 beschlossen hatte, dauerhaft keine Lizenzgebühren für freies Internet-Streaming von H.264-Inhalten zu verlangen, wird das Format mittlerweile von allen Browsern unterstützt und hat sich als De-facto-Standard etabliert.[45][46]
2013 richteten die UnternehmenGoogle,Microsoft undNetflix an das W3C den Wunsch, dass über eine sogenannteEncrypted Media Extension (EME) verschlüsselte Medieninhalte über HTML5 ausgegeben werden können sollen. Durch dieses wurdeDigital Rights Management (DRM) in Browser integriert.[47] Unter den meistbenutzten Browsern unterstützen alle EME.Mozilla Firefox unterstützt EME ab Version 38, bot 2015 auch eine EME-freie Version an.[48][49] Seitdem wird eine Möglichkeit geboten, EME bzw. DRM in den Einstellungen zu deaktivieren, womit auch das closed-source Widevine-CDM (Content Decryption Module) deinstalliert wird.[50]Google Chrome unterstützt EME ab Version 26 mit selbstentwickelten Widevine-CDM,[51]Internet Explorer abVersion 11.[52] Am 18. September 2017 beschloss die W3C die Einführung von Encrypted Media Extensions als Webstandard.[53] Aus Protest gegen diese Entscheidung ist dieElectronic Frontier Foundation aus dem W3C-Konsortium ausgetreten.[54] Im Oktober 2017 wurde der österreichischeNegativpreisBig Brother Award in der KategorieBehörden und Verwaltung an das W3C für die Einführung von EME als Webstandard verliehen.[55]
↑Henri Sivonen: Spelling HTML5. In: The WHATWG Blog. 10. September 2009, abgerufen am 1. Oktober 2015 (englisch): „What’s the right way to spell “HTML5”? The short answer is: “HTML5” (without a space).“
↑abHTML5 Differences from HTML4. W3C Working Group Note. W3C, 9. Dezember 2014, abgerufen am 26. Dezember 2014 (englisch): „HTML 5 replaces these documents. [DOM2HTML] [HTML4] [XHTML1]“