So hebst du Text in HTML semantisch richtig hervor
Wer schon einmal in HTML gearbeitet hat, dürfte die Elemente em
und strong
kennen. Das erste Element dient dazu, einzelne oder mehrere Wörter zu betonen. Das strong
-Element betont einzelne oder mehrere Wörter stark. Hier ein kleines Beispiel:
Nehmen Sie <strong>alle</strong> 6 Stunden <em>eine</em> Tablette.
In der Ausgabe im Browser sieht das Beispiel dann folgendermaßen aus: Nehmen Sie alle 6 Stunden eine Tablette.
Die Betonung wird standardmäßig kursiv und die starke Betonung wird fett dargestellt. Bei der Verwendung von em
und strong
sollte man sich jedoch nicht an deren visueller Ausgabe orientieren, sondern immer fragen: „Will ich dieses Wort betonen und falls ja, reicht eine einfache oder soll es eine starke Betonung sein?“
Mit mark
-Element aus HTML5 auf Textinhalte hinweisen
Das wirft die Frage auf, wo hier noch Platz für mark
-Element sein soll, wenn mit em
und strong
bereits semantische Auszeichnungen existieren, die für das Hervorheben von einzelnen Wörtern oder kurzen Abschnitten zuständig sind.
Um das zu erläutern, bauen wir das kleine Beispiel von oben weiter aus:
Achten Sie darauf, dass Sie <mark><em>ausreichend</em> schlafen</mark>.
<mark>Trinken Sie <strong>viel</strong> Wasser</mark> oder ungezuckerte Kräutertees.
Nehmen Sie <mark><strong>alle</strong> 6 Stunden <em>eine</em> Tablette</mark>.
In der Ausgabe im Browser sieht das Beispiel dann so aus:
- Achten Sie darauf, dass Sie ausreichend schlafen.
- Trinken Sie viel Wasser oder ungezuckerte Kräutertees.
- Nehmen Sie alle 6 Stunden eine Tablette.
Das mark
-Element wird standardmäßig in schwarzer Schrift und mit gelber Hintergrundfarbe hinterlegt, was allerdings via CSS angepasst werden kann. Das Ganze erinnert an Abschnitte, die mit einem Textmarker hervorgehoben worden sind – und in etwa für solche Zwecke sollte dieses HTML5-Element auch eingesetzt werden:
- Eigene Hervorhebungen in Texten, zum Beispiel Zitaten, zu kennzeichnen
- Suchbegriffe in Suchergebnissen hervorzuheben
- Auf bestimmte Textinhalte hinzuweisen
Weitere Informationen über dieses Element findest du auf Mozilla Developer Network und auf der deutschsprachigen Website SelfHTML.
Die Sache mit den Screenreadern
Momentan wird das mark
-Element von den meisten Bildschirmlesetechnologien in ihrer Standardkonfiguration nicht angegeben. Über die CSS-Eigenschaft content
kann es aber zusammen mit den Pseudoelementen ::before
und ::after
aktiviert werden.
mark::before,
mark::after {
clip-path: inset(100%);
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
mark::before {
content: " [highlight start] ";
}
mark::after {
content: " [highlight end] ";
}