Zeichen oder Markup?

Intended audience: HTML-Entwickler (die Editoren oder Scripte verwenden), Script-Entwickler (PHP, JSP etc.), CSS-Entwickler, Webprojekt-Manager und alle, die sich fragen, ob sie Markup oder spezielle Unicode-Zeichen in ihrem Code verwenden sollten

Question

Es gibt eine Reihe von Unicode-Steuerzeichen; einige von ihnen haben dieselbe Funktion wie Markup. Welche sollte man verwenden, welche vermeiden?

Answer

Die Antwort hängt davon ab, um welche Zeichen es geht. Für Details siehe W3C Note und Unicode Technical Report Unicode in XML & Other Markup Languages. Dieser Artikel fasst einige dieser Informationen zusammen.

Einige Unicode-Zeichen sind zur Verwendung mit Markup nicht geeignet

Die folgende Tabelle führt Unicode-Zeichen an, die gemäß Unicode in XML & Other Markup Languages nicht mit Markup verwendet werden sollen. Stattdessen sollten Sie entsprechendes Markup verwenden.

Namen/Beschreibung Kommentar
Zeilentrenner und Absatztrenner Verwenden Sie <br>, <p> oder äquivalentes Markup
BIDI-Einbettungs-Steuerzeichen (LRE, RLE, LRO, RLO, PDF) Nicht verwenden, wenn es entsprechendes Markup dafür gibt
Aktiviere/verhindere Spiegelung von Zeichen (z.B. Klammern) In Unicode missbilligt
Aktiviere/verhindere Verbinden von arabischen Buchstaben In Unicode missbilligt
Aktiviere/verhindere nationale Ziffernformen In Unicode missbilligt
Interlineare Anmerkungszeichen Verwenden Sie Ruby-Markup
BOM/ZWNBSP Verwenden Sie U+FEFF ausschließlich als Byte Order Mark. Verwenden Sie U+2060 Word Joiner anstelle von U+FEFF als breitenloses nicht-umbrechendes Leerzeichen (ZWNBSP)
Objektersetzungszeichen (object replacement character) Verwenden Sie Markup, in HTML z.B. <object> oder HTML <img>
Musik-Notation Verwenden Sie eine geeignete Auszeichnungssprache
Unicode-Zeichen für Sprachkennzeichnungen Verwenden Sie lang und/oder xml:lang

Insbesondere die Einbettungs-Steuerzeichen für bidirektionalen Text führen des Öfteren zu Verwirrung. Es gibt einige Stellen, wo diese verwendet werden müssen, um bidirektionalen Text in der richtigen Reihenfolge anzuzeigen. Das betrifft Sprachen, die von rechts nach links geschriebene Schriften wie die arabische, hebräische, Thaana usw. verwenden. Dies sind Stellen, wo in einem Element kein Markup erlaubt ist, wie z.B. im title-Element. Wenn allerdings Markup eingesetzt werden kann, sollten Sie es tun. Für weitere Informationen siehe Unicode-Steuerzeichen vs. Markup für bidirektionalen Text. Für Hinweise, wie Einbettungs-Steuerzeichen zu verwenden sind, wenn kein Markup verwendet werden kann, siehe Verwendung von Unicode-Steuerzeichen für bidirektionalen Text.

Andere Unicode-Zeichen sind OK

Dies ist keine vollständige Liste. Vielmehr sollen beispielhaft einige Unicode-Zeichen erwähnt werden, deren Verwendung in Markup angebracht ist, um zum Text gehörige Informationen anzugeben.

Namen/Beschreibung Kommentar
Verschiedene geschütztes Leerzeichen (no-break space), bedingter Trennstrich (soft hyphen), kombinierender Graphemverbinder (combining grapheme joiner), geschützter Bindestrich (non breaking hyphen), Wortverbinder (word joiner) u.a.
breitenloser Verbinder (zero-width joiner ZWJ), Bindehemmer (Ligaturtrenner, breitenloser Nichtverbinder, zero width non-joiner ZWNJ) z.B. benötigt für Persisch
implizite Richtungs-Steuerzeichen (LRM und RLM)
Formatierzeichen verwendet in arabischer und syrischer Schrift
Variantenselektoren z.B. benötigt für mongolische Schrift
Ideographische Beschreibungszeichen zur Erzeugung ideographischer Zeichen

Manche „Kompatibilitätszeichen“ sind geeignet, andere nicht

Auszug aus Unicode in XML & Other Markup Languages:

Der Unicode-Standard sieht für eine Reihe von Zeichen Kompatibilitätsbeziehungen vor, durch welche eine Zuordnung zu einem anderen Zeichen angegeben wird. Die genaue Art der Beziehung variiert jedoch. In einigen Fällen ist die Beziehung „basiert auf“, in anderen Fällen deutet sie eine Eigenschaft an. Wenn einfacher Text mit Markup versehen wird, kann es sinnvoll sein, einige dieser Zeichen durch ihre kompatiblen Äquivalente und passendes Markup zu ersetzen. Es ist wichtig zu verstehen, was das Wesen der Unterschiede zwischen den Zeichen und ihrer kompatiblen Äquivalente ist und in welchem Kontext diese Unterschiede bedeutsam sind. Es ist nicht ratsam, Kompatibilitätsbeziehungen willkürlich anzuwenden.

Die folgende Tabelle gibt einige Beispiele an, ohne Anspruch auf Vollständigkeit zu erheben.

Namen/Beschreibung Beispiele Fazit
Eingekreiste Buchstaben und Zahlen als Aufzählungszeichen ① ② ③ Ⓐ Ⓑ Ⓒ ㊂ ㊃ ㊄ ㊓ ㊔ ㊕ ㋝ ㋞ ㋟ OK
Zahlen in Klammern oder mit Punkt als Aufzählungszeichen ⑴ ⑵ ⑶ Verwenden Sie CSS zum Stylen der Aufzählungszeichen
Arabische Präsentationsformen ﻉ ﻊ ﻋ ﻌ Normalisieren
Halbbreite und vollbreite Formen ヤ ユ ヨ ラ a b c d OK
Hoch- und tiefgestellte Zeichen ¹ ² ³ ₁ ₂ ₃ Verwenden Sie Markup <sup> bzw. <sub>