Hilfe:Tabellen/Wikisyntax

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Diese Seite beschreibt die global wirksame Wikisyntax („Quelltext“) von Tabellen.

Die Elemente der Grundstruktur müssen am Beginn einer neuen Quelltext-Zeile stehen. Ihnen sollten keine Leerzeichen, insbesondere keine einrückenden Doppelpunkte oder Aufzählungszeichen, vorangestellt werden.

Dabei sind Tabellen-Anfang und Tabellen-Ende Pflicht – sinnvollerweise müsste mindestens eine Inhalts-Zelle vorhanden sein, genauer: zwei.

Außerhalb der Tabellensyntax dürfen keinerlei Inhalte eingestreut werden, also beispielsweise zwischen Tabellen-Anfang und erstem Element.

Innerhalb der Tabellen sollten keine Überschriften eingefügt werden, die Bestandteil der Gliederung des Inhaltsverzeichnisses der Seite sind.

Basis-Elemente
Syntax Bedeutung Funktion/Wirkung
{| Tabellenanfang Eine linke, öffnende geschweifte Klammer gefolgt von einem Pipe-Symbol |.
|+ Überschrift Ein Pipe-Symbol mit anschließendem Pluszeichen + setzt eine Überschrift über die gesamte Tabelle.
|- Neue Tabellen-Zeile Ein Pipe-Symbol mit anschließendem Bindestrich - (ASCII-Zeichen, U+002D).[1]
! Kopfzelle Zellen, die mit einem Ausrufezeichen ! beginnen, nennt man „Kopfzellen“. Sie können sowohl als Überschrift einer Spalte dienen („Kopfzeile“) als auch der nachfolgenden Zeile aus Inhaltszellen ein Thema zuweisen. Sie heben sich optisch von den anderen Inhaltszellen ab und transportieren auch semantisch eine Wirkung. Die Schrift wird fett dargestellt; ansonsten gelten die Regeln für Inhaltszellen sinngemäß.
| Inhaltszelle Ein Pipe-Symbol öffnet die Inhaltszelle (sofern ihm nicht unmittelbar ein + oder - oder } folgt). Anschließend folgt der darzustellende Inhalt. Dieser kann sich über mehrere Zeilen oder Spalten der Tabelle erstrecken.
|} Tabellenende Ein Pipe-Symbol mit einer anschließenden rechten, schließenden geschweiften Klammer schließt die Tabellensyntax.

Innerhalb einer einzigen Quelltext-Zeile können auch mehrere Zellen angeordnet werden; dann sind die Symbole für jede nachfolgende Zelle zu verdoppeln:

Nachbarzellen
Syntax Bedeutung Funktion/Wirkung
!! Kopfzelle als Nachbarzelle Weitere Kopfzelle, direkt angeschlossen.
|| Inhaltszelle als Nachbarzelle Weitere Inhaltszelle, direkt angeschlossen.[2]

Wenn eine Zelle einen Zeilenumbruch in der Form mehrerer Quelltext-Zeilen enthält, können innerhalb der letzten dieser Quelltext-Zeilen keine weiteren Nachbarzellen angeschlossen werden; diese müssen dann in eine neue Quelltext-Zeile gesetzt werden.

| Inhalt 1 || Inhalt 2 mit ↵
Zeilenumbruch
| Inhalt 3 || Inhalt 4

Bitte beachten:

{| |Einzelzelle |}

funktioniert nicht! Der Zeilenvorschub (Return) ist wichtiger Bestandteil der Tabellensyntax.

Alle Elemente mit Ausnahme des Tabellenendes können mit geeigneten Attributen ausgestattet werden, wie sie in der HTML-Syntax definiert sind. In Frage kommen insbesondere:

Diese Attribute haben die Eigenschaft, dass sie sich in der Regel (sofern nicht noch andere Spezifikationen wirken) auf die darunter liegenden Hierarchieebenen „vererben“:

  • Eine Angabe für die Gesamt-Tabelle gilt für alle Zellen.
  • Eine Angabe für eine Tabellen-Zeile gilt für alle Zellen in dieser Zeile.
  • Spalten haben keine Kinder, können deshalb nichts vererben, und Browser können nicht ohne Weiteres allen Zellen einer Spalte beliebige Attribute zuweisen.

Im Beispiel werden einige Attribute zugewiesen.

Trennung von Attribut und Inhalt[Bearbeiten | Quelltext bearbeiten]

Bei den Elementen

sind die Attribute und der Inhalt durch ein Pipe-Symbol | voneinander zu trennen.

  • Das gilt ebenso für die Kopfzelle, auch wenn hier naheliegend wäre, ein Ausrufezeichen ! zu verwenden.

Bei der Gesamt-Tabelle und bei der neuen Tabellen-Zeile folgen keine Inhalte; hier darf kein derartiges Pipe-Symbol angehängt werden.

Mehrere Attribute[Bearbeiten | Quelltext bearbeiten]

Attribute gleichen Namens dürfen an gleicher Stelle nicht wiederholt zugewiesen werden; aber class= und style= bieten die Möglichkeit, in einer Zuweisung mehrere Werte zu verketten. Zwischen zwei Attributen steht ein Leerzeichen; die Werte sollen in Anführungszeichen " eingeschlossen werden.

Sprungziel[Bearbeiten | Quelltext bearbeiten]

Wenn Sprungziele innerhalb einer Tabelle vereinbart werden sollen, dann ist optimal, die ganze Tabellen-Zeile damit auszustatten:

|- id="meinSprungziel"
| Inhalt || Inhalt || Inhalt

Damit wird die gesamte Tabellenzeile als Ziel angesprochen und zusammen mit der oberen Rahmenlinie im Browser dargestellt.

Weniger günstig wäre es, mit der Vorlage:Anker ein Linkziel zu definieren, indem Textinhalt markiert wird. Dann wird auch exakt bis auf diese Buchstaben positioniert. Ist diese Textzeile nicht oben bündig ausgerichtet, kann es leicht sein, dass von ihren Nachbarzellen die oberen Zeilen nicht im Sichtbereich erscheinen, weil dieser am tiefer liegenden Anker ausgerichtet wurde. In jedem Fall müsste die Rahmenlinie außerhalb des sichtbaren Bereichs liegen und den Lesern fällt die Orientierung schwerer.

Nachstehend eine einfache Tabelle, bei der einige bisher erwähnte Konstrukte verwendet werden.

Codes für Staaten
Land Domain Telefonvorwahl
Deutschland .de 0049
Österreich .at 0043
Schweiz .ch 0041
Europäische Union .eu

Quelltext zur Erzeugung dieser Tabelle:

{| class="wikitable"
|+ Codes für Staaten
|-
! Land
! Domain
! Telefonvorwahl
|-
| Deutschland
| .de
| 0049
|-
| Österreich
| .at
| 0043
|-
| Schweiz
| .ch
| 0041
|- class="hintergrundfarbe5"
|style="background:#0000DD; color:#FFCC00;"| Europäische Union
| .eu ||style="text-align:center"| –
|}

Gesamte Tabelle[Bearbeiten | Quelltext bearbeiten]

Die beiden Elemente {| und |} rahmen die Tabelle ein.

  • Dem öffnenden Element können Attribute zugewiesen werden.
  • Je nach Art des Attributs wirken sie auf alle Zellen der Tabelle.
  • So kann es günstig sein, für eine Tabelle mit vielen Spalten für Zahlenwerte die rechtsbündige Ausrichtung in allen Zellen zu fordern. Nur in den Zellen, in denen die beschriebenen Begriffe stehen, wird dann für diesen Text linksbündige Ausrichtung gesetzt. Beispiele horizontale und vertikale Ausrichtung innerhalb der Zellen
  • Andere Attribute können zur Anordnung der Tabelle innerhalb der Gesamt-Seite genutzt werden, etwa zentriert oder mit umfließendem Layout. Beispiele Ausrichtung in der Seite
  • Wieder andere haben nicht unbedingt einen dekorativen, sondern einen funktionalen Effekt; etwa die Sortierung.
  • Ohne besondere Attribute wird die Tabelle ohne Rahmenlinien dargestellt.

Die Überschrift („caption“) für die Gesamt-Tabelle wird unmittelbar oberhalb der Tabelle dargestellt.

  • Im Layout der Gesamtseite werden Tabellenüberschriften (anders als Abschnittsüberschriften) bei Platzproblemen nicht von der nachfolgenden Tabelle getrennt. Allerdings erscheint sie nicht im Inhaltsverzeichnis.
  • Die Beschriftung wird ohne weitere Angaben von den üblichen Browsern zentriert dargestellt (bei wikitable auch fett).
  • Sie kann mit Attributen ausgestattet werden.
  • Sie wird umbrochen, wenn sie breiter als die Tabelle mit automatischem Zeilenumbruch ist. Zu lange Wörter ragen eventuell sogar über eine schmale Tabelle hinaus
  • Sie dient der Barrierefreiheit. Anders als nur optisch hervorgehobene Elemente wird sie beim Vorlesen der Tabelle zugeordnet, und es kann dann entschieden werden, ob diese Tabelle übersprungen werden oder vorgelesen werden soll.

Jeder Tabellen-Zeile wird |- vorangestellt.[1]

  • Dies kann mit Attributen ausgestattet werden, die dann auf alle Zellen in dieser Zeile wirken.
  • Auf das Element für die Zeile folgt die geeignete Menge von Zellen; entweder jede Zelle in einer eigenen Quelltext-Zeile, oder auch mehrere Zellen als Nachbarzellen.
  • Eine besondere Aufgabe können Kopf- und Fußzeilen wahrnehmen.

Kopfzeile[Bearbeiten | Quelltext bearbeiten]

Eine „Kopfzeile“ enthält ausschließlich Kopfzellen, die als Spaltenüberschrift dienen.

  • Diese erfüllt wichtige Funktionen für die Leser, die Barrierefreiheit und ggf. für die Sortierung.
  • Die Beschriftung wird ohne weitere Angaben von den üblichen Browsern zentriert in Fettschrift dargestellt.
  • Es können mehrere Kopfzeilen untereinander stehen; ggf. durch verbundene Zellen gegliedert.
  • Die semantisch markierten Spaltenüberschriften ermöglichen es geeigneter Software auf einfache Weise, jeder Zelle in der späteren Tabelle deren Bedeutung zuzuweisen. Bei 8. Spalte der 27. Zeile geht schnell der Überblick verloren. Screenreader können jedoch zur gerade fokussierten Zelle die Spaltenüberschrift und ggf. auch die Bezeichnung für die Zeile vorlesen, und es könnte auch für Sehende jede Zelle mit einem Tooltip versehen werden, der diese Bedeutungen anzeigt.

Das Gegenstück zu einer Kopfzeile wäre eine „Fußzeile“, die zum Abschluss mancher Tabellen etwa Gesamtsalden usw. angibt. Die Syntax ist im Prinzip gleich; jedoch käme es eher nicht auf die semantische Markierung mit Kopfzellen an, sondern rein optische Effekte im Sinn einer normalen Inhaltszelle würden ausreichen.

Inhaltszeile[Bearbeiten | Quelltext bearbeiten]

In der Inhaltszeile stehen die Zellen mit den eigentlichen Nutzdaten.

  • Sie erstreckt sich auf eine geeignete Menge von Zellen; entweder jede Zelle in einer eigenen Quelltext-Zeile, oder auch mehrere Zellen als Nachbarzellen.
  • Dabei kann auch eine Inhaltszeile mit einer Kopfzelle versehen werden (typischerweise in der ersten Spalte), die die Bedeutung für die weitere horizontale Zeile angibt. Diese kann dann zur automatischen Generierung von Hinweisen für jede einzelne Daten-Zelle dieser Zeile genutzt werden, insbesondere in Verbindung mit der zugehörigen Spaltenüberschrift. Gelegentlich ist dabei auch das eigentlich redundante Attribut scope="row" anzutreffen.

Nachstehend ein Beispiel für eine Inhaltszeile mit Kopfzelle:

|-
!style="text-align:left"| Deutschland
| 54.326.000
| 63.110.000
| 68.374.000

Beispiele für Inhalte

Wirkung mit Tooltips:

Bevölkerung im 20. Jahrhundert
Land 1900 1925 1950 1975 2000
Deutschland 54.326.000 63.110.000 68.374.000 78.862.000 82.213.000
Österreich 5.973.000 6.555.000 6.935.000 7.521.000 8.000.000
Schweiz 3.315.443 3.976.000 4.714.992 6.300.000 7.288.010

Fußzeile[Bearbeiten | Quelltext bearbeiten]

Eine Fußzeile gibt etwa eine Gesamtsumme an, oder es wird eine Legende mit Erklärungen zu Symbolen am Ende der Tabelle dargestellt.

Zurzeit hat dies keine besondere softwareseitige Auswirkung in der MediaWiki-Software. Bei sortierbaren Tabellen wird dieser Bereich nicht mitsortiert.

Nutzdaten wie auch die zugehörigen Überschriften werden in den Zellen dargestellt.

Die vertikale Anordnung in Zellen ist standardmäßig mittig.

Auf Zellen und nur auf diese können die Attribute für verbundene Zellen angewendet werden:

Eine Zelle mit dem Nutzinhalt kann in einer einzigen Quelltext-Zeile untergebracht werden, sich aber auch über mehrere Quelltext-Zeilen erstrecken, um mehrere komplexe Elemente in dieser Zelle unterzubringen.

Vorsicht ist geboten bei überzähligen Leerzeilen am Ende einer Zelle oder einem überflüssigen Zeilenumbruch zu Beginn des Inhalts. Diese können dazu führen, dass besonders große Abstände entstehen, weil das nach den sonstigen Syntaxregeln einen Absatz ergeben kann, während sonst in der Regel kein eigener Absatz generiert werden würde.

Im letzten Jahrhundert war es erforderlich, leeren Zellen mit einem geschützten Leerzeichen einen „Inhalt“   zu geben, damit sie nicht kollabierten. Seit einem Jahrzehnt ist wohl kein Browser mehr im Einsatz, für den dies erforderlich wäre.

Kopfzellen[Bearbeiten | Quelltext bearbeiten]

Kopfzellen werden durch ein Ausrufezeichen ! am Zeilenanfang definiert.

Der Zelleninhalt wird ohne weitere Maßnahmen von den üblichen Browsern in Fettschrift zentriert dargestellt.

Kopfzelle im Tabellenkopf[Bearbeiten | Quelltext bearbeiten]

Hier bilden sie eine Kopfzeile, und sie dienen dort als Spaltenüberschrift.

Sie können jeweils in neuen Quelltext-Zeilen angeordnet werden, oder aber als Nachbarzellen zu mehreren in einer einzigen Quelltext-Zeile:

|-
! Land
! Domain
! Telefonvorwahl
|-
! Land !! Domain !! Telefonvorwahl

Kopfzelle mit Attribut[Bearbeiten | Quelltext bearbeiten]

Wenn einer Kopfzelle Attribute zugewiesen werden, sind die Attribute und der Inhalt durch ein Pipe-Symbol | voneinander zu trennen. Das gilt, obwohl hier naheliegend wäre, ein Ausrufezeichen ! zu verwenden.

|-
!style="text-align:left"| Land
! Domain !!style="text-align:left"| Telefonvorwahl

Kopfzelle für eine Inhaltszeile[Bearbeiten | Quelltext bearbeiten]

Diese Kopfzeile muss in einer eigenen Quelltext-Zeile stehen, da sich die Eigenschaft ansonsten auf alle weiteren Zellen dieser Inhaltszeile vererben würde:

|-
! Schweiz
| 3.315.443
| 3.976.000
| 4.714.992

Inhaltszelle[Bearbeiten | Quelltext bearbeiten]

Inhaltszellen werden standardmäßig in normalem Schriftstil und linksbündig dargestellt.

Attribute und der Inhalt sind durch ein Pipe-Symbol | voneinander zu trennen.

|style="background:#0000DD; color:#FFCC00;"| Europäische Union
| .eu ||style="text-align:center"| –

Aufeinander folgende Inhaltszellen können jede in einer Quelltext-Zeile für sich allein oder als Nachbarzellen zu mehreren spezifiziert werden:

| 5.973.000
| 6.555.000
| 6.935.000 || 7.521.000 || 8.000.000

Quelltextformatierung[Bearbeiten | Quelltext bearbeiten]

Technisch sind viele Formatierungsmöglichkeiten vorstellbar, die von der Software noch korrekt interpretiert würden.

Um das Verständnis durch Menschen zu erleichtern und Fehler durch irritierende Formatierungen und fehlgeleitete Interpretationen zu vermeiden, haben sich jedoch im Laufe der Jahre einige Sitten für lesbare Syntax herausgebildet:

  • Trenne die Inhalte der Zellen von der Syntax durch ein Leerzeichen.
    Also insbesondere die an den Inhalt angrenzenden Pipe-Symbole sollten abgetrennt werden; ein || zwischen Inhalten sollte von Leerzeichen eingeschlossen werden. Für die Ausrufezeichen gilt das sinngemäß.
  • Damit die vorstehende Empfehlung eine Gliederung in Inhalte und Syntax ermöglicht, sollte die durch Attribute erweiterte Zellen-Syntax möglichst kurz und kompakt sein, insbesondere keine vermeidbaren Leerzeichen enthalten.
  • Es sollte immer in der ersten Spalte der Quelltext-Zeile begonnen werden, damit diese möglichst kurz ausfällt und keine vermeidbaren Zeilenumbrüche und Mehrzeiligkeit entstehen.
    Für die nachfolgenden Autoren ist es belästigend, wenn private komplizierte Leerzeichen-Einrückungssysteme respektiert werden sollen.
    Nach einer Bearbeitung mit dem VisualEditor oder anderer Software sind alle manuellen Verrenkungen ohnehin eingeebnet.

Barrierefreiheit[Bearbeiten | Quelltext bearbeiten]

Tabellen können ein ziemliches Hindernis für Benutzer mit technischen oder körperlichen Einschränkungen sein, wenn einige Grundregeln missachtet werden. Empfehlenswert ist:

  • Keine „Layout-Tabellen“, nur um eine starre Anordnung optischer Elemente zu erzwingen.
    • Bereits für Leser mit einem kleinen Mobilgerät kann das zu einer unbrauchbaren Darstellung führen.
    • Wer nichts sehen kann, erwartet in jeder Tabelle inhaltliche Daten und muss durch diese navigieren. Eine Navigation durch unsichtbare stylishe Elemente ist sehr verwirrend.
  • Eine Überschrift der ganzen Tabelle fasst den nun folgenden komplexen Inhalt zusammen.
    • Dadurch kann entschieden werden, ob es sich lohnt, dieses komplexe Element zu öffnen oder zu überspringen.
  • Die Kopfzellen haben eine entscheidende semantische Funktion.
    • Sie sind nicht gleichzusetzen mit optisch genauso anmutenden Inhaltszellen.
    • Sie werden von der verarbeitenden Software erkannt und direkt in navigatorische Unterstützung umgesetzt.
    • Eine rein optische Hervorhebung, etwa durch Schriftgröße oder Farben, ist jedoch normaler Text und geht unbemerkt im restlichen Text unter.

Siehe dazu auch Hilfe:Textgestaltung/Barrierefreiheit.

Entsprechung in HTML[Bearbeiten | Quelltext bearbeiten]

Siehe dazu Hilfe:Textgestaltung/HTML #table.

Weitere Informationen[Bearbeiten | Quelltext bearbeiten]

  1. a b Bei der allerersten Zeile einer Tabelle wird von der Wikisyntax ein fehlendes |- notfalls ergänzt – das ist aber verwirrend und kann beim Kopieren zu Fehlern führen. Besser ist es, alle Tabellenzeilen einheitlich und vollständig zu gestalten.
  2. War die erste Zelle dieser Quelltext-Zeile eine Kopfzelle, begann die Quelltext-Zeile also mit einem Ausrufezeichen !, dann werden auch weitere Inhaltszellen dieser Quelltext-Zeile als Kopfzellen aufgefasst. Das ist jedoch sehr verwirrend, und diese Mischung sollte unterlassen werden. Daher auch für die weiteren Kopfzellen !! benutzen.