HTML <dfn>-Tag
Das HTML <dfn>-Tag markiert die definierende Instanz eines Begriffs. Unterschiede zu <i>/<em>, title, <abbr> und id-Beispiele.
Das HTML-Tag <dfn> markiert die definierende Instanz eines Begriffs — die Stelle im Text, an der dieser Begriff eingeführt und erklärt wird. Browser rendern den Inhalt standardmäßig in Kursivschrift, doch das Tag betrifft die Bedeutung, nicht das Aussehen: Es teilt dem Browser, Suchmaschinen und assistiven Technologien mit: „Hier wird dieses Wort definiert."
Warum <dfn> statt <i> oder <em> verwenden?
Es liegt nahe, <i> oder <em> zu verwenden, um einen Begriff kursiv darzustellen, aber diese Tags enthalten keine Information darüber, was der Text bedeutet:
<i>ist rein stilistisch — kursiver Text ohne besondere Semantik.<em>markiert Betonung (eine Veränderung der gesprochenen Intonation), keine Definition.<dfn>ist semantisch und maschinenlesbar: Es identifiziert explizit den definierten Begriff. Screenreader können es als Definition ankündigen, und Werkzeuge können daraus Glossare erstellen.
Wenn die Kursivschrift also existiert, weil ein Begriff zum ersten Mal definiert wird, verwende <dfn>. Wenn du lediglich Kursivschrift oder Betonung möchtest, verwende <i> oder <em>.
Syntax
Das Tag <dfn> kommt paarweise vor — der Inhalt wird zwischen dem öffnenden <dfn> und dem schließenden </dfn> Tag geschrieben.
Das umgebende <p>-Tag, das Paar <dt>/<dd> oder das <section>-Tag dient als Definitionskontext für den Begriff: Der von <dfn> definierte Begriff sollte innerhalb desselben Blocks erklärt werden.
Einfaches Beispiel des HTML-Tags <dfn>
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p><dfn>HTML</dfn> (HyperText Markup Language) — the standardized markup language for documents on the World Wide Web. Most web pages contain a description of the markup in the HTML language.</p>
</body>
</html>
Wie der definierte Begriff identifiziert wird
Der Browser entscheidet, welches Wort ein <dfn> definiert, anhand dieser Regeln in dieser Reihenfolge:
- Wenn
<dfn>eintitle-Attribut hat, ist der Wert vontitleder definierte Begriff. Der sichtbare Text kann dann eine Abkürzung sein (häufig mit<abbr>). - Wenn
<dfn>genau ein untergeordnetes Element hat — ein<abbr>-Element mit einemtitle-Attribut — und<dfn>keinen weiteren Textinhalt hat, ist dertitledes<abbr>der definierte Begriff. - Andernfalls ist der sichtbare Textinhalt von
<dfn>der definierte Begriff.
Beispiel mit einem title-Attribut
Hier wird der title-Wert als der vollständige definierte Begriff behandelt, während der sichtbare Text kurz bleibt:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p>Mouse over to see the definition.</p>
<dfn title="HyperText Markup Language">HTML</dfn>
</body>
</html>Der title-Tooltip erscheint nur beim Überfahren mit der Maus und ist für Tastatur- und Touch-Nutzer unsichtbar. Platziere wesentliche Informationen niemals ausschließlich im title — ergänze den Begriff durch sichtbaren erklärenden Text oder verwende <abbr>, damit die Ausschreibung semantisch verfügbar ist.
Beispiel mit dem <abbr>-Tag
Die Kombination von <dfn> mit <abbr> ist ein verbreitetes, barrierefreies Muster: <dfn> markiert die definierende Instanz, und <abbr> liefert die vollständige Ausschreibung über sein title.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p>Mouse over to see the definition.</p>
<dfn><abbr title="Cascading Style Sheets">CSS</abbr></dfn>
</body>
</html>Zurück zur Definition verlinken mit einer id
Wenn du einem <dfn> eine id hinzufügst, kannst du von überall auf der Seite mit einem <a>-Element über ein Fragment (#) darauf verlinken. So können Leser direkt zur Definition eines Begriffs springen:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p>
<dfn id="ajax-def">AJAX</dfn> is a technique for updating parts of a
web page without reloading the whole page.
</p>
<p>Later on, we mention <a href="#ajax-def">AJAX</a> again — click the
link to jump back to its definition.</p>
</body>
</html>Attribute
| Attribut | Wert | Beschreibung |
|---|---|---|
| title | text | Gibt die vollständige Definition oder Ausschreibung des Begriffs an. Wenn vorhanden, überschreibt es den Standardbegriff und wird beim Hover als Tooltip angezeigt. |
Das Tag <dfn> unterstützt auch die globalen Attribute und die Ereignis-Attribute.
So gestaltest du ein HTML-<dfn>-Tag
dfn {
color: #0056b3;
font-weight: bold;
}