Ein charakteristisches Merkmal der Wikitexte sind die Tags. Sie sind den Auszeichnungssprachen XML und HTML entlehnt.

Auf dieser Hilfeseite wird ein vollständiger Überblick zur Anwendung in Wiki-Projekten gegeben. Kurzfassungen finden sich unter Hilfe:Textgestaltung.

Eine andere Bedeutung von tags im Wiki wird unter Bearbeitungsmarkierung erläutert.

Index

[Bearbeiten | Quelltext bearbeiten]

Direkt zum Element:

<!-- --> a abbr Abschnitt acronym b bdi big blockquote br caption categorytree ce center charinsert chem cite code colgroup command dfn dd del div dl dt em font gallery graph h1 h2 h3 h4 h5 h6 hiddentext hiero hr i imagemap img includeonly indicator inputbox ins isindex kbd langconvert languages li maplink mapframe mark math nobr noinclude nowiki ol onlyinclude p phonos poem pre q rb rbc ref references rp rt rtc ruby s samp score script section small source span strike strong style sub sup syntaxhighlight templatedata templatestyles table td th timeline tr translate tt tvar u ul var wbr

Hilfe zu den im Wikitext gängigen Tags lässt sich auch fast immer erreichen, indem in das Suchfeld eingegeben wird: h:name    

Syntax

[Bearbeiten | Quelltext bearbeiten]

Die Syntax entspricht derjenigen von XML und HTML; zwischen beiden Sprachen gibt es minimale Unterschiede.

Ein Tag hat im einfachsten Fall die Form <name> – nach der öffnenden spitzen Klammer < steht der Bezeichner. Er soll kleingeschrieben werden, wird aber auch mit Großbuchstaben verstanden. Die schließende spitze Klammer > beendet das Tag.

Grundsätzlich gibt es mehrere Fälle:

Attribute

[Bearbeiten | Quelltext bearbeiten]

Weiterhin gilt:

Einige häufige Standard-Attribute sind

Ob sie im konkreten Einzelfall auch wirksam sind, hängt vom Tag ab.

class

[Bearbeiten | Quelltext bearbeiten]

Die Klassen sind insbesondere wichtig für die Zuordnung von CSS, wie es projektweit etwa in MediaWiki:Common.css definiert ist und auch individuell vereinbart werden kann (Hilfe:CSS).

Achtung: Falls mehrere Klassen angegeben werden, müssen sie durch Leerzeichen voneinander getrennt werden; nicht mit Komma:

class="wikitable float-right"

Eine projektweit definierte Klasse ist error, mittels der auf allen Seiten Fehlermeldungen (etwa von Vorlagen) aufgefunden und einheitlich formatiert werden können.

id

[Bearbeiten | Quelltext bearbeiten]

Damit lassen sich Fragmente bilden, mit denen sich die Tags direkt verlinken lassen.

Für den Identifizierer gibt es Regeln:

style

[Bearbeiten | Quelltext bearbeiten]

Während mit class= CSS-Formatierungen für alle Elemente gleichzeitig zugewiesen werden, lässt sich mit style= ein einzelnes Element in einem bestimmten Stil darstellen. Dies erfolgt regelmäßig nur in der Vorlagenprogrammierung und kann in Artikeln ausnahmsweise benutzt werden; siehe Hilfe:CSS.

lang

[Bearbeiten | Quelltext bearbeiten]

In der Vorlagenprogrammierung wird gelegentlich das Attribut lang= benutzt. Als Wert ist syntaktisch ein Sprachcode gemäß ISO 639 usw. anzugeben; auch sinngemäße Wiki-Erweiterungen sind möglich.

Es wird dem Element eine menschliche Sprache zugewiesen. lang="fr" kennzeichnet als französisch, lang="de-AT" als österreichisch.

Das kann durch Screenreader oder zur Auswahl besonders geeigneter Schriftarten[5] ausgenutzt werden.

Die Verwendung eines XML-Namensraums, also xml:lang="it", ist weder hier noch anderswo zulässig.

Die Zuweisung wird in Artikeln möglichst nicht direkt verwendet, sondern meist über Vorlage:lang und andere.

dir

[Bearbeiten | Quelltext bearbeiten]

Schreibrichtung (Projektstandard: von links nach rechts); die Zuweisung wird in Artikeln nicht direkt verwendet, sondern über spezielle Vorlagen.

title

[Bearbeiten | Quelltext bearbeiten]

Auf allen sichtbaren Elementen wird der Inhalt als Tooltip dargestellt; in der Regel aber nur auf Desktop-Geräten und nicht auf Mobilgeräten mit Touchscreen. Der Inhalt des Attributs ist einfacher Text ohne Markup; ein Zeilenumbruch kann mittels &#10; erzeugt werden.

Mit der Zuweisung einer leeren Zeichenkette title="" würde sich der Tooltip umgebender Bereiche unterdrücken lassen.

Diese Funktionalität darf nur unterstützende und keine bedeutungstragende Informationen anbieten, da sie technisch nicht von jedem Leser wahrgenommen werden kann und Leser auch nicht vermuten können, dass sie gelegentlich an einer unscheinbaren Stelle mittels Mauszeiger weitere Texte sichtbar machen könnten. Insbesondere für laufende enzyklopädische Artikeltexte ist dies nicht geeignet; bei Funktionsseiten und interaktiven grafischen Elementen kann der Leser auf die Möglichkeiten hingewiesen werden.

role

[Bearbeiten | Quelltext bearbeiten]

Mittels role= und ggf. gekoppelt mit aria-hidden= wird Barrierefreiheit unterstützt. Ein Teil der Elemente wird dabei gekennzeichnet, dass sie besonders wichtig zur Navigation innerhalb desselben Dokuments wären, oder zu inhaltlich eng damit zusammenhängenden anderen Seiten; ein anderer Teil der Elemente wäre für Blinde redundant und verwirrend und belästigt nur, weshalb sie nicht erwähnt würden. Im Quelltext von enzyklopädischen Artikeln wird dies nicht verwendet.

Veraltete Attribute

[Bearbeiten | Quelltext bearbeiten]

Die nachstehenden Attribute sind nicht mehr zeitgemäß und sollten im Rahmen von Überarbeitungen durch Zuweisungen im style= oder eine Klassenangabe ersetzt werden:

align= bgcolor= border= clear= height= valign=

Dadurch kommt es auch zu einer einheitlichen Nutzung von CSS statt unterschiedlicher historischer Sonderregelungen, die auf Dauer verwirren. In den meisten Fällen gehört auch das sehr oft überflüssige und heutzutage falsches Layout erzwingende width= dazu. Siehe Hilfe:CSS.

Verarbeitungsablauf

[Bearbeiten | Quelltext bearbeiten]

Wiki-Erweiterung

[Bearbeiten | Quelltext bearbeiten]

In der deutschsprachigen Wikipedia sind neben der Basis-Wikisyntax die folgenden nur in Wikis gültigen Tag-Bezeichner definiert:

categorytree ce charinsert chem gallery graph hiddentext hiero imagemap includeonly indicator inputbox langconvert languages maplink mapframe math noinclude nowiki onlyinclude phonos poem pre ref references score section (source) syntaxhighlight templatedata templatestyles timeline translate tvar

Die aktuell wirksamen Erweiterungen können auf Spezial:Version nachgelesen werden.

charinsert

[Bearbeiten | Quelltext bearbeiten]

Dieses Element ist ausschließlich dafür vorgesehen, Verlinkungen zum Einfügen von Text-Elementen in das Bearbeitungsfeld zu programmieren. Der eingeschlossene Bereich wird umgewandelt in ein Link, das die wikibits-Funktion insertTags() aufruft. Derartige Links sind mit sonstiger Wikisyntax nicht möglich.

nowiki

[Bearbeiten | Quelltext bearbeiten]

Im von <nowiki>……</nowiki> umschlossenen Bereich hat die Wiki-Syntax keine Wirkung.

Mit <nowiki /> als unary tag wird die Wiki-Verarbeitung unterbrochen; das wird bei Zusammensetzungen mit Wikilinks benutzt, wenn das anschließende Wort nicht als Linktitel dargestellt werden soll: Mondlandung über [[Mond]]<nowiki />landung.

Die Entities &...; sind keine Wiki-Syntax, wirken nur auf Zeichen-Ebene und werden durch nowiki nicht beeinflusst. Eine Quellcode-Wiedergabe, bei der auch Entities wie angegeben sichtbar bleiben, kann mit <syntaxhighlight lang="text"> erreicht werden.

Soll nowiki zwar im Prinzip Verlinkungen und andere Syntaxelemente unwirksam machen, jedoch zuvor Parserfunktionen (und Vorlagen) auswerten, lässt es sich für die Vorlagenprogrammierung und interne Dokumentationen mittels der Funktion #tag darstellen:

((#tag:nowiki| ... ((PAGENAME)) ... ))

Basis-Syntax

[Bearbeiten | Quelltext bearbeiten]

In jedem Projekt werden folgende eingebaute Elemente interpretiert:

hiddentext includeonly noinclude nowiki onlyinclude

Zusätzlich kann jedes Projekt individuell optionale Software-Komponenten zusammenstellen, die Extensionen („Erweiterungen“); siehe Spezial:Version.

langconvert

[Bearbeiten | Quelltext bearbeiten]

Dieses Element hat zwei Pflicht-Attribute from und to, welche Sprachcodes für konvertierbare Varianten derselben Sprache enthalten müssen.

Das gibt es möglicherweise für Serbisch oder Chinesisch; für uns wenig relevant.

HTML-Philosophie

[Bearbeiten | Quelltext bearbeiten]

Die in unserem Wikitext erlaubten HTML-Elemente tragen nach zwei Methoden zum dargestellten Text bei:

  1. Inline-Elemente – sie beeinflussen die Schriftgestaltung innerhalb eines Fließtextes; also dessen Farben, Größe, Schriftart und mehr.
  2. Block-Elemente – sie arrangieren das Layout der Seite. Jedes Block-Element lässt sich als ein rechteckiges Zettelchen vorstellen; auf der Seite werden dann vom Browser all diese Rechtecke nebeneinander, selten ineinander und ansonsten untereinander angeordnet.
  3. Kommentare sind zwar erlaubt, wirken aber nicht auf das generierte HTML-Dokument.

Inline-Elemente

[Bearbeiten | Quelltext bearbeiten]

Innerhalb der Spannweite eines Inline-Elements darf niemals ein Block-Element auftreten; auch nicht das Ende eines Absatzes.

Der einfache Text, ggf. streckenweise mit Inline-Elementen besonders formatiert, wird (typischerweise als Fließtext) in ein Block-Element „hineingegossen“.

Block-Elemente

[Bearbeiten | Quelltext bearbeiten]

Block-Elemente können einfachen Text (ggf. streckenweise mit Inline-Elementen formatiert) sowie andere Block-Elemente enthalten.

Sie können zentriert ausgerichtet sein oder für den Layoutfluss adressiert werden; zumindest das Element als Ganzes, etwa die gesamte Tabelle.

Generiertes HTML

[Bearbeiten | Quelltext bearbeiten]

Die Basis-Syntax der Wikisoftware generiert letztlich auch immer HTML-Elemente, die in das HTML-Dokument eingefügt werden.

Sinnvolles HTML für Artikel und Seitentexte

[Bearbeiten | Quelltext bearbeiten]

Uneingeschränkt auf allen Seiten sinnvoll ist nur ein kleiner Teil an Elementen aus der allgemeinen Hypertext Markup Language:

<!--…--> br code div small sub sup

Im laufenden Artikeltext sind ungewöhnliche Formatierungskonstrukte für die anderen Autoren unverständlich und störend; hier sollten sie in allgemein verwendbare Vorlagen mit einem sprechenden Namen eingebettet werden. Autoren allgemeiner Artikel sollen im Fließtext nicht mit kryptischen Syntaxbasteleien konfrontiert werden.

Bei Tabellen und schematischen Darstellungen im Artikel kann der Einsatz von Farben und besonderer Formate über die Standard-Elemente hinaus erforderlich und sinnvoll sein.

In fremdsprachlichen Textabschnitten (insbesondere in asiatischen Schriften) wäre auch die Ruby-Notation und weitere Schrift-Information vorstellbar mit den Elementen

bdi ruby rb rp rt rtc

– dazu würde auch das zurzeit von der Software nicht unterstützte rbc gehören.

Auf einer Positivliste vermerkte HTML-Elemente werden von der Wiki-Software in den Ausgabetext durchgereicht. Bei unbekannten Elementen werden auch die Tags dargestellt und unwirksam; Gleiches gilt für alle ausdrücklich verbotenen Elemente. Damit können zwar die meisten HTML-Elemente benutzt werden; es sind aber nicht alle HTML-Elemente im Wikitext wünschenswert und sinnvoll.

Kommentar

[Bearbeiten | Quelltext bearbeiten]

Ausführlich siehe hier.

br

[Bearbeiten | Quelltext bearbeiten]

code

[Bearbeiten | Quelltext bearbeiten]

Mittels <code>……</code> werden im laufenden Text Bereiche in Schreibmaschinenschrift dargestellt. Damit sind Buchstaben deutlich unterscheidbar; etwa i I l 1 | können nicht verwechselt werden. Das ist für Computercode interessant.

div

[Bearbeiten | Quelltext bearbeiten]

Mittels <div> wird ein Element auf der Textblocks-Ebene definiert. Ein Textblock beginnt im Regelfall in einer neuen Zeile; ansonsten gehören auch Tabellenzellen und Bildlegenden dazu.

In Artikeln ist außerhalb von schematischen Darstellungen nur eine einzige Verwendung erforderlich:

Damit wird bewirkt, dass nach Einbindung von Bildern oder Tabellen das Seitenlayout wieder über die volle Breite reicht; erforderlichenfalls wird ein Leerraum bis unter das unterste vorangegangene Bild eingefügt.

Es wird auch durch die Vorlage ((Absatz)) eingefügt.[7]

Nicht zulässige und nicht von allen Browsern verstandene Formen sind

Daneben wäre statt both auch noch left und right als Schlüsselwort vorstellbar; dies ist aber für die Gestaltung normaler Wiki-Seiten irrelevant (angebrachtes Beispiel).

In der Vorlagenprogrammierung werden <div>-Elemente benutzt, um Textblöcken Klassen und Stile zuzuweisen; das mag auch zu grafischen Darstellungen in Artikeln eingesetzt werden.

small

[Bearbeiten | Quelltext bearbeiten]

sub sup

[Bearbeiten | Quelltext bearbeiten]

Die Elemente sub und sup bewirken die Tief- und Hochstellung des eingeschlossenen Textes. Dieser wird gleichzeitig kleiner geschrieben. Dabei soll kein zusätzliches <small> benutzt werden; auch sollen keine anderen sub oder sup enthalten sein. Für solche Fälle (Formelsatz) gibt es <math>.

Zur Typografie und Zeichenkodierung gilt:

Beispiel: T<sub>A</sub><sup>−1</sup> wird zu TA−1.

HTML außerhalb der Artikel

[Bearbeiten | Quelltext bearbeiten]

Für die Vorlagenprogrammierung, bei Funktionsseiten vor allem zu technischen Angelegenheiten und in Diskussionen oder auf Benutzerseiten kommen weitere Elemente in Frage:

abbr del ins mark pre s span strike

Innerhalb von Artikeltexten sind sie nur im Ausnahmefall einzusetzen.

span

[Bearbeiten | Quelltext bearbeiten]

<span> ist ein Universal-Element für beliebige Textformatierungen. Alle anderen Formatierungselemente auf Zeichen-Ebene ließen sich im Prinzip durch span ersetzen. Im Unterschied zu <div> wirkt es inline, das heißt innerhalb eines Textblocks (Absatzes), und ordnet insbesondere die Attribute class, id, style einem Textstück zu.

Im Regelfall werden die dadurch entstehenden, zuweilen komplizierten Gebilde nur innerhalb der Vorlagenprogrammierung und auf Funktionsseiten zu technischen Angelegenheiten verwendet.

pre

[Bearbeiten | Quelltext bearbeiten]

Mit <pre> wird ein Block an kodierter Information dargestellt, das heißt in Schreibmaschinenschrift und mit dem vorgefundenen Zeilenumbruch des Quelltextes.

abbr acronym

[Bearbeiten | Quelltext bearbeiten]

Mit <abbr> (und <acronym>) lassen sich Abkürzungen als solche kennzeichnen. Die semantisch feine Unterscheidung zwischen beiden Elementen hat sich kaum durchgesetzt.

MediaWiki hat zurzeit acronym nicht auf der Positivliste.

Neben Verlinkungen und Bildern waren das in HTML.4 die einzigen grafischen Elemente, die einen Tooltip anzeigen, wenn man mit dem Mauszeiger darüber fährt; dies sollte die Erläuterung zur Abkürzung sein. Für modernere Browser kann auch das Universalattribut title= jedem sichtbaren Element zugeordnet werden; allerdings wissen Leser zunächst nicht, dass sie einen Tooltip erhalten werden, wenn sie den Mauszeiger dorthin bewegen.

In Artikeln wird dieses Element nicht verwendet; Wikilinks auf die Langform zu einer Abkürzung haben hinsichtlich des Tooltips den gleichen Effekt.

Beispiel

In der MW-Software gibt es die analoge class="explain" und ermöglicht individuelle Erklärungen. Sie arbeitet mit der CSS-Deklaration cursor:help – diese ist ab CSS2 (1998) verfügbar, unterstreicht den Bereich üblicherweise mit einer gestrichelten Linie und zeigt meist ein Fragezeichen, wenn der Cursor dort steht.

Redaktionelle Markierungen

[Bearbeiten | Quelltext bearbeiten]

s strike

[Bearbeiten | Quelltext bearbeiten]

Mit diesen Tags wird der dazwischen liegende Text innerhalb einer Zeile durchgestrichen.

Mit HTML5 (schon seit HTML4) ist <strike> nicht mehr standardkonform; <s> hat seine Semantik leicht gewandelt, was für Wiki-Anwendungen irrelevant ist.

Sollen komplette Textblöcke durchgestrichen werden, dann bitte auf

<div style="text-decoration:line-through">
Textblock
: Einrückung
* Aufzählung
</div>

umstellen, oder jede Zeile einzeln durchstreichen.

del ins

[Bearbeiten | Quelltext bearbeiten]

Diese Elemente gehen über die reine Textformatierung hinaus; hier sollen auch Angaben zum Autor (Verlinkung) und Zeitpunkt gemacht werden und es soll eine optische Zuordnung (Farben) zu den einzelnen Veränderungsphasen oder Autoren sichtbar werden. <del> wird meist durchgestrichen dargestellt.

Das mag in einem Artikel zur Entstehung von Gedichten, Gesetzestexten usw. einmal sinnvoll sein, wäre ansonsten allenfalls bei der Erarbeitung Wiki-interner Texte einzusetzen.

mark

[Bearbeiten | Quelltext bearbeiten]

Die Kennzeichnung <mark> (Textmarker-Funktion) ist eher gedacht zur dynamischen Einfügung in die fertige HTML-Seite, als dass es im Quelltext des Wikis dauerhaft vorhanden sein sollte (hierfür wäre <span> zu verwenden).

Mit <mark> kennzeichnet man in einem statischen Text vorübergehend den Bezug zu wechselnden Anmerkungen oder Belegen, oder man markiert das Vorkommen von aktuellen Suchbegriffen. Die konkrete Farbe wird dynamisch vom Browser so festgelegt, dass sie mit den im markierten Bereich vorhandenen Schrift- und Hintergrundfarben kontrastiert.

Die MediaWiki-Installation übersteuert allerdings im Moment dieses Verhalten und gibt explizit vor: Schwarze Schrift auf gelbem Hintergrund, weil älteren Browsern das neue HTML-5-Element unbekannt ist und wirkungslos bleiben würde.

Unerwünschtes HTML

[Bearbeiten | Quelltext bearbeiten]

Es sind über 110 verschiedene Element-Namen in HTML bekannt. Sie tragen teils kontextabhängige semantische Feinheiten, teils sind sie veraltet. Wiki-Autoren sollen sich damit nicht auseinandersetzen müssen.

Wikisyntax

[Bearbeiten | Quelltext bearbeiten]

Wo die Wikisyntax selbst Möglichkeiten bietet, sollen keine HTML-Elemente eingebracht werden.

Element Bedeutung Ersatz durch Wikisyntax
b strong Hervorhebung; Fettschrift Drei Apostrophzeichen '''
i em Hervorhebung; Kursivschrift Zwei Apostrophzeichen ''
p Absatz Leerzeile
<hr /> Trennlinie Vier Bindestriche ----
Im Artikel-Layout unerwünscht
ol ul li Aufzählung Stern * und Hashcode #
dl dt dd Definitionsliste Semikolon ; und Doppelpunkt :
h1 h2 h3 h4 h5 h6 Überschrift Gleichheitszeichen =
table td th tr thead caption tbody col colgroup tfoot Tabellensyntax Tabellensyntax

Gelegentlich werden temporär auf internen Funktionsseiten wie etwa Wartungslisten die Ergebnisse externer Software eingetragen, die laufend aktualisiert werden. Sie sind ggf. nicht in Wikisyntax, sondern mittels HTML formatiert, und dort ist das auch nicht zu beanstanden.

Formatierung

[Bearbeiten | Quelltext bearbeiten]

Diese Tags sollen in Artikeln und Projektseiten nicht verwendet werden. Nur im Rahmen der Vorlagenprogrammierung wird ggf. von den semantischen Eigenschaften der ersten drei Tags Gebrauch gemacht.

Element Bedeutung Ersatz
<blockquote> Blockzitat Vorlage ((Zitat)) oder fremdsprachliche Varianten
<q> eingebettetes Zitat Vorlage (("))
<cite> Titel eines Werks Kursivschrift
<u> Unterstreichung Kursivschrift
(Verwechslung mit Verlinkung; Irritation der Leser)

Ungebräuchliches HTML

[Bearbeiten | Quelltext bearbeiten]

Gelegentlich wird noch gefunden oder thematisiert:

Element Bedeutung Ersatz
big Große Schrift style="font-size:larger;"
center Zentrierung class="centered"
class="center"
font Schrifteigenschaften style="…"
tt Darstellung in Schreibmaschinenschrift <code>code</code>
dfn, kbd, samp, var Software-Dokumentation <code>
nobr Kein Zeilenumbruch
(Nicht standardisiert)
style="white-space:nowrap;"
<wbr /> Worttrennung möglich (ohne Trennstrich)
(Seit HTML5 standardisiert)
Im Fließtext unerwünscht
&shy; (mit Trennstrich)
Im Fließtext unerwünscht

Es gibt noch etliche weitere Tags in HTML; diese sind aber bislang in Wikitexten nicht in Erscheinung getreten.

big

[Bearbeiten | Quelltext bearbeiten]

Dieses Element soll nicht verwendet werden.

Mit HTML5 ist <big> auch nicht mehr standardkonform.

center

[Bearbeiten | Quelltext bearbeiten]

Mittels <center> wurde ein Element innerhalb eines Blocks (horizontal) mittig ausgerichtet.

Es wird nicht gern gesehen, Artikel nach individuellem Geschmack umzugestalten; Bildlegenden usw. folgen einem einheitlichen Layout.

Wo wirklich erforderlich, kann mit dem Attribut class="centered" ein ganzer Block zentriert werden; außerdem mit class="center" fast jedes Tag zur mittigen Ausrichtung seines Inhalts gebracht werden. Näheres siehe auf TG/Zentrieren.

Mit HTML5 (schon seit HTML4) ist <center> nicht mehr standardkonform; es sollte deshalb nicht mehr neu eingefügt und allmählich aus der Wikipedia entfernt werden. Es kann durch die genannten class ersetzt werden.

Bei Tabellen ist class="center" der adäquate Ersatz für einzelne Felder oder die Tabelle insgesamt, in Fällen ohne Element steht, wenn erforderlich, die Vorlage:Center zur Verfügung.

font

[Bearbeiten | Quelltext bearbeiten]

Dieses Element spezifizierte Einzelheiten zur Schriftart, Schriftgröße oder andere Darstellungsformen. Das wird seit langem über das allgemeinere <span style=""> realisiert.

Mit HTML5 ist <font> nicht mehr standardkonform, war schon 1998 mit HTML4 obsolet und sollte unbedingt aus allen Wikiseiten entfernt werden.

Im Übrigen sind die Wiki-Seiten schlicht gehalten und verwenden nicht lauter verschiedene fein abgestufte Schriftgrößen. Für außereuropäische Schriften werden dem Browser Hinweise zu geeigneten Zeichensätzen über entsprechende Vorlagen gegeben.

tt

[Bearbeiten | Quelltext bearbeiten]

Das HTML-Element <tt>……</tt> (kurz für teletype text) bewirkte die Darstellung in Schreibmaschinenschrift. Es wurde 2017 als veraltet eingestuft und die Verwendung wird als LintError gelistet, daher sollte es nicht mehr einefügt werden. Mediawiki gibt an →mw:Help:Lint_errors/obsolete-tag#tt, dass stattdessen alternativ nrben code auch kbd samp var eingesetzt werden können.

<tt> ist (mit HTML5) eine veraltete und langfristig nicht mehr unterstützte Notation in HTML. Weil sie jedoch sehr leicht zu tippen ist, wird dies aber noch häufig in Wikitexten anzutreffen sein. Sollte sie einmal nicht mehr von Browsern unterstützt werden, kann ihre Wirkung sehr leicht durch ein MediaWiki-Element gleicher Syntax wahrgenommen werden.

Auf Wikisource wird oder wurde <tt>……</tt> abweichend vom HTML-Standard zur Darstellung in Antiqua-Schriften benutzt.

HTML 2

[Bearbeiten | Quelltext bearbeiten]

dfn kbd samp var

In HTML 2 gemäß RFC 1866 von 1995 gab es noch kein CSS und keine style-Vereinbarungen. Deshalb musste jedes unterschiedliche Markup damals ein gesondertes Element erhalten.

Seinerzeit sah man als wesentliches Einsatzgebiet die Erstellung technisch-wissenschaftlicher Dokumente; insbesondere auch automatisch generierte Software-Dokumentation, die durch spezielle Tags unterstützt werden sollte. Aus diesem Kontext stammen die dfn kbd samp var – heute benutzt man dafür Klassen und CSS-Stile.

Als Darstellung für kbd und samp war Schreibmaschinenschrift vorgesehen; var und dfn werden meist kursiv dargestellt.

Für Tastatur-Eingaben einzelner Zeichen verwenden wir nicht direkt <kbd>, sondern ((Taste)); bei allen anderen Anwendungen steht <code> oder <syntaxhighlight> zur Verfügung; selbst <tt>. Kursivschrift wird durch Apostrophe erreicht.

Das Element <samp> hat die semantische Bestimmung, den Output oder die Antwort von Computerprogrammen darzustellen. Zusammen mit <kbd> bildet es den Eingabe-Ausgabe-Dialog von textorientierten Konsolen der damaligen Zeit. Auf keinen Fall dürfen diese semantischen Elemente dazu missbraucht werden, Schreibmaschinenschrift zu generieren, nur weil das zufällig auch die gängige Darstellungsweise sei.

Andere Wikiprojekte

[Bearbeiten | Quelltext bearbeiten]

Nicht in der deutschsprachigen Wikipedia, aber in anderen Wikiprojekten könnte man zusätzlichen Wiki-Erweiterungen begegnen. Dazu gehören:

<languages />
Weist in mehrsprachigen Projekten auf der üblicherweise englischsprachigen Oberseite darauf hin, dass bestimmte Übersetzungen in Form von Unterseiten vorliegen.
<translate></translate>
Markiert in mehrsprachigen Projekten übersetzte Bereiche zu einer üblicherweise englischsprachigen Fassung.
<tvar></tvar>
Markiert in mehrsprachigen Projekten eine Art übersetzte globale Variable.

Siehe dazu: mw:Extension:Translate.

Verbotenes HTML

[Bearbeiten | Quelltext bearbeiten]

Aus Sicherheitsgründen sind eine Reihe von HTML-Anweisungen ausschließlich über Wikisyntax möglich. Sie werden dabei auf böswillige Techniken überprüft. Es sind Verlinkungen und die Ausführung fremder Software. Wenn externe Ressourcen (Bilder, Multimedia, fremde Texte und Webseiten) direkt als Inhalte eingebunden würden, könnte es außerdem zu Urheberrechtsverletzungen kommen.

Alle direkten Verwendungen solcher Tags werden vom „Sanitizer“ auf dem Wiki-Server ausgefiltert.[9]

Betroffen sind („blacklist“):

a applet area audio base body button canvas command embed form frame frameset head html iframe img input isindex layer link map meta object option param script select (source) style textarea title track video xml

Übrigens wird auch das URL-Format für Hintergrundbilder[10] im style-Attribut entfernt.

Die derzeitige Strategie ist, auch alle nicht explizit als geeignet bekannten HTML-Elemente auszufiltern. Alternativ würden im Wikitext vorgefundene unverstandene Elemente in den Ausgabetext durchgereicht, sofern sie nicht explizit verboten wären; durch die Vielzahl an Browser-Entwicklungen und neu definierter Tags ist das aber nicht mehr sicher genug.[11]

Damit ist auch Pseudo-HTML wie <Scherz> unmittelbar möglich; zurzeit wird das < nur umgesetzt, wenn darauf ein erkanntes Tag von der Positivliste folgt. Das Escapen des < etwa als &lt; ist zurzeit nicht zwingend erforderlich; es kann aber auch nicht schaden, falls der Wikitext einmal anders interpretiert wird. Das schließende > braucht in diesen Fällen grundsätzlich nicht maskiert zu werden.

Nicht unterstützt

[Bearbeiten | Quelltext bearbeiten]

Zu den sicherheitstechnisch unschädlichen und prinzipiell vorstellbaren, aber zurzeit nicht gelisteten Elementen gehören:

acronym address fieldset label noscript rbc

Sie sind weltweit wegen unnötiger Verkomplizierung des Wikitexts unerwünscht.[12] Die Software ignoriert diese genau wie verbotene Elemente.

Anhang: Entities

[Bearbeiten | Quelltext bearbeiten]
Hex- Zeichen Dez-  General-
&#x22; – " – &#34; – &quot;
&#x23; – # – &#35; – &num;
&#x26; – & – &#38; – &amp;
&#x27; – ' – &#39; – &apos;
&#x2A; – * – &#42; – &ast;
&#x3A; – : – &#58; – &colon;
&#x3B; – ; – &#59; – &semi;
&#x3C; – < – &#60; – &lt;
&#x3D; – = – &#61; – &equals;
&#x3E; – > – &#62; – &gt;
&#x5B; – [ – &#91; – &lsqb;
&#x5D; – ] – &#93; – &rsqb;
&#x7B; – { – &#123; – &lcub;
&#x7C; – | – &#124; – &vert;
&#x7D; – } – &#125; – &rcub;
&#x7E; – ~ – &#126; (TILDE)
&#xA7; – § – &#167; – &sect;
Unsichtbare (Whitespace):
&#xA0; –   – &#160; – &nbsp;
&#x20; –   – &#32; (SPACE)
&#xAD; – – &#173; – &shy;
&#x2009; – – &#8201; –&thinsp;
&#x200A; – – &#8202; (HAIR SPACE)
&#x202f; – – &#8239; (NARROW NO-BREAK)

Keine HTML-Tags, aber thematisch verwandt sind Zeichen-Entitäten: &...;

Hier gilt für die deutschsprachige Wikipedia, insbesondere den Artikelnamensraum:

Benannte Entities werden von der MW-Software[9] automatisch in numerische (dezimale) Entities umgesetzt, so dass der entstehende HTML-Text völlig unabhängig von unzulänglichen Browsern ausgeliefert wird.

Anmerkungen

[Bearbeiten | Quelltext bearbeiten]
  1. Einige Benutzer, die HTML5 nicht richtig verstanden haben, behaupten, bei <br /> würde es sich um ungültige oder veraltete Syntax in HTML5 handeln.
    • Das ist schlicht falsch.
    • Siehe HTML5, W3C Recommendation, 14 December 2017, Abschnitt 8.1.2.1. Start tagsthen there may be a single U+002F SOLIDUS character (/) betreffend void-Elemente.
    Die Autorenschaft der deWP ist seit anderthalb Jahrzehnten an diese Syntax gewohnt und wendet die gleiche Logik auf <references /> an.
    • Mit oder ohne Schrägstrich ist jeweils eine von zwei in HTML gleichberechtigten gültigen Schreibweisen. Nirgendwo ist in HTML vorgeschrieben, dass nunmehr der Schrägstrich nicht mehr erlaubt, veraltet, inkompatibel oder sonstwas wäre, oder dass eine dieser beiden Notationen für HTML zu bevorzugen wäre.
    • Es gibt deshalb keinerlei Anlass, irgendetwas an der den Autoren vertrauten einheitlichen Notation für alle void-Elemente zu verändern.
  2. a b Entsprechende Seiten wurden ab Juli 2016 in die Kategorie:Wikipedia:Seite mit problematischem HTML-Tag eingeordnet. Es ist zu erwarten, dass zukünftig weitere Restriktionen einen syntaktisch korrekten und damit eindeutigen Wikitext einfordern, namentlich das Schließen aller geöffneten Elemente und eine Warnung bei leeren HTML-Elementen, die weder Inhalte noch Attribute besitzen und deshalb sinnfrei sind. Seit Mitte 2017 sind diese Fehler Teil der Linterfehleanalyse, nicht erkannt werden allerdings unzulässige Zuweisungen in br-Tags wie <br style="clear: both;" />.
  3. Bis etwa 2015 wurden nur englischsprachige Buchstaben a–z A–Z (aus dem ASCII-Zeichensatz) sowie Ziffern als Bestandteile eines Wortes erkannt
  4. <gallery showfilename> ist einer der wenigen Ausnahmefälle.
  5. Siehe etwa WP:CSS #lang und Hilfe:Schriftunterstützung.
  6. Dies konnte nicht mehr weiter benutzt werden; die Software HTML Tidy entstand 1998 unter anderen Bedingungen.
  7. Der Name der Vorlage ((Absatz)) wurde sehr irreführend gewählt; tatsächlich müsste es heißen ((Seitenbreite)) oder ((Layout (volle Breite))) oder ähnlich. Wobei ((vollbreit)) eher als inhaltlicher Kommentar missinterpretiert werden würde. Genaugenommen bedeutet es: „Textfluss zurücksetzen“ – was erst recht niemand versteht.
  8. phab:T2671 (Bugzilla:671 #c37)
  9. a b includes/parser/Sanitizer.php – dies übernimmt auch unerwünschtes CSS sowie die Umwandlung benannter Entities und die Entfernung von Kommentaren.
  10. Wenn man eine URL als background vereinbaren könnte, würde bei jedem Aufruf jeder entsprechenden Seite automatisch eine Anfrage an den externen Server ausgelöst werden, durch die diesem verraten würde, welche Benutzer mit welcher IP und welchem Browser und ggf. welchen Cookies der externen Domain wann welche Wiki-Seite lesen. Die Cookies können zur Zuordnung identischer Browserprofile unter wechselnden IP genutzt werden.
    In einem Wiki ist es eine bewusste Entscheidung des Lesers, ein externes Link anzuklicken; automatischer Serverkontakt erfolgt nur innerhalb der WMF oder durch selbst veranlasste Konfiguration.
    Aus dem gleichen Grund werden Bilder nur von Servern der WMF in der Seite dargestellt.
  11. In den frühen Nullerjahren gab es wohl zunächst eine Blacklist für Elemente, die explizit ausgeschlossen wurden. Weil jedoch immer neue Elemente mit sicherheitskritischen Nebenwirkungen aufkamen und obendrein auch noch nicht-standardisierte, also proprietäre Browser-Elemente, die nur bei bestimmter Software wirkte, wurde dies dann in eine Whitelist umgewandelt. Dadurch sind alle unbekannten Elemente ausgeschlossen.
  12. phab:T2671 (Bugzilla:671), phab:T25932
  13. Projektneuheiten 2007
  14. Durch einen seit 2005 bestehenden Software-Fehler (phab:T4700 (Bugzilla:2700)) geschieht das nicht innerhalb von Tag-Extensionen, also etwa durch <ref> eingeschlossen.