HTML 5 ist die noch nicht erschienene Weiterentwicklung der Seitenauszeichnungssprache HTML (aktuell: Version 4.01).
Inhaltsverzeichnis |
Ein erster Vorschlag für HTML 5 wurde zunächst Mitte 2004 von der WHATWG unter dem Namen Web Applications 1.0 veröffentlicht.
Ende 2006 hat Tim Berners-Lee angekündigt, dass eine neue Arbeitsgruppe entstehen wird, die HTML weiterentwickeln soll.[1] Damit hat sich das W3C Konkurrenz im eigenen Hause geschaffen, da man hier auch an der HTML-ähnlichen Sprache XHTML 2.0 arbeitet, ein rein XML-basiertes Format zur Seitenauszeichnung.
Zwischen November 2006 und März 2007 wurden daher die vorhandenen Arbeitsgruppen beim W3C umgestaltet. Die neue HTML-Arbeitsgruppe soll eine Sprache entwickeln, die sich an der klassischen HTML-Syntax orientiert, aber auch als XML-Formulierung verwendet werden kann. Zudem sollen beide Sprachvarianten eine sehr ähnliche Speicherabbildung der Sprache ermöglichen (d. h. eine Wiedergabe durch das DOM). Vermutlich hat man hier schon mit dem Entwurf der WHATWG geliebäugelt, denn dieser hat diese Vorgabe zu diesem Zeitpunkt bereits erfüllt.
In einer Abstimmung im Mai 2007 haben die Mitglieder der HTML-Arbeitsgruppe entschieden, dass die Spezifikation Web Applications 1.0 der WHATWG als Startpunkt zur Diskussion und Weiterentwicklung von HTML verwendet wird.[2]
Am 22. Januar 2008 hat das W3C den ersten Working Draft (Arbeitsentwurf) von HTML5 veröffentlicht.[3] Am 10. Juni 2008 folgte der zweite Arbeitsentwurf.
Die Spezifikation selbst weist darauf hin, dass bestimmte Abschnitte ausgereifter sind als andere. Von den reiferen Neuentwicklungen sind einige bereits in aktuellen Browserversionen enthalten und dürfen ausdrücklich verwendet werden.[4]
HTML 5 möchte die vorhandenen Spezifikationen (HTML 4.01, XHTML 1.0 und DOM 2 HTML) ersetzen. Der Entwurf definiert daher drei Sprachformen: HTML 5, XHTML 5 und DOM 5.
Bei der Entstehung der HTML-Arbeitsgruppe wurde festgelegt, welche Ziele verfolgt werden und was die Spezifikation enthalten soll.[5] Ein kurzer und unvollständiger Überblick:
Als ersten öffentlichen Arbeitsentwurf hat die HTML-Arbeitsgruppe inzwischen die „HTML Design Principles“ (Sprachgestaltungsprinzipien) veröffentlicht. Diese enthalten weitere Ziele und Richtlinien, anhand derer entschieden werden soll, ob etwas Altes verbessert werden kann oder ob etwas neu entwickelt werden soll. In letzterem Fall gibt es Richtlinien, was eine Neuentwicklung können muss (z. B. alternativen Inhalt für Multimediaobjekte zur Verfügung stellen).
Die aktuelle HTML-Version (4.01) wurde 1997 zur W3C-Empfehlung gekürt und definiert nur die Sprache als SGML-Anwendung. Zu HTML 4.01 gesellten sich in den letzten Jahren weitere Empfehlungen, beispielsweise XML und das DOM.
HTML 4.01 wurde mit Hilfe von XML neu formuliert, woraus XHTML 1.0 entstand. Beide Sprachen besitzen ein nahezu identisches Vokabular. Zudem wurde auf DOM-Basis ein HTML-DOM spezifiziert, das die dynamische Manipulation von HTML-Dokumenten erlaubte.
Als Ergebnis dieser zahlreichen Veröffentlichungen gibt es drei Spezifikationen, die sich mit HTML, XHTML und dem DOM beschäftigen.
HTML 5 ändert dies. Der aktuelle Entwurf definiert nicht nur HTML 5 als eigene Sprache, sondern ein allgemeines Vokabular, das als HTML, XHTML und als DOM-Abbildung nutzbar ist.
Ziel ist es, die Unterschiede zwischen den Sprachausprägungen zu verringern und eine bessere Zusammenarbeit der Komponenten zu erreichen.
HTML ist bis einschließlich Version 4.01 eine SGML-Anwendung, jedoch verfügen selbst moderne Webbrowser über keine „echten“ SGML-Parser, sondern nur über HTML- bzw. Tag-Soup-Parser. Daher können bestimmte syntaktische SGML-Regeln in HTML nicht angewendet werden. Außerdem haben die Browser verschiedene Ansichten, wie ein HTML-Parser funktioniert.
HTML 5 versucht nicht länger auf SGML zu basieren, stattdessen wird eine eigene HTML-Syntax definiert, die sich zwar an dem klassischen, SGML-inspirierten HTML orientiert, aber auch Bereiche wie Fehlerbehandlung neu definiert. Gerade dabei versucht die Spezifikation, sich an den bereits vorhandenen Implementierungen der Browser zu orientieren, damit die Syntax rückwärtskompatibel bleibt. So werden die Browser zwar Veränderungen vornehmen müssen, damit die Sprache browserweit identisch verarbeitet werden kann, aber auch heute schon können viele HTML-5-Features zumindest theoretisch (da noch nicht implementiert) von den aktuellen Browsern verarbeitet werden.
Die Spezifikation von XHTML 1.0 erlaubt es unter Berücksichtigung einiger Regeln, Dokumente dieser Version mit dem Medientyp text/html zu versenden. Das ist notwendig, damit XHTML-Dokumente auch von Browsern wie Microsofts Internet Explorer und Lynx verarbeitet werden können (sie werden dann jedoch als HTML verarbeitet).
In der Praxis gibt es einige Unterschiede zwischen „echtem“ XHTML und XHTML, das als text/html versendet wird. HTML 5 möchte diese Unterschiede verringern um einen problemlosen Übergang zwischen den Sprachvarianten zu ermöglichen.
XHTML 5 ist ein XML-Format und unterliegt als solches den Regeln zur Verarbeitung von XML-Dokumenten. Auf diese hat die HTML5-Arbeitsgruppe keinen Einfluss, daher werden Kompromisse für die HTML-Formulierung und dem DOM gemacht.
Das bedeutet beispielsweise, dass die in XML erlaubte selbstschließende Schreibweise leerer Elemente in HTML5 erlaubt sein wird, obwohl sie nach HTML 4.01 ausgelegt einem Fehler entspricht.
Die WHATWG hat eine Seite mit Unterschieden zwischen HTML 5 und XHTML 5 erstellt. Siehe [6].
Die gesamte HTML-5-Spezifikation ist durch die DOM-Terminologie geprägt.
Zwar sind nicht alle Benutzeragenten (Darstellungsprogramme, Suchmaschinen) DOM-fähig, HTML 5 definiert jedoch auch, wie diese Programme sich verhalten müssen, wenn sie auf HTML-5-Dokumente stoßen.
Das Dokumentobjektmodell selbst erfährt ebenfalls Anpassungen und Erweiterungen in der Spezifikation.
Zukünftig sollen alle HTML-Elemente (die im Gegensatz zu XHTML-Elementen über keinen Namensraum verfügen) dem XHTML-Namensraum (http://www.w3.org/1999/xhtml) angehören.
HTML 5 definiert zahlreiche Elemente und Attribute, die als Sprachkern aufgefasst werden können. Vergleichbar ist dieser mit der HTML-4.01-Variante Strict.
Die Spezifikation möchte aber in Zukunft auch definieren, wie ältere Elemente und Attribute verarbeitet werden sollen. Denn ein HTML-5-Browser soll auch problemlos mit bereits vorhandenen Webseiten umgehen können, die nicht mit den Regeln dieser Sprache geschrieben wurden.
Das bedeutet: missbilligte Elemente und Attribute sind dies weiterhin und dürfen nicht verwendet werden. Würden sie aber verwendet werden, müsste ein Browser sie wie beabsichtigt verarbeiten. Das Ganze wäre vergleichbar mit der HTML-4.01-Variante Transitional.
Die bisher zu erwartenden Unterschiede sind:
Die WHATWG und das W3C arbeiten zusammen an einer weiteren Spezifikation, genannt Web Forms 2.0, welche die aus HTML bekannten Formulare erweitern soll. Diese Spezifikation ist bereits sehr ausgereift und soll in die HTML-5-Spezifikation eingefügt werden, wenn diese ebenfalls reifer ist. Web Forms 2.0 bringt z. B. diese neuen Features:
Der WHATWG ist klar, dass bestimmte Elemente, die nur der Präsentation dienen, nicht mehr vermieden werden können. Daher wurden diese Elemente umdefiniert, um ihrer Anwendung zu entsprechen und ihren Sinn allen Benutzern zugänglich zu machen.
Das Attribut start des ol-Elements und das Attribut value des li-Element sind nun wieder Teil der Kernsprache, da sie nicht präsentationeller Natur sind.
Neben den Methoden zur Steuerung von audio- und video-Elementen wurde auch eine neue Methode namens getElementsByClassName hinzugefügt. Diese Methode findet alle Elemente im Dokument, die als Klasse den Argumentnamen besitzen (dabei sind auch mehrere Klassenangaben möglich). Sie wird bereits von einigen Skriptbibliotheken bereitgestellt, doch eine im Browser implementierte Version könnte die Aufgabe wesentlich schneller und effizienter erledigen.
Folgende Elemente wurden entfernt:
Auch einige Attribute wurden entfernt. Stark kritisiert wurde in dieser Hinsicht das Fehlen der Attribute summary des header-Elements und axis, welche Tabellen zugänglicher machen sollen. Da die Spezifikation jedoch noch ein Entwurf ist, ist unklar, ob diese Attribute noch hinzugefügt werden.
Empfehlungen (recommendations): Canonical XML | CDF | CGI | CSS | DOM | HTML | MathML | OWL | PLS | RDF | RDF-Schema | SISR | SMIL | SOAP | SRGS | SSML | SVG | SPARQL | Timed Text | VoiceXML | WSDL | XForms | XHTML | XML | XML Base | XML Events | XML Information Set | XML Schema | XML Signature | XPath | XPointer | XQuery | XSL Transformation | XSL-FO | XSL | XLink
Anmerkungen (notes): XHTML+SMIL | XAdES
Arbeitsentwürfe (working drafts): CCXML | CURIE | InkML | XFrames | XFDL | WICD | XHTML+MathML+SVG | XBL | XProc | HTML 5