Römische Zahlen im Web mit HTML und CSS - ein Überblick
Donnerstag, 15 Juli 2010 21:59 MET
Programme sollten römische Zahlen verstehen
Es ist wieder ein typischer Fall des Unterschiedes zwischen gedrucktem und digitalem Dokument: Eine gedruckte Seite interpretiert ausschließlich ein Mensch (mit Ausnahme der OCR-Technik).
Ein digitales Dokument wird hingegen nicht nur von Menschen gelesen und interpretiert, sondern auch von Programmen, die den Text für verschiedene Zwecke auswerten.
Die Konsequenz ist, dass zum Beispiel eine visuell dargestellte Überschrift nicht automatisch auch eine Überschrift für ein verarbeitendes Programm ist, solange sie nicht dementsprechend ausgezeichnet wurde. Im Web also mit Hilfe der Auszeichnungssprache HTML (Hypertext Markup Language).
Die speziellen Zeichen für römische Zahlen sind in der Praxis leider unbrauchbar.
Auf einem gedrucktem Blatt Papier liegt die Interpretation und das Verstehen einer römischen Zahl ausschließlich an der Sehkraft und Bildung der lesenden Person. Im Web sollte die römische Zahl aber auch von Suchmaschinen, Screenreadern, Braille-Ausgabegeräten und anderen Programmen sinnvoll zugeordnet, verstanden oder zumindest angezeigt werden.
Wie sieht es nun in der Praxis aus, wenn wir auf einer Webseite über Heinrich den Achten schreiben? Macht es einen Unterschied, ob ich Heinrich 8., Heinrich VIII oder einfach Heinrich der Achte schreibe?
Wie sieht es mit Jahreszahlen aus? Ordnet eine Suchmaschine MDCCLXXXII auch dem Jahr 1782 zu?
Intelligenter als gedacht
Soweit ich das kurz testete.
In Verbindung mit berühmten Personen agieren Suchmaschinen recht souverän und bringen die vorhin erwähnte Variante in den richtigen Kontext. Bei hohen römischen Zahlen, also einer Jahresangabe zum Beispiel, stellen (die bekannten) Suchmaschinen hingegen selten einen Zusammenhang zur Zahl her.
Screenreader agieren mit guten Algorithmen, die mit Hilfe von Buchstaben geschriebene römische Zahlen oft erkennen und als solche vorlesen. Mit definitiver Ausnahme von einzeln geschriebenen Zeichen, also I, V oder X oder aus vielen Zeichen zusammengesetzter römischer Zahl.
Wem es also wichtig ist, dass sein Text auch im Zusammenhang gefunden wird, der sollte beispielsweise römische Datumsangaben daneben auch in gebräuchlicher Weise hinschreiben. Abgesehen davon, werden viele Menschen, sofern die Website nicht nur von Historikern besucht wird, bei solchen Jahresangaben schon mal aus dem Lesefluss gerissen.
Wer nun – sowohl Mensch, als auch Software – genau was versteht, ist naturgemäß nicht allgemein und sicher zu beantworten.
Optionen im Überblick
Es gibt zwei Möglichkeiten, römische Zahlen zu schreiben:
Aus Buchstaben generieren oder mit den vorgesehenen Unicode-Zeichen.
Eine weitere Option wäre, sie mit CSS darzustellen. Der Unterschied zu den anderen zwei ist, dass eine normal geschriebene Zahl im HTML-Quelltext als Grundlage dient und daraus eine römische, griechische oder sogar japanische dargestellt wird, ohne sie so in den Text geschrieben zu haben.
Nachfolgend die drei Möglichkeiten im Detail:
1. Römische Zahl aus Buchstaben – bewährte Praxis
Diese Schreibweise ist aus pragmatischer Sicht die zu empfehlende.
Wie schon vorhin angeschnitten, im Zusammenhang mit berühmten Personen oder oft erwähnten historischen Ereignissen ordnen Suchmaschinen römische Zahlen durchaus richtig ein.
Programme und alternative Ausgabegeräte interpretieren aus Buchstaben geschriebene römische Zahlen häufig korrekt. Screenreader lesen diese Konstrukte teilweise auch als Zahl vor. Die selbe Aussage trifft vermutlich auch auf viele andere Programme zu, die Texte aus dem Web auswerten.
Zu Bedenken ist jedoch, dass spätestens bei Zahlen ab 40 (XL) – manchmal aber auch schon XXIII (23), die Erkennung im Screenreader nicht mehr zuverlässig ist. Es wird dann eben nur die Buchstabenreihe vorgelesen und es kommt auf die interpretierende Person an, ob die Zahl verstanden wird. Nunja, auch bei vielen sehenden Menschen gerät der Lesefluss bei römischen Zahlen ab 40 ins Stocken.
Eva Papst hat zu diesem Thema aus Sicht einer Braille- und Screenreader-Benutzerin schon vor längerer Zeit einen erhellenden Artikel geschrieben:
Sprachausgaben und römische Zahlen – Was bedeutet CDLXXIX? (Die Antwort ist übrigens 479.)
Die Screenreader haben sich vielleicht verbessert und interpretieren nun auch höhere römische Zahlen als solche. Viele Menschen werden aber ihre Schwierigkeiten haben, solche Konstrukte flüssig zu lesen.
Die Konsequenz: Wo immer möglich, die Zahl zusätzlich in gewohnter Form anzeigen. Das dient Mensch und Maschine gleichermaßen.
2. Unicode und Sonderzeichen – schlechteste Lösung
In der Theorie der logische und adäquate Ansatz. In der Praxis ziemlich unbrauchbar.
Es gibt auch die Möglichkeit, eine römische Zahl aus den reservierten HTML-Entities beziehungsweise mit Unicode zusammen zu setzen.
Das Problem bei dieser Schreibweise:
Mit so mancher Software oder durch bestimmte Konstellationen (Betriebssystem, Browser, Schriftset) werden die Zeichen überhaupt nicht angezeigt. Zum Beispiel im IE (zumindest bis Version 8), wenn nicht eines der äußerst raren Schriftsets installiert ist, das diese Sonderzeichen beinhaltet.
- Test for Unicode support in Web browsers – U+2150–U+218F (8528–8591)
- Der Number Forms Block: 2150–218F
Hinzu kommt, dass – laut Aussage von Eva Papst in einer E-Mail an mich – die Darstellung dieser Zeichen für Braille-Ausgabe gar nicht definiert und technisch vorgesehen ist. Im Gegensatz zu Schmuckzeichen ist es bei Zahlen eine heikle Sache, wenn sie mitunter gar nicht dargestellt werden.
Die Variante wäre daher ernsthaft nur einsetzbar, wenn die Zielgruppe eingegrenzt ist und alle die gleiche Ausstattung und ähnliche Bedürfnisse haben (in einem Intranet denkbar).
3. Mit CSS – gefinkelter Spezialeinsatz
Die Zahl normal geschrieben, die gewünschte Darstellung per CSS.
Eine gefinkelte Methode wäre, die automatische Nummerierung von CSS (Cascading Style Sheets) zur Darstellung von römischen Zahlen zu verwenden. Wie die Nummerierung funktioniert, beschrieb ich schon einmal im Jahr 2007: Nummerieren mit CSS.
Gedacht ist die Funktion eigentlich für Zählung und Nummerierung von Elementen. Der Trick, diese Zahlendarstellung im Fließtext zu verwenden, besteht darin, die Zahl mit einem Element zu umschließen und per Inline-Style mit counter-reset die gerade darzustellende Zahl dort auch einzutragen.
Damit können nun Ziffern und Zahlen neben römischen, auch in griechischen, japanischen oder hebräischen Zeichen (bei letzteren zwei, soweit der Browser mitspielt) angezeigt werden, obwohl sie so nicht im HTML-Quelltext stehen.
Das CSS könnte in der Datei oder im Kopf der Seite so angelegt sein:
.roemisch:before {
content: counter(zahl,upper-roman) ' [';
}
.roemisch:after {
content: ']';
}
Direkt im Text wird dann per counter-reset bestimmt, welche Zahl übersetzt und angezeigt werden soll:
<span class="roemisch" style="counter-reset:zahl 1782;">1782</span>
Diese Technik lässt natürlich verschiedene Varianten der Darstellung zu. Ein paar Beispiele habe ich hier erstellt:
> zur Demoseite
Vor- und Nachteile
Suchmaschinen, Screenreader und andere assistive Programme lesen einfach die Zahl und kümmern sich nicht darum, was via CSS angezeigt wird. Ältere Browser, welche die Angaben :before und :after nicht verstehen, zeigen ebenfalls einfach die normale Zahl an.
Eigentlich der ideale Zustand, bei dem die Darstellung von der inhaltlichen Bedeutung separiert ist.
Weiters brauchen Textersteller nicht überlegen, wie zum Beispiel die Jahreszahl 1782 auf römisch geschrieben wird. Das erledigt der Browser.
Schwieriger wird es in der Umsetzung, wenn diese Art von HTML-unkundigen Personen über einen Texteditor gepflegt werden soll. Außerdem ist das natürlich nur sinnvoll, wenn ständig römische (oder griechische) Ziffern und Zahlen angezeigt werden müssen.
Fazit: Praxis vor Theorie
Vermeiden wir eine religiös typografische Sicht (nur Sonderzeichen) und konzentrieren wir uns mehr auf die pragmatische, wie die beabsichtigte Information von möglichst vielen aufgenommen wird.
Im Gegensatz zu den Unicode-Zeichen werden mit Buchstaben geschriebene römische Zahlen immer angezeigt und viele Programme erkennen so manche Zahl dahinter. Viel mehr haben Menschen Probleme, eine römische Zahl zügig zu interpretieren. Manche kommen mitunter schon mit dem X (10) ins Schleudern.
Anstatt sich also mit Sonderzeichen und theoretischem Typokram herum zu schlagen:
- Römische Zahlen im Fließtext einfach aus Buchstaben zusammen setzen.
- Wenn eine Zahl wichtig ist – und das ist sie meistens, sollte sie zusätzlich in gebräuchlicher Art geschrieben sein. Damit ist Maschine und Mensch in jedem Fall ausreichend informiert.
- Abschnitt 1 von 1
Ich bedanke mich an dieser Stelle bei Eva Papst, die einige von mir erstellte Beispiele mit ihren Screenreadern geduldig testete und kompetente Auskunft gab.
Gesammelte Verweise zum Thema
- Römische Zahlen [Wikipedia]
- Umrechner für römische Zahlen [webbe.de]
- Sprachausgaben und römische Zahlen – Was bedeutet CDLXXIX? [Eva Papst auf WAI-Austria]
- Römische Zahlen in HTML [Trash-Log]
- Römische Zahlen korrekt schreiben? Geht das überhaupt?
- Abbr, acronym and Roman numerals question [Accessify Forum] – Diskussion aus dem Jahr 2005
Externe Verweise dieses Artikels wurden zuletzt am 15. Juli 2010 auf Relevanz geprüft.
- Datum:
- veröffentlicht am 15 Juli 2010, 21:59 MET.
- Artikel:
- Römische Zahlen im Web mit HTML und CSS - ein Überblick [hyperkontext | Weblog]
- Kurz-URL:
- http://hyperkontext.at/s/270
- Thema:
- Webgestaltung
- Stichworte:
- barrierearm, CSS, HTML, Suchmaschinen
Dieser Eintrag kann nicht mehr kommentiert werden.
Mögliche themenverwandte Artikel aus dem Weblog
Blättern (chronologisch)
- « neuerer Artikel
- Nur Screenreader verarbeiten Sprachauszeichnung in HTML
- älterer Artikel »
- Berichtigung meiner Kurzbeschreibung zum Buch »Gute Geschäfte«

Die Kultur des neuen Kapitalismus