Letzten Sommer habe ich die gesamte HTML5-Spezifikation und alle vorherigen HTML-Spezifikationen (auch die verlassenen) sowie alle CSS-Spezifikationen, die ich finden konnte, und viele XML-Spezifikationen gelesen. Da ich semantisch reiche Hypertext-Dokumente liebe, möchte ich Ihnen die Idee hinter der relevanten HTML-Semantik in HTML5 geben.
Vor HTML5
Vor HTML5 i
und b
waren in der Tat aus der Mode. Der Grund war, dass sie im Wesentlichen wie em
bzw. strong
arbeiteten, jedoch mit Fokus auf Präsentation und nicht auf Semantik (was schlecht ist).
i
Bedeutete in der Tat, dass der Text kursiv gedruckt werden sollte (etwas darüber, wie der Text auf dem Bildschirm gerendert werden sollte). Andererseits em
bedeutete dies, dass der Text hervorgehoben werden sollte (er sagte etwas über die Semantik des Textes aus).
Hier gibt es einen wichtigen theoretischen Unterschied. Wenn Sie verwenden em
, weiß das Benutzerprogramm (= Browser), dass der Text hervorgehoben werden muss, damit er kursiv dargestellt werden kann, wenn das Dokument auf dem Bildschirm angezeigt wird (oder Großbuchstaben, wenn keine Formatierung möglich ist, oder vielleicht sogar fett der Benutzer bevorzugt das), er kann es anders aussprechen, wenn das Dokument mit dem Benutzer gesprochen wird usw.
Beachten Sie, dass es bei der Betonung wirklich um Semantik geht. Zum Beispiel die Phrasen
- Die Katze gehört mir. (= nicht der Hund!)
- Die Katze gehört mir . (= nicht deins!)
habe nicht die gleiche Bedeutung.
Der gleiche Unterschied gilt für b
(Fettdruck) und strong
(starke Betonung).
Ein allgemeines Prinzip des digitalen Schreibens im Allgemeinen und des Hypertext-Erstellens im Besonderen ist, dass Sie Inhalt und Stil trennen sollten. Bei der Hypertext-Erstellung bedeutet dies, dass sich der Inhalt in der HTML-Datei und der Stil in einer CSS-Datei (oder einer Reihe von CSS-Dateien) befinden sollte. Ein anderes, aber verwandtes Prinzip ist, dass das Dokument reich an Semantik sein sollte (wie das Markieren von Kopf- und Fußzeilen, Listen, Hervorhebungen, Adressen, Navigationsbereichen usw.). Dies hat eine Reihe von Vorteilen:
- Es ist für Computerprogramme viel einfacher, das Dokument zu interpretieren. Diese Programme umfassen Browser, Text-to-Speech-Anwendungen, Suchmaschinen und digitale Assistenten. (Mit dem Browser können Sie beispielsweise eine Adresse in Ihrem Adressbuch speichern, wenn sie nur gefunden und interpretiert werden kann. Außerdem wissen Sie möglicherweise, dass Microsoft Word ein Inhaltsverzeichnis für Sie erstellen und automatisch aktualisieren kann, wenn Sie Ihre Überschriften korrekt markieren .)
- Es ist viel einfacher, den Stil später zu ändern. (Wenn Sie die Farbe aller Überschriften der dritten Ebene in Ihrem 860-seitigen Dokument ändern möchten, können Sie eine einzelne Zeile im Stylesheet ändern. Wenn Sie Inhalt und Präsentation gemischt hätten, müssten Sie das gesamte Dokument manuell durchgehen Und Sie würden wahrscheinlich ein oder zwei Überschriften verpassen, wodurch das Dokument unprofessionell aussieht.)
- Sie können je nach den Umständen unterschiedliche Stylesheets verwenden (wird das Dokument auf dem Bildschirm angezeigt oder auf Papier gedruckt?). Sie können sogar den Endbenutzer den Stil selbst auswählen lassen. (Meine Website bietet eine Reihe alternativer Stylesheets. In IE und FF können Sie diese über das Menü Ansicht ändern.)
Also, kurz gesagt, i
und b
waren veraltet, weil es sich um HTML-Tags handelte , die sich um Präsentationen handelten , was völlig falsch ist.
In HTML5
In HTML5 i
und b
sind nicht mehr veraltet. Stattdessen erhalten sie eine sematische Bedeutung . Es geht also jetzt eigentlich um Semantik und nicht um Präsentation.
Nach wie vor em
kennzeichnen Sie die Betonung mit: "Die Katze gehört mir." Sie verwenden sie jedoch i
für fast alle anderen Fälle, in denen Sie Kursivschrift in einem gedruckten Werk verwenden würden. Zum Beispiel:
- Sie verwenden
i
, um taxonomische Bezeichnungen zu markieren: "Ich mag R. norvegicus ."
- Sie
i
kennzeichnen eine Phrase in einer anderen Sprache als den umgebenden Text: À la carte
- Sie verwenden
i
, um ein Wort zu markieren, wenn Sie über das Wort selbst sprechen: " Getränk ist sowohl ein Substantiv als auch ein Verb"
Es ist auch eine gute Idee, das class
Attribut zu verwenden, um die genaue Verwendung anzugeben (auch Google "Mikroformat" und "Mikrodaten"). Und natürlich sollten Sie im zweiten Fall das lang
Attribut wirklich verwenden , um die richtige Sprache anzugeben. (Andernfalls könnte beispielsweise ein Text-to-Speech-Agent den Text falsch aussprechen.)
Vor ungefähr einem Jahr stand in der HTML5-Spezifikation auch, dass cite
Bücher, Filme, Opern, Gemälde usw. mit Namen versehen werden sollten:
- Was haltet ihr von Nymphomanin ?
Schließlich wird seit langem dfn
verwendet, um die definierende Instanz einer Phrase in einem Text zu markieren (wie eine mathematische Definition oder die Definition eines Begriffs):
- Eine Gruppe ist eine Menge X, die mit einer einzelnen Binäroperation * ausgestattet ist, so dass ...
Die Kursivschrift in Ihrem gedruckten Buch, die viele verschiedene Bedeutungen haben kann, wird also durch vier verschiedene HTML5-Tags dargestellt. Das ist wirklich großartig, weil die Semantik gut ist, wie ich Sie zuvor zu überzeugen versucht habe. (Zum Beispiel können Sie Ihren Browser bitten, eine Liste aller Definitionen im Text zu erstellen, damit Sie sicherstellen können, dass Sie alle vor der Prüfung kennen.)
In Bezug auf strong
und b
heißt es in der HTML5-Spezifikation, dass strong
ein wichtiger Teil des Textes markiert werden sollte, z. B. eine Warnung oder ein sehr wichtiges Wort in einem Satz. Auf der anderen Seite b
sollte es verwendet werden, um Dinge zu markieren, die im Text leicht zu finden sein müssen, wie z. B. Stichwörter. Ich benutze auch b
als Überschriften in Listenelementen (LIs).
<b>
und bin<i>
nicht veraltet.