HyperText Markup Language
Abkürzung: HTML
HTML ist die Auszeichnungssprache des Web. Sie beschreibt nicht, wie eine Seite aussieht, sondern was ihre Teile bedeuten: Das hier ist eine Überschrift, das ein Absatz, das eine Tabelle, das ein Verweis auf ein anderes Dokument. Aus dieser Trennung von Bedeutung und Darstellung folgt fast alles, was HTML ausmacht.
Entwickelt wurde sie ab 1989 von Tim Berners-Lee am CERN, gemeinsam mit HTTP und dem ersten Browser. Der Namensbestandteil HyperText benennt den Kern: Text, der auf anderen Text verweist.
Wie HTML aufgebaut ist
Ein HTML-Dokument besteht aus Elementen, die durch Tags begrenzt und ineinander verschachtelt sind:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Beispielseite</title>
</head>
<body>
<h1>Überschrift</h1>
<p>Ein Absatz mit einem <a href="/ziel.html">Verweis</a>.</p>
</body>
</html>Daraus ergeben sich die drei Begriffe, die man braucht:
Element ist das Ganze — öffnendes Tag, Inhalt, schließendes Tag. Manche Elemente haben keinen Inhalt und damit kein schließendes Tag, etwa <img> oder <br>.
Attribut steht im öffnenden Tag und verändert das Element: href gibt das Verweisziel, src die Bildquelle, lang die Sprache, class und id dienen als Ansatzpunkte für Gestaltung und Programmierung.
Verschachtelung macht aus dem Dokument einen Baum. Der Browser baut daraus das DOM (Document Object Model), die Struktur, auf die CSS und JavaScript zugreifen.
Der Kopfbereich <head> enthält, was über das Dokument gilt — Titel, Zeichensatz, Verweise auf Stylesheets, Angaben für Suchmaschinen. Im <body> steht, was der Nutzer sieht.
Die Arbeitsteilung mit CSS und JavaScript
Diese Dreiteilung ist das Fundament jeder Webseite und erklärt, warum HTML allein wenig über das Erscheinungsbild sagt:
| Technik | Zuständig für |
|---|---|
| HTML | Struktur und Bedeutung des Inhalts |
| CSS | Darstellung — Farben, Schrift, Anordnung |
| JavaScript | Verhalten — Reaktion auf Eingaben, Nachladen von Inhalten |
Historisch war das nicht so. Frühe Fassungen von HTML kannten Elemente wie <font> und <center>, mit denen die Gestaltung direkt im Dokument stand. Das Ergebnis waren Seiten, deren Aussehen sich nur durch Eingriff in jede einzelne Datei ändern ließ. Die Auslagerung in CSS hat das aufgelöst, und die betreffenden Elemente gelten seit Langem als überholt.
HTML5 und das Ende der Versionszählung
Die Versionsgeschichte verläuft in zwei Phasen. Bis HTML 4.01 aus dem Jahr 1999 gab es nummerierte Fassungen; danach folgte der Umweg über XHTML, das HTML in strenge XML-Regeln zwingen wollte und sich nicht durchsetzte — unter anderem, weil ein einziger Syntaxfehler die ganze Seite unlesbar machte.
HTML5 brachte ab 2008 die Wende und mit ihr die Elemente, die heute den Aufbau einer Seite tragen: <header>, <nav>, <main>, <article>, <section>, <footer>. Sie ersetzen die vorher übliche Konstruktion aus beliebig vielen <div>-Behältern und sagen aus, welche Rolle ein Bereich hat. Dazu kamen <video> und <audio>, die Medienwiedergabe ohne Zusatzprogramme ermöglichten, sowie <canvas> für Grafik.
Seit 2019 ist HTML ein Living Standard: Es gibt keine Versionsnummern mehr, sondern eine fortlaufend gepflegte Spezifikation der WHATWG. Wer heute nach „HTML 6" sucht, sucht etwas, das nicht mehr vorgesehen ist.
Was in der Praxis am häufigsten schiefgeht
Fehlende Zeichensatzangabe. Ohne <meta charset="utf-8"> rät der Browser, und das Ergebnis sind die bekannten Zeichenfolgen anstelle von Umlauten. Die Angabe gehört an den Anfang des Kopfbereichs.
Semantik durch Gestaltung ersetzt. Ein mit CSS groß gesetzter Absatz ist keine Überschrift. Für Suchmaschinen, Vorleseprogramme und die Tastaturnavigation ist er ein Absatz — mit allen Folgen für Bedienbarkeit und Auffindbarkeit.
Fehlende Alternativtexte. Das alt-Attribut bei Bildern ist keine Formalität, sondern die einzige Information für alle, die das Bild nicht sehen, und bei nicht geladenen Bildern auch für alle anderen.
Verschachtelung durcheinander. Browser reparieren fehlerhaftes HTML nach festen Regeln und zeigen trotzdem etwas an. Das Ergebnis weicht aber vom Gedachten ab, und der Fehler fällt erst auf, wenn CSS oder JavaScript auf die erwartete Struktur zugreifen.
Abgrenzung
HTTP ist das Protokoll, mit dem ein HTML-Dokument übertragen wird. Die Namensähnlichkeit führt regelmäßig zur Verwechslung: Das eine ist der Inhalt, das andere der Transportweg.
XML ist eine allgemeine Auszeichnungssprache mit strengerer Syntax, aus der XHTML entstand. HTML ist auf ein Anwendungsgebiet festgelegt und verzeiht mehr.
Markdown ist eine vereinfachte Schreibweise, die vor der Auslieferung in HTML umgesetzt wird.
DOM ist die Baumstruktur, die der Browser aus dem Dokument erzeugt — nicht das Dokument selbst.
Quellen
- WHATWG: HTML Living Standard
- W3C: HTML 4.01 Specification und HTML5 Recommendation
- MDN Web Docs: HTML element reference