- HTML 5
-
HTML 5 ist die noch nicht erschienene Weiterentwicklung der Auszeichnungssprache HTML (aktuell: Version 4.01).
Inhaltsverzeichnis
Entstehung
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, in den erstmals die Web-Forms-2.0-Spezifikation eingebunden wurde. Am 12. Februar 2009 der Dritte. Am 23. April der Vierte.
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]
Ziele
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:
- Eine Sprache die sich aus HTML 4.01 entwickelt hat.
- Diese Sprache muss als klassisches HTML, als XML-Formulierung und als DOM-Abbildung verwendet werden können.
- Für die Variante auf Basis von klassischem HTML soll ein Fehlerüberprüfungswerkzeug zur Verfügung stehen.
- Die DOM-Abbildung der Sprache muss Programmierschnittstellen zur dynamischen Arbeit mit dieser Sprache besitzen.
- Schnittstellen zur Arbeit mit verknüpften Multimediainhalten
- u. v. m.
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).
Aufbau
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 5
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.
XHTML 5
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 solchem 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].
DOM 5
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.
Der Sprachumfang
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.
Unterschiede zu HTML 4.01
Die bisher zu erwartenden Unterschiede sind:
Strukturierende Elemente
- article
- Das article-Element umfasst einen unabhängigen Abschnitt, der jedoch im Kontext zu den Vorfahrelementen steht. Damit sind z. B. Nachrichtenartikel, Blog- oder Foreneinträge gemeint.
- aside
- Bezeichnet Inhalt, der thematisch zum umschließenden Inhalt passt, aber nicht direkt dazugehört. Ein politischer Nachrichtentext könnte in einem aside-Element Querverweise zu ähnlichen Nachrichten beinhalten.
- dialog
- Ein speziell für Dialoge eingeführtes Element.
- figure
- Das figure-Element erlaubt es, ein bestimmtes Medium (z. B. Bilder, Videos etc.) mit einer Bildunterschrift zu versehen.
- footer
- Das footer-Element definiert eine Fußzeile für den aktuellen Abschnitt (z. B. in einem article-Element) und gibt z. B. Auskunft über den Autor oder die Erstellungszeit des Textes.
- header
- Das header-Element definiert den Kopfbereich für den aktuellen Abschnitt (z. B. in einem section-Element). Neben einer Überschrift kann es auch weitere Informationen, z. B. Versionsdaten enthalten.
- nav
- Dieses Element umschließt einen Navigationsbereich. Damit sind nicht nur Verweise zu anderen Seiten eines Webauftritts gemeint, sondern z. B. auch Verweise die auf Abschnitte innerhalb eines Dokuments zeigen (wie in der Wikipedia).
- section
- Ein section-Element gruppiert thematisch zusammenhängenden Inhalt und besitzt meist einen Kopf- und Fußbereich. Anhand einer typischen Webseite wären Beispiele für ein section-Element ein Vorstellungs-, ein Nachrichten- und ein Kontaktbereich.
Elemente zur Datendarstellung
- audio, video
- Audio- und Videodateien sollen zukünftig mit diesen Elementen eingebunden werden. HTML 5 stellt zu diesen Elementen einige Schnittstellen bereit, z. B. um die Wiedergabe steuern zu können.
- embed
- Mit dem embed-Element sollen Anwendungen und interaktive Inhalte eingefügt werden. Das Element ist die Standardisierung eines bisher proprietären Elements.
- mark
- Das mark-Element stellt hervorgehobenen Text dar. Dies ist nicht zu verwechseln mit betonten Texten. Stattdessen geht es hier z. B. um Text, der von einer Suchmaschine gefunden wurde und sichtbar markiert wird, sodass er schnell von Benutzern und deren Darstellungsprogrammen gefunden werden kann.
- meter
- Das meter-Element stellt einen Anteil seinem Maximum gegenüber. Verwenden kann man dieses Element z. B. um anzuzeigen, wie gut ein Suchergebnis im Vergleich zum Suchwort ist, wie gut ein Produkt im Vergleich zur Besten Bewertung bewertet wurde etc.
- source
- Mit diesem Element können für ein Medienelement verschiedene Quellen angegeben werden, aus denen das Darstellungsprogramm die passende aussucht.
- time
- Das time-Element wird verwendet, um Zeitangaben auszuzeichnen und Zeitangaben mit Metadaten auszustatten, sodass ein Browser damit z. B. einen interaktiven Kalender erzeugen kann.
Anwendungselemente
- canvas
- Das canvas-Element erzeugt eine Zeichenoberfläche auf der mit Hilfe von DOM-Methoden gezeichnet werden kann. Die Spezifikation sieht nur eine zweidimensionale Zeichenoberfläche vor, geht aber davon aus, dass in Zukunft auch dreidimensionale Kontexte eingeführt werden könnten.
- progress
- Das progress-Element gibt den Fortschritt einer bestimmten Aufgabe wieder. Das Element wird ebenfalls mit dem DOM gesteuert. Anwendungsbeispiele sind z. B. der Fortschritt bei einer mehrseitigen Umfrage.
Formulare
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:
- Neue Eingabetypen, z. B. für E-Mails, Internetadressen, Zeitangaben, etc. so dass diese vom Browser geprüft werden können.
- Eingabefelder können als Pflichtfeld definiert werden
- Eingabetemplates können erstellt werden und dynamisch hinzugefügt werden (z. B. um ein Bestellformular um mögliche Einträge zu erweitern).
- Datenlisten, z. B. um ein verstellbares Kontrollobjekt zu erzeugen mit dem beispielsweise die Lautstärke eines audio- oder video-Elements bestimmt werden kann.
- Klärung wie CSS-Eigenschaften sich auf Formularelemente auswirken.
Umdefinierte Elemente
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.
- i
- Früher erzeugte das Element kursiven Text. Jetzt sollen damit Texte gekennzeichnet werden, die üblicherweise kursiv geschrieben werden, z. B. Text in einer anderen Stimm- oder Stimmungslage, Gedanken, Schiffsnamen etc.
- b
- Früher formatierte das Element Text fett. Nun soll damit Text gekennzeichnet werden, der zwar stilistisch hervorgehoben werden soll, jedoch keine wichtigere Bedeutung hat als der Rest des Textes, z. B. Schlüsselwörter, Produktnamen etc.
- em
- Dieses Element zeichnet weiterhin Text aus, der betont werden soll. Die Betonung verstärkt sich jetzt jedoch, wenn dieses Element ineinander verschachtelt wird.
- hr
- Diente zunächst der Erzeugung einer Trennlinie. Nun symbolisiert diese Trennlinie einen thematischen Umbruch zwischen Absätzen.
- small
- Früher wurde damit Text kleiner als normal formatiert. Jetzt soll Kleingedrucktes damit ausgezeichnet werden, z. B. Urheberechtshinweise, Nachteile durch Sternchenreferenzierung, Rechtseinschränkungen.
- strong
- Früher bedeutete diese Auszeichnung starke Betonung. Diese wird nun von verschachtelten em-Elementen übernommen. Das strong-Element zeichnet jetzt große Wichtigkeit aus.
Wieder erlaubte Elemente
Das Attribut
start
des ol-Elements und das Attributvalue
des li-Element sind nun wieder Teil der Kernsprache, da sie nicht präsentationeller Natur sind.Neue DOM-Methoden
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.
Entfernte Elemente und Attribute
Folgende Elemente wurden entfernt:
- acronym
- Stattdessen soll nur noch das abbr-Element für Abkürzungen verwendet werden, da es allgemeiner ist und das acronym-Element alleine ebenso wenig die vielseitigen Akronyme wiedergeben kann.
- big
- tt
Auch einige Attribute wurden entfernt. Stark kritisiert wurde in dieser Hinsicht das Fehlen der Attribute
summary
desheader
-Elements undaxis
, welche Tabellen zugänglicher machen sollen. Da die Spezifikation jedoch noch ein Entwurf ist, ist unklar, ob diese Attribute noch hinzugefügt werden.In XHTML 5 (Mime-Type application/xhtml+xml ) ist das
noscript
-Element nicht mehr erlaubt, da das Elementmodell nicht mit den XML-Verarbeitungsregeln vereinbar ist. In HTML 5 (Mime-Type text/html) istnoscript
weiterhin erlaubt.[7]Quellen
- ↑ Tim Berners-Lees Blogeintrag „Reinvent HTML“ http://dig.csail.mit.edu/breadcrumbs/node/166
- ↑ Abstimmungsergebnis zur Frage ob die WHATWG-Entwürfe (HTML 5 bzw Web Applications 1.0 und Web Forms 2.0) als Startpunkt der Arbeitsgruppe dienen soll. http://www.w3.org/2002/09/wbs/40318/htmlbg/results
- ↑ Pressemitteilung zur Veröffentlichung des ersten HTML5-Arbeitsentwurfes. http://www.w3.org/2008/02/html5-pressrelease
- ↑ WHATWG-Antwort auf die Frage wann HTML-5-Features verwendet werden dürfen. http://wiki.whatwg.org/wiki/FAQ#When_will_we_be_able_to_start_using_these_new_features.3F
- ↑ Zielsetzung im Gründungsdokument der HTML-Arbeitsgruppe. http://www.w3.org/2007/03/HTML-WG-charter#deliverables
- ↑ Unterschiede zwischen HTML 5 und XHTML 5 http://wiki.whatwg.org/wiki/HTML_vs._XHTML
- ↑ Noscript-element in der Spezifikation No-Scriptelement in der Spezifikation
Weblinks
- Der aktuelle Entwurf der HTML-5-Spezifikation in der einseitigen W3C-Fassung (englisch)
- Der aktuelle Entwurf von HTML 5 in der mehrseitigen WHATWG-Variante (englisch)
- Die Web-Forms-2.0-Spezifikation bei der WHATWG (englisch)
- Web Forms 2.0 beim W3C (englisch)
- Ein Vergleich von HTML 5 und XHTML 2.0
- Eine satirische E-Mail über die Zeit nach der Vollendung von HTML 5 (englisch).
Standards des World Wide Web ConsortiumsEmpfehlungen (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
- Eine Sprache die sich aus HTML 4.01 entwickelt hat.
Wikimedia Foundation.