HTML Doctype

Aus Wiki
Wechseln zu: Navigation, Suche

Der Doctype ist das erste Element im Quellcode einer Webseite und sollte in jedem HTML Dokument zu finden sein. Leider wird das Element jedoch häufig vergessen und vielen Webmastern ist darüber hinaus nicht klar, welche Funktion es überhaupt hat. Weiterhin wird auch die Wichtigkeit dieses Elements häufig unterschätzt. Was genau der Doctype macht und warum er für die korrekte Darstellung einer Webseite so wichtig ist, möchten wir Ihnen deshalb im Folgenden erläutern.

Definition

Bei dem Doctype handelt es sich nicht um ein klassisches HTML Element. Vielmehr macht der Doctype Angaben darüber, welche Version der Markup-Language verwendet wird. Außerdem enthält er Anweisungen über die im HTML Code verfügbaren Elemente und Eigenschaften. Der Doctype trägt dazu bei, dass der Webbrowser den Code korrekt abarbeiten und die Webseite korrekt darstellen kann. Aktuelle Standards sehen vor, dass das Element im Quellcode jedes Web Dokuments vorhanden sein muss. Fehlt der Doctype, handelt es sich also um einen Fehler, auch wenn sich die Webseite unter Umständen dennoch korrekt darstellen lässt. Tools zur Überprüfung des Quellcodes zeigen es ebenfalls als Fehler an, wenn der Doctype im Quellcode eines HTML Dokuments fehlt.

Wo wird der !DOCTYPE verwendet?

!DOCTYPE muss immer das erste Element einer jeden Webseite sein. Es steht im Code noch vor dem eigentlichen Mark-up-Code und somit noch vor dem HTML Tag. Darüber hinaus ist darauf zu achten, dass das Element im Quellcode jeder einzelnen Unterseite vorhanden ist. Die alleinige Verwendung auf der Startseite ist beispielsweise nicht ausreichend.

Der Doctype findet weiterhin auch in XML Dokumenten und SVG Grafiken Anwendung.

Welche unterschiedlichen Doctypes gibt es?

Doctypes sind ein leidiges Thema. Vor allem in früheren Versionen von HTML sowie für XHTML 1.01 und 1.1 sind die Doctypes sehr lang und kompliziert. Sie mussten häufig selbst von erfahrenen Webmastern über Copy und Paste in den Quellcode der Webseite eingesetzt werden. In allen klassischen Versionen der Mark-up-Language vor HTML5, mussten die folgenden Doctypes verwendet werden:

HTML 4.01 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Strict bezeichnet einen Code, der sehr genau und strikt ist - vergleichbar mit XHTML. Hier müssen alle Elemente stets geschlossen werden.

HTML 4.01 Transitional:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Transitional hingegen bezeichnet einen etwas toleranteren Quellcode. Diese Variante ist eher vergleichbar mit dem heutigen HTML 5 und nicht so streng mit dem Mark-up, wie es bei Strict der Fall ist.

Da HTML 4 und auch vorherige Versionen auf SGML basieren, müssen bei diesen Versionen die korrekten DTDs im Doctype mit angegeben werden. Diese beschreiben die Regeln und Elemente sowie verschiedene weitere Eigenschaften, die im Code der Webseite verwendet werden und ermöglichen die korrekte Darstellung der Seite im Webbrowser. SGML steht für Standard Generalized Markup Language und bezeichnet einen inzwischen obsoleten Vorgänger von HTML. Seit der Einführung von HTML5 wird Quellcode, unter anderem aufgrund von Kompatibilitätsproblemen, nicht mehr als SGML klassifiziert.

Für XHTML 1.0 und 1.1 sehen die Doctypes folgendermaßen aus:

XHTML 1.0 Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Loose//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-loose.dtd">

XHTML 1.1 Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Auch hier müssen - wie bei HTML 4 die DTDs angegeben werden, da auch XHTML 1 bzw. 1.1 auf SGML basieren. Browser sind daher auf die entsprechenden Anweisungen und Informationen angewiesen, um eine korrekte Darstellung der Webseite zu ermöglichen. Strict und Transitional haben hier dieselbe Bedeutung wie bei HTML 4.0 und HTML 4.1 und bezeichnen die Regeln, die für das Mark-Up im Quellcode gelten.

Eine große Änderung bezüglich des Doctypes hat sich schließlich mit der Einführung von HTML 5 ergeben. Anders als die Vorgänger basiert es nicht mehr auf SGML. Darüber hinaus wurde sich darauf geeignet, die Verwendung des Doctypes weniger kompliziert zu machen. In HTML 5 ist die Verwendung des Doctypes daher wie folgt vorgesehen:

<!DOCTYPE html>

Hier sind keine weiteren Regeln oder Links erforderlich. Das Element kann problemlos wie oben angegeben verwendet werden. Der Browser bekommt dadurch alle Informationen, die für die korrekte Darstellung einer Webseite erforderlich sind. Mit HTML 5 hat man daher eine große Sorge bei der Programmierung von HTML Seiten weniger.

Welche Probleme können beim Fehlen des Doctypes auftauchen?

Wird das Element nicht im Quellcode der Webseite verwendet, ist die korrekte Darstellung der Seite Glückssache. In den meisten Fällen wird sie dennoch korrekt angezeigt. Das gilt besonders dann, wenn ausschließlich allgemeiner Code in HTML 5 geschrieben wird. Vor allem aber, wenn eine Webseite in anderen Versionen der Mark-Up-Language geschrieben wird oder bestimmte Funktionen verwendet, die vorher durch das Element definiert werden müssen, kann es zu Darstellungsfehlern oder unerwarteten Problemen kommen.

Fazit und Zusammenfassung

Der Doctype ist ein fester und wichtiger Bestandteil im Quellcode einer jeden Webseite. Er befindet sich an erster Stelle, noch bevor der eigentliche Code beginnt, und sollten auf keinen Fall vergessen werden. Für HTML 5 wurden die Doctypes deutlich vereinfacht. Für alle anderen Versionen der Mark-up-Language hingegen müssen sie weiterhin in der korrekten Form verwendet werden. Der Doctype enthält wichtige Informationen für den Webbrowser, die dabei helfen, die Homepage korrekt darzustellen. Das Fehlen des Doctypes stellt laut aktuellen Standards einen Fehler dar und wird von entsprechenden Tools zur Prüfung des Codes auch als solcher bemängelt.

Weiterführende Links