Der Begriff „HTML-Befehl" ist verbreitet und irreführend zugleich. Ein Befehl weist etwas an, etwas zu tun. HTML weist nichts an – es beschreibt, was ein Textabschnitt ist.

Der Unterschied in einem Beispiel

<h1>Wichtige Nachricht</h1>
<p>Ein Absatz mit <strong>wichtigem</strong> Text.</p>

Hier steht nirgends „schreibe groß" oder „mache fett". Es steht: Dies ist die Hauptüberschrift, dies ist ein Absatz, dieser Teil ist wichtig. Wie das aussieht, entscheidet das Stylesheet – im Zweifel das voreingestellte des Browsers.

Die Folge dieser Trennung: HTML kann nicht rechnen, nichts speichern, nicht auf Klicks reagieren. Wer das sucht, braucht JavaScript.

Die Elemente, die den Alltag ausmachen

Gliederung: h1 bis h6 für Überschriften, p für Absätze, ul, ol und li für Listen, table für Tabellen.

Bereiche: header, nav, main, article, section, aside, footer.

Im Text: a für Verweise, strong für Wichtiges, em für Betonung, code für Quelltext, abbr für Abkürzungen.

Medien: img, picture, video, audio, svg.

Formulare: form, input, textarea, select, button, label.

Das sind rund dreißig Elemente. Mit ihnen lässt sich der überwiegende Teil aller Webseiten aufbauen – die übrigen der Spezifikation sind Spezialfälle.

Ein vollständiges Beispiel

<article>
  <h2>Kurze Anleitung</h2>
  <p>Diese Anleitung braucht drei Schritte:</p>
  <ol>
    <li>Datei anlegen</li>
    <li>Grundgerüst einfügen</li>
    <li>Im Browser öffnen</li>
  </ol>
  <p>Mehr dazu im <a href="/glossar/">Glossar</a>.</p>
</article>

Woran man die falsche Erwartung erkennt

Immer dann, wenn eine Frage mit „Wie mache ich in HTML, dass …" beginnt und eine Bedingung folgt, ist die Antwort meistens: gar nicht. Ein Menü, das sich beim Klick öffnet, braucht JavaScript – oder ein Element, das das Verhalten mitbringt, wie details und summary:

<details>
  <summary>Mehr anzeigen</summary>
  <p>Dieser Text erscheint erst nach dem Klick.</p>
</details>

Das ist kein Widerspruch zur Regel: Das Verhalten steckt nicht in einem Befehl, sondern in der Bedeutung des Elements, die der Browser kennt.