Die Vielfalt von Listen in HTML
Montag, 29 Oktober 2007 23:13 MET
Dieser Artikel ist ein Beitrag zur
Accessibility Blog-Parade 2007

Ich knüpfe mit diesem Text an meinen vorigen Artikel zur Blog-Parade an – von der Einsicht der Struktur zur Vielfalt der Ansichten (2).
Listen, Listen und nochmals Listen
Kreatives Chaos kann sehr sinnvoll sein, wenn Menschen durch eigene Handlungen und Gedanken Prozesse initiieren und dadurch selbst Teil des Chaos werden.
Liste leitet sich – über den lateinischen Umweg Lista
– aus dem germanischen Leiste
ab. Und dort hatte dies bereits die Bedeutung von Streifen
, Verzeichnis
.
Nichtbeteiligte können aber ein Chaos nicht verstehen. Daher müssen eventuelle Erkenntnisse und Informationen aus einem Chaosprozess in geordneter und nachvollziehbarer Form nach außen weitergegeben werden. Deswegen gibt es Fahrpläne, Einkaufslisten, Terminkalender, Agendas, Ergebnislisten, Checklisten, und so weiter.
Listen sind zur sehenden Übersicht sinnvoll. Noch viel mehr aber in ihrer Bedeutung (Semantik). In einem Telefongespräch unterstreichen wir oftmals bedeutungsvolle oder logische Aussagen auch verbal in Listenform.
Beispiel:
Hör mal zu. Wir sollten
- …
- dann könnten wir vielleicht … und
- ziemlich sicher …
- …
Diese Auszeichnung unterstreicht die Bedeutung, dass es sich hier um besondere Schritte oder Abfolgen handelt. Ein Programm das Texte analysieren soll kann also nur Textauszeichnungen erkennen, um daraus Erkenntnisse zu gewinnen.
So stellt also ein visuelles Ausgaberät obiges Beispiel in einer Listenform dar. Wenn Sie gerade ein Sprachausgabegerät verwenden, wird selbiges Beispiel wohl in einer ähnlichen Art vorgelesen worden sein, wie ich es Ihnen mündlich erklärt hätte. Andere Programme, soweit sie darauf optimiert sind, werden die obige Textstelle auch in einer besonderen Art erfassen.
Hätte ich das Beispiel oben nicht extra in einer Liste aufgezählt,
- würde ein Sprachausgabegerät die Textstelle in einer Leier herunterlesen. Nur der interpretierende Mensch dahinter kann die Textstelle so verstehen, wie sie gemeint ist.
- könnte ein Programm keine besondere Bedeutung ableiten und später nie in einen eventuellen Zusammenhang mit anderen Texten bringen.
- ist dieser Text für eine Suchmaschine nur eine Anreihung von Zeichen. Je nach Auswertungsart und Qualität der Suchmaschine, kann eine ausgezeichnete Liste aber sehr wohl Bedeutung haben.
Welche Art der folgenden Navigationsleiste ist wohl die bedeutungsvollere?
Beispiel 1:
Menüpunkt A | Menüpunkt B | Menüpunkt C | Menüpunkt D | Menüpunkt E |
Beispiel 2:
- Menüpunkt A
- Menüpunkt B
- Menüpunkt C
- Menüpunkt D
- Menüpunkt E
Sie sehen keinen Unterschied? Gut so.
Die Gestaltung von Listen mittels CSS muss mittlerweile das grundlegende Handwerk jedes ernsthaften Webgestalters sein.
-
Beispiel 2 erfassen alle Programme, inklusive Ihres visuellen Browsers, als Liste. Ich habe lediglich die visuelle Ausgabe mit CSS (Cascading Style Sheets) zu einer horizontalen Leiste angepasst und die Trennstriche sind nur optisch sichtbar.
Jeder Menüpunkt ist ein eigener Listenpunkt. Somit können die einzelnen Punkte mit Hilfe assistiver Programme auch an- beziehungsweise übersprungen werden. Damit geben wir der Navigationsleiste aus Beispiel 2 eine Bedeutung als solche. Wenn diese noch mit einer Überschrift gekennzeichnet ist, umso besser.
-
Beispiel 1 würde von einem Screen-Reader etwa so vorgelesen werden:
Menüpunkt A senkrechter Trennstrich Menüpunkt B senkrechter Trennstrich
und so weiter. In dieser Art wird dies auch von jeglichen anderen Programmen interpretiert.
Die Antwort, welches der beiden Beispiele logischer und zugänglicher ist, ergibt sich wohl von selbst.
Traurigerweise ist aber Beispiel 1 mehrheitlich immer noch gängige Praxis! Und oft noch schlimmer, nämlich in – semantisch bedeutungslose – Tabellenzellen eingepfercht.
Wie wir also erkennen können, sind Listen nicht nur innerhalb von Texten vorteilhaft, sondern dienen auch dem gesamten HTML-Dokument zur Einteilung. Und derer gibt es viele.
HTML kennt drei Arten von Listen
- Definitionslisten
- ungeordnete und
- geordnete Listen
Definitionslisten
Die Definitionsliste ist die eher selten angewandte Form. Es gibt jeweils einen Definition Term
(<dt>) und eine oder mehrere Definition Description
(<dd>).
<dl>
<dt>[Definition Term1]</dt>
<dd>[Definition Description]</dd>
<dd>[Definition Description]</dd>
<dt>[Definition Term2]</dt>
<dd>[Definition Description]</dd>
</dl>
In der HTML-Rohfassung wird solch eine Liste meist so aussehen:
- CSS
- Cascading Style Sheets
- Closed Source Software
- Central Security Service (Abteilung des Geheimdienstes der Vereinigten Staaten)
- HTML
- Hypertext Markup Language
Hier sehen wir den klassischen Anwendungsfall einer Definitionsliste. Wie diese sonst noch eingesetzt werden können, ist Interpretationssache und wird seit Jahren diskutiert. Manche verwenden sie sogar für Fotogalerien und den Bildbeschreibungen hierzu.
Ich verwende eine Definitionsliste zum Beispiel in diesem Blog im Informationskasten am Ende jedes Artikels. Für mich ist das der typische Wer, Wie, Wo
Fall, der sich regelmäßig wiederholt. Ohne CSS sieht der visuelle Infokasten also so aus:
- Datum:
- veröffentlicht am …
- Artikel:
- Titel des Artikels
- Thema:
- Thema1, Thema2
- Stichworte:
- Stichwort1, Stichwort2, Stichwort3
- Kommentarfeed:
- RSS 2.0
- Sonstige Infos:
- Kommentare
Für Programme ist dies auf jeden Fall sinnvoller zu erfassen und wäre in bestimmten Auswertungssituationen sogar vergleichbar mit anderen Artikeln. Benutzer eines assistiven Ausgabegerätes können schnell von einer Definition zur nächsten springen und sich nur die Beschreibungen auswerten lassen, die sie interessieren.
Der Einsatz der Definitionsliste in diesem speziellen Fall, lässt sich natürlich diskutieren.
Geordnete und ungeordnete Listen
Geordnete Listen sollten vor allem dann eingesetzt werden, wenn es sich um eine tatsächliche Reihenfolge handelt. Mit CSS lassen sich auch römische Zahlen oder alphabetische Punkte in Groß- oder Kleinschreibung einsetzen. Variationsmöglichkeiten existieren hier genug, allerdings werden nicht alle von jedem Browser unterstützt.
Die ungeordnete Liste ist die wohl am häufigsten anzuwendende Art. Wenn wir in einem Text eine Aufzählung von Punkten haben, dann sollten wir dieses dafür geschaffene HTML-Element auch einsetzen. Es dient nicht nur der optischen Auflockerung, sondern ist eine willkommene Gelegenheit, Textpassagen logische Bedeutung zu geben.
Auch eine Tagcloud ist eine Liste
Tagcloud – zu Deutsch (Stich), (Schlag)Wortwolke – ist erst einmal eine normale alphabetische Liste von Schlagwörtern (zu Neudeutsch Tags
) mit jeweils einem Link unterlegt, der zur Auflistung aller unter diesem Wort abgelegten Blog-Einträge führt.
Die Anzahl der Artikel die sich hinter dem Schlagwort verbirgt, wird mit der Schriftgröße, welche prozentual aus der Spanne zwischen wenigsten und meisten Einträgen errechnet wird, angezeigt.
Durch die Anreihung von vielen solcher Schlag-, Stichwörter in verschiedenen Größen, ergibt sich für einen sehenden Benutzer auf einen Blick ein Bild, unter welchen Wörtern sehr viele Einträge abgelegt wurden und hinter welchen Wörtern sich nur wenige verbergen. Über Sinn und Unsinn solcher Auflistungen lässt sich streiten.
Wenn Tagclouds eine Auflistung sind, warum werden sie nicht in einer Liste geführt?
In sehr vielen Anwendungsfällen besteht diese Liste (ja, es ist eine alphabetische Liste) allerdings schlicht aus der Aneinanderreihung der Wörter; oft sogar ohne Beistrich oder sonstigen semantischen Trennungsmethoden.
Wir können uns vorstellen, dass sich für Programme, deren Zweck nicht die visuelle Aufbereitung ist, die semantische Aussagekraft solcher Gebilde nicht erschließt.
Will ich also einem nicht sehenden Benutzer oder einem Programm den Zweck dieser Auflistung verdeutlichen, müsste diese Liste etwa so aussehen:
- Auto – 5 Einträge
- Baum – 2 Einträge
- Brücke – 10 Einträge
- Fluss – 6 Einträge
- Straße – 12 Einträge
Sieht doch schon einmal logisch aus, oder? Ich kann also eine alphabetische Liste erkennen, welche nach jedem einzelnen Punkt die Anzahl der Artikel anzeigt.
Damit die Liste mehr Bedeutung bekommt, können wir dem Script eine Regel verpassen, die alle Listenpunkte welche mehr als 50% der Einträge aus der Spanne zwischen wenigsten und meisten hat, mit einem Element <strong> versehen.
Die vorige Liste würde dann so aussehen:
- Auto – 5 Einträge
- Baum – 2 Einträge
- Brücke – 10 Einträge
- Fluss – 6 Einträge
- Straße – 12 Einträge
Somit kann jedes vernünftige Programm – durch das Element <strong> – erkennen, dass Brücke
und Fluss
innerhalb dieser Liste eine höhere Gewichtung einnehmen.
Das Beispiel einer solchen Liste mit CSS als Wortwolke
aufbereitet, sehen Sie unter Suche.
Die Liste wird zur Tagcloud
Da wir nun eine Liste haben, die für viele digitale Verarbeitungsschritte Bedeutung hat, steht es uns frei, aus dieser Auflistung mit den Werkzeugen von CSS eine visuelle Wortwolke zu generieren. Ein CSS-Tutorial ist aber nicht der Zweck dieses Artikels.
Listen mit Überschrift zur Orientierung
Wie schon vorhin angedeutet, eignen sich aber – vor allem ungeordnete – Listen hervorragend für Navigationsleisten. Im Zusammenspiel mit Überschriften, zur Einteilung von Navigations- und Orientierungsbereichen einer Webseite.
Ein HTML-Dokument sollte zur Orientierung auch Überschriften zu wichtigen Bereichen aufweisen (Navigation, weitere Links, Blogroll, et cetera). In diesen Bereichen befinden sich dann meist Listen.
Leider sieht HTML kein Überschriften-Element innerhalb einer Liste – vergleichbar mit dem Element <caption> in einer Tabelle – vor. Im Arbeitsentwurf zu HTML5 beziehungsweise XHTML2 ist ein solches Titel-Element für Listen vorgesehen.
Visueller Kontext ist noch lange kein semantischer
Durch Grafik und Gestaltung kann ich einen visuellen Kontext herstellen, der für sehende Menschen Bereiche voneinander abgrenzt. Digitale Verarbeitungsmechanismen können damit meist aber nichts anfangen.
Im nichtvisuellen Kontext müssen Navigationsbereiche und Linklisten, die irgendwo im Raum eines HTML-Dokumentes angesiedelt sind, mit Hilfe eines Überschriften-Elementes ihren Zweck kommunizieren. Für die visuelle Aufbereitung kann solch eine Überschrift via Cascading Style Sheets (CSS) aus dem Sichtbereich gegebenenfalls entfernt werden.
Struktur der Überschriften muss zusammenpassen
Die Geister scheiden sich allerdings in der Art der Struktur.
Längerer Text, der bereits eine Überschriftenordnung beinhaltet, sollte demnach in die bereits vorhande Struktur von Überschriften einer Webseite logisch integriert werden.
Beginnt also der eigentliche Inhalt eines HTML-Dokuments mit der Überschrift zweiter Ordnung, kann ich den Text nicht unmittelbar hinter eine Navigationsleiste stellen, der eine Überschrift erster Ordnung voransteht. Das würde dem Inhalt die Bedeutung geben, dass er Teil der Navigationsliste wäre. Beginnt der Inhalt mit Überschrift erster Ordnung, wäre die Reihenfolge korrekt.
Häufige Vorgangsweise
Eine oft proklamierte Methode ist die Sichtweise, dass eine Webseite eben ein Dokument ist und mit einer H1-Überschrift beginnt. Meist also der Name oder das Logo, eingebettet in ein H1-Element.
Alle dahinter folgenden Abschnitte können also nur mit einer Überschrift zweiter Ebene beginnen. Es gibt also auf einer Webseite genau eine H1-Überschrift, alles andere reiht sich darunter.
Beispiel:
- H1 – Logo oder Name
darunter folgt zum Beispiel gleich die Hauptnavigation, ohne eigene Überschrift- H2 – Beginn des Inhalts (Beitrag)
- H3 – weitere Subüberschrift des Textes
- H3 – und so weiter
- H2 – Bereichsnavigation (darunter Liste)
- H2 – Weitere Navigationsliste
- H3 – Untergruppen
- H3 – Untergruppe
- H2 – Beginn des Inhalts (Beitrag)
Diese Erstellung hat zwar Logik, kann aber vor allem im Zusammenspiel mit Content-Management Systemen (CMS) Probleme bringen.
In solchen Systemen bette ich in der Vorlage die erste Überschrift – also den obligatorischen Titel – eines Beitrages in ein Überschriften-Element meiner Wahl (H1, H2 oder H3). Für weitere Überschriften im Text sind allerdings die Verfasser der Beiträge zuständig. Hier muss der Entwickler entscheiden, ab welcher Ordnung Überschriften im Texteditor erlaubt sind. Diese Überschriften stehen dann als HTML in der Datenbank.
Spätestens bei Kopieren und Einfügen-Aktionen
von anderen Programmen oder Im- und Exporten bei Systemänderungen, kommen die Hierarchien der Überschriften durcheinander. Abgesehen davon, dass sich die wenigsten um solchen Kram
dann kümmern, ist diesem Problem nur mit guten Texteditoren (welche ich bis dato noch nicht gesehen habe) und einem Script beizukommen, welches die Einstufung der Überschriften dann automatisch anpasst.
Im folgenden Beispiel ist das genannte Problem
mit den Überschriften etwas entschärft, da Inhalte mit H1 beginnen und diese Reihenfolge beim Kopieren von anderen HTML-Editoren eher die Standardeinstellung ist.
Weniger gesehen, aber auch korrekt
Christian Watson stellt in einem Artikel (Headings and Hierarchy: is More Than One H1 a Crowd?) auch die Frage, warum ein HTML-Dokument nur eine H1-Überschrift haben soll. Er sieht das Problem zwar nicht aus oben geschilderter Situation, aber seine semantische Argumentation ist durchaus auch meine.
Wir dürfen nicht vergessen, dass jedes Programm auch – und vor allem – den Titel (<title>) einer Webseite als erstes verwertet. Wird der Titel der einzelnen Seiten einer Website richtig aufbereitet, steht in diesem bereits immer der Name der Präsenz und in Unterseiten die Überschrift des Inhaltes.
Das obige Beispiel könnte also durchaus auch so aussehen:
<title>– Logo oder Name und Titel des Beitrages- H1 – Logo oder Name
In diesem Kontext kann die Frage berechtigt sein, warum das Logo oder der Name dann überhaupt in einer H1-Überschrift am Anfang einer Webseite stehen soll. - H1 – Beginn des Inhalts (Beitrag)
- H2 – weitere Subüberschrift des Textes
- H2 – und so weiter
- H1 – Bereichsnavigation (darunter Liste)
- H1 – Weitere Navigationsliste
- H2 – Untergruppen
- H2 – Untergruppe
Wie wir auch immer hier entscheiden, aus Sicht der Semantik ist die durchgehende Kontinuität der Überschriften-Hierarchie wichtig und leistet einen wesentlichen Anteil zur Zugänglichkeit von Web-Dokumenten.
Dieser Artikel ist ein Beitrag zur Accessibility Blog-Parade 2007.
Weitere Links zum Thema
- Lists in HTML documents [W3C Recommendation]
- Headings and Hierarchy: is More Than One H1 a Crowd? [Smiley Cat Web Design]
- Headingology; using HTML headings [Good practice - Codewallop]
- Position and Order of Headings [Disabilities Conference/March 21, 2007]
- Strukturelle Navigation: Beispiel der Gebrauchstauglichkeit [Jan Eric Hellbusch auf MAIN_blog] – Nachtrag vom 2. November 2007
Externe Verweise dieses Artikels wurden zuletzt am 2. November 2007 auf Relevanz geprüft.
- Datum:
- veröffentlicht am 29 Oktober 2007, 23:13 MET.
- Artikel:
- Die Vielfalt von Listen in HTML [hyperkontext | Weblog]
- Kurz-URL:
- http://hyperkontext.at/s/95
- Thema:
- Webgestaltung
- Stichworte:
- barrierearm, benutzerfreundlich, Blogparaden, HTML, Webstandards
- Reaktionen:
- Bezugnahme 2
Dieser Artikel bezieht sich intern auf frühere Einträge:
- Von der Einsicht der Struktur zur Vielfalt der Ansichten (2) vom 15. Oktober 2007
Interne Bezugnahme von neueren Artikeln
- Webseite mit Überschriften strukturieren – eine Chronologie vom 29. Juni 2008
Mögliche themenverwandte Artikel aus dem Weblog
Blättern (chronologisch)
- « neuerer Artikel
- Notiz: Neuer Firefox 2.0.0.9 behebt Darstellungsfehler
- älterer Artikel »
- Conditional-Comments für Internet Explorer im Beispiel

Mensch. Nummer. Datensatz