Barrierefreies Webdesign ein zugängliches und nutzbares Internet gestalten

Konformer Code mit doctype veröffentlicht in 2017

Vor HTML5 bedingte eine standardkonforme Webseite mit HTML die Angabe einer Dokumententypdefinition (DTD) mit einer Dokumententyp-Deklaration. Mit einer Dokumententyp-Deklaration konnte sichergestellt werden, dass eine Webseite von Browsern und anderer Software gleichartig verarbeitet und angezeigt wird. Fehlte eine Dokumententyp-Deklaration, so konnte ein Browser Inhalte anders als erwartet verarbeiten.

HTML5 arbeitet nicht mehr mit DTDs. Dennoch benötigt jedes HTML-Dokument als erste Zeile im Code die folgende Zeile:

<!DOCTYPE html>

Vor allem wenn Accessible Rich Internet Applications (ARIA) oder die neueren Formular- und Gliederungselemente in HTML eingesetzt werden, erlaubt die Dokumententyp-Deklaration nach HTML5 die Validierung. Die Referenzierung von älteren DTDs in HTML-Dokumenten, die ARIA- oder neuere HTML-Attribute bzw. -Elemente enthalten, liefert bei der Validierung unweigerlich Fehler.

Hinweis: Die Berücksichtigung oder Nicht-Berücksichtigung einer Dokumententyp-Deklaration hat keine bekannten Auswirkungen auf die Barrierefreiheit. Sie erlaubt die Validierung des Codes.

Zulässige obsolete Dokumententyp-Deklarationen

Die Dokumententyp-Deklaration ist nur aus historischen Gründen erforderlich. HTML gibt es in verschiedenen Ausprägungen und wurde kontinuierlich weiterentwickelt. Auch wenn ältere HTML-Spezifikationen obsolet sind, sind nach wie vor HTML 4, HTML 4.01, XHTML 1.0 und das modulare XHTML 1.1 zulässig. Diese älteren DTDs werden nicht aktualisiert, denn sie sind normativ; Revisionen der Spezifikationen können nicht erwartet werden.

Teilweise werden ältere Inhalte (die für ältere Browser gestaltet wurden) in aktuellen Browsern nicht mehr richtig angezeigt und teilweise springen Browser in den sogenannten "quirks mode" zurück und stellen damit Inhalte nicht in standardkonformer Weise dar, wenn die Dokumententyp-Deklaration fehlt. Sollte eine ältere DTD referenziert werden müssen, um Extern, englischsprachig: ältere Inhalte in aktuellen Browsern besser darstellen zu können, so muss die DTD um einen "public identifier" und ggf. einen "system identifier" ergänzt werden. Die Dokumententyp-Deklaration für HTML 4.x und XHTML 1.x referenzieren jeweils mit dem "system identifier" eine DTD, die die gewählte "Rechtschreibung" für HTML enthält und dem Browser mitteilt, wie er das HTML aufzubereiten hat.

Für XHTML sind die folgenden beiden Dokumententyp-Deklarationen zulässig:

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

für XHTML 1.0 und

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

für XHTML 1.1. Darüber hinaus gibt es eine nicht normative DTD für Extern, englischsprachig: XHTML 1.1 mit ARIA:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">

Für HTML 4.x existieren auch DTDs, aber es kann auf sie verzichtet werden. Entsprechend sehen die zulässigen Dokumententyp-Deklarationen wie folgt aus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

für HTML 4.0 und

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

für HTML 4.01.

Für HTML 4.01 und XHTML 1.0 gibt es weitere DTDs, die aber nach HTML5 nicht mehr zulässig sind. Diese waren jeweils eine DTD mit einer weniger strengen Auslegung der HTML-Regeln sowie eine DTD für Framesets, die Extern, englischsprachig: nach HTML5 nicht mehr konform sind.

Auch ist eine ebenfalls nicht normative Extern, englischsprachig: DTD für den Einsatz von ARIA in HTML 4.01 abgeleitet worden. Sie basiert auf die weniger strenge ("transitional") DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+ARIA 1.0//EN" "http://www.w3.org/WAI/ARIA/schemata/html4-aria-1.dtd">

Alternative HTML5-Dokumententyp-Deklaration

Die eingangs aufgeführte Dokumententyp-Deklaration für HTML5 kann in Ausnahmefällen wie folgt ausgeschrieben werden:

<!DOCTYPE html SYSTEM "about:legacy-compat">

Damit können aktuelle Browser Inhalte ebenfalls nach HTML5 aufbereiten. Diese Schreibweise ist generell zu vermeiden, kann aber dann notwendig sein, wenn ein Redaktionssystem oder eine andere Software, die Webseiten produziert, die Angabe eines "system identifier" oder "public identifier" in der Dokumententyp-Deklaration erfordert.