Die Linter-Erweiterung erkennt Wikitext-Muster, die problematisch sind und korrigiert oder entfernt werden sollen. Diese Seite zur Validierung gibt einen Überblick über die derzeit durch das Lintwerkzeug erkannten Muster und erklärt, welche Probleme auftreten können oder wie die Anpassung erfolgen soll.

Diese Funktion dient dazu, sicherzustellen, dass Seiteninhalte langfristig wie beabsichtigt gerendert und wiedergegeben werden (beispielsweise durch Software wie RemexHTML oder Parsoid).

Die Spezialseite Lint-Fehler gruppiert die Probleme nach Typen und Priorität.

Das Angebot dieser Mitte 2017 eingeführten Erweiterung ist als Work In Progress eingestuft und weiterhin (Anfang 2020) noch in der Entwicklungsphase.

Hinweise zur Korrektur Bearbeiten

Namensräume und relevante Projektseiten Bearbeiten

Nur relevante Seiten sind zu bearbeiten. Das sind:

  • Artikel (namespace=0).
  • Aktuelle Projekt-, Portal- und Kategorienseiten.
  • Alle Programmierungen in Vorlagen und Modulen sowie Systemnachrichten.
  • Nur vom jeweiligen Benutzer werden Benutzerseiten korrigiert.

Nicht bearbeitet werden:

  • Archivierte Seiten.
  • Diskussionsseiten bzw. analoge Plattformen, sofern Darstellungsfehler auf einen einzelnen Benutzerbeitrag beschränkt bleiben und den Rest der Seite nicht stören.

Falsche Fehler Bearbeiten

Die in den einzelnen Linter-Kategorien gelisteten Seiten können eventuell auch sogenannte „false-positives“ enthalten, also Seiten, auf denen irrtümlich Probleme erkannt wurden.

Beschreibung der Liste Bearbeiten

Seitentitel Lint-Fehler je nach Liste Durch eine Vorlage?
Lemma (bearbeiten | Versionsgeschichte) BODY > SMALL Vorlage:Vorlagename
Lemma (bearbeiten | Versionsgeschichte) s
Lemma (bearbeiten | Versionsgeschichte) small Ausgabe nicht von einer einzelnen Vorlage
  • Lemma ist der Name der Seite, die einen Fehler enthält. Klickt man in der angezeigten Liste auf bearbeiten, so wird man in der Quelltextbearbeitung der Seite direkt zur fehlerbehafteten Zeile weitergeleitet, sofern dies dort lokalisierbar ist.
  • Der Klick auf Versionsgeschichte zeigt den Verlauf der Versionen der Seite an.
  • Falls möglich wird in der mittleren Spalte ein Hinweis auf die Art des Fehlers ausgegeben. Beispielsweise der Name des betroffenen Tags oder unbekannten Parameters.
  • Wurde der Fehler möglicherweise durch eine direkt eingebundene Vorlage ausgelöst, so ist in der rechten Spalte diese Vorlage verlinkt.
    • Das Problem könnte in einem an diese Vorlage übergebenen Parameterwert liegen.
    • Oder die Kombination dieser Parameterwerte mit der Vorlagenprogrammierung könnte Schwierigkeiten machen.
    • Die Programmierung der Vorlage kann generell ungeschickt sein.

Die Listen können zur Abfrage auf einzelne Namensräume eingestellt werden, die Auswahl erfolgt über ein Dropdownmenü. Anschließend auf die Schaltfläche Speichern klicken, um die Liste zu aktualisieren. Ober- und unterhalb der Liste sind Schaltflächen, mit denen vor- und zurückgeblättert werden kann. Über eine direkte Manipulation der URL kann auch die Anzahl der angezeigten Listeneinträge geändert werden (z. B. &limit=1000).

  • Mehrfache völlig identische Fehler werden nur einmal gelistet, etwa wenn durch die gleiche Vorlageneinbindung ausgelöst.
  • Wird der Bereich der Seite bearbeitet, in dem ein schon gelisteter Fehler weiterhin besteht, so wird ggf. eine neue Fehlernummer generiert und die Seite erscheint nunmehr am Ende der Liste unter den Neuzugängen.

Problemtypen Bearbeiten

Es folgt die Beschreibung der einzelnen Abfragen; ggf. mit einem Codebeispiel.

Tabellen-Tag, das gelöscht werden soll Bearbeiten

Diese Seiten haben Tabellen-Tags, die gelöscht werden sollen.

Beispiel (Anmerkungen farblich hervorgehoben):

vorgefundener Code
{| ← <Start-tag Tabelle>
| Zellentext1
|-
{| ← <Start-tag Tabelle 2 ="unnötige Verschachtelung entfernen">
|- ← <Trenner Tabelle 2>
| Zellentext2
|} ← <End-tag Tabelle 2 ="unnötige Verschachtelung entfernen">
|} ← <End-tag Tabelle>
bereinigter Code
{| ← <Start-tag Tabelle>
|-
| Zellentext1
|-
| Zellentext2
|} ← <End-tag Tabelle>

 Info: Einzelnstehende schließende Tabellentags |} können im Seitenquelltext durch Vorlageneinbindungen entstehen, die oberhalb nicht sichtbar ein öffnendes Tabellentag {| einbinden. Es ist immer zu prüfen, ob der Code tatsächlich überflüssig ist.

Falsch verschachteltes Tag mit einer unterschiedlichen Darstellung in HTML5 und HTML4 Bearbeiten

Diese falsch verschachtelten Tags werden sich in HTML5 im Vergleich zu HTML4 unterschiedlich verhalten.

Es geht insbesondere um die folgende Situation:

<span>a

b</span>

<span> steht dabei für ein beliebiges Inline-Tag: ABBR, BDI, BDO, CITE, DATA, DEL, DFN, INS, KBD, MARK, Q, RB, RP, RT, RTC, RUBY, SAMP, SPAN, SUB, SUP, TIME, VAR.

Diese Konstruktion ist unzulässig, weil Inline-Tags (für Schrifteigenschaften) ein Block-Element (für Layout-Anordnung) umschließen.

Tidy interpretiert das in einfachen Fällen folgendermaßen:

<p><span>a</span></p>
<p><span>b</span></p>

Der zukünftige HTML5-Output entspricht hingegen

<p><span>a</span></p>
<p>b</p>

Es ist entsprechend der beabsichtigten Darstellung zu korrigieren; möglicherweise eine völlig andere und angemessenere Codestruktur zu wählen.

Inline-Medien mit Bildunterschriften Bearbeiten

Diese Seiten haben Inline-Medien mit Bildunterschriften.

Im Januar 2022 wurde kurzzeitig bei Bildern, die ohne das Attribut mini (Anzeige einer Bildlegende/Beschriftung) verwendet werden, der hier eingegebene Text nur als Tooltip angezeigt und vom MediaWiki-Parser als Rückgriff (fallback) für das Attribut alt verwendet, falls dieses nicht angegeben wurde. Da diese Bildunterschrift nicht zwangsläufig eine Beschreibung des Bildinhalts darstellt, werden derartige Bilder oder Mediendateien in dieser Fehlerkategorie gelistet. Die zunächst vorgenommene Einstufung der zwei Jahrzehnte alten Syntax als „besonders dringend zu beheben“ ist jedoch fragwürdig. Die Abfrage wurde aufgrund der enormen Anzahl der Fehler kurz danach wieder deaktiviert.

Vorgefundene Syntax

[[Datei:Test.png|120px|Bildtext]]

Bereinigte Syntax, sofern erforderlich

[[Datei:Test.png|120px|alt=Ausführliche Beschreibung für blinde Menschen|Was wird dargestellt?]]

Insbesondere in Vorlagen werden dekorative Icons für Screenreader jedoch ohnehin ausgeblendet, weil sie blinden Menschen keinen Nutzen bringen und diese nur verwirren. Sie erhalten dann auch keine Bildbeschreibung. Hier ist |alt=| zu setzen, wodurch dann auch nicht mehr in der Fehlerkategorie eingetragen wird.

[[Datei:Test.png|120px|alt=|Was wird dargestellt?]]

Wem aus technischen Gründen, etwa wegen langsamer Internetverbindung, zunächst noch keine Grafikdaten angezeigt werden können, der erhält weiterhin den zu erwartenden Inhalt benannt (title=).

Verschiedene Auszeichnungsfehler Bearbeiten

div-span-flip Bearbeiten

Seit August 2018. Solange Tidy aktiv war, wurden div-Tags, die sich innerhalb eines span-Tags befanden, mit diesen getauscht, so dass sich das div immer außen und das span immer innen befand.

Aus
<span><div> formatierter Inhalt </div></span>
wurde durch Tidy
<div><span> formatierter Inhalt </span></div>

Wenn das außen liegende span-Tag Stil- oder Klassenattribute hat, werden diese durch den Wegfall von Tidy unwirksam. Dies kann zu unerwünschten Darstellungen führen.

Beispiel: Vorlage:Navigationsleiste hat diesen Code:

<div class="NavPic"><span class="noviewer">{{{BILD}}}</span></div>

Ist nun im Parameter Bild zusätzlicher Code in Form von div enthalten, so kommt es zu einem Tagkonflikt, weil in einer Inlinesequenz span keine Blockelemente div stehen dürfen. Dies führt in diesem Beispiel zu div in span in div.

{{Navigationsleiste
|BILD=<div style="float: left; padding-top: 10px; padding-bottom: 10px;">[[Datei:No image available-de.svg|105x105px|Irgendein Bild]]</div>
}}

<div class="NavPic"><span class="noviewer"><div style="float: left; padding-top: 10px; padding-bottom: 10px;">[[Datei:No image available-de.svg|105x105px|Irgendein Bild]]</div></span></div>

Erlaubt wäre aber nur span in div oder div in div.

Lösung:

<div class="NavPic"><div class="noviewer">{{{BILD}}}</div></div>
<div class="NavPic noviewer">{{{BILD}}}</div>

Mehrzeilen-HTML5-Tabelle innerhalb einer Liste Bearbeiten

  • Die Anpassung sollte wegen möglicher Darstellungsfehler bald erfolgen.
  • Lint-Fehler: Mehrzeilige HTML-Tabelle in Liste (in Artikeln).
  • Informationen bei MediaWiki (englisch).
  • Eine Tabelle in HTML-Syntax wurde über mehrere Zeilen hinterlegt, deren erste als ein Listenpunkt in Wiki-Syntax deklariert wurde. HTML Tidy hatte die Auflistung entfernt; sie wird nun wirksam.
  • Derartige Vorkommen in der deutschsprachigen Wikipedia werden selten sein, insbesondere nicht im ANR zu erwarten.
Mögliche Auslöser
li > table – ein Aufzählpunkt * oder # steht vor einer Vorlage, die Tabellen erzeugt oder direkt vor einem öffnenden Tabellentag <table>
vorgefundener Code bereinigter Code
* {{Personenleiste}}
# {{Personenleiste}}

Ausgabe mit Listenpunkt oder Nummer am linken Zeilenrand, Zählung wird nicht fortgesetzt

{{Personenleiste}}
{{Personenleiste}}

Mehrere nicht geschlossene Formatierungstags Bearbeiten

Mögliche Ursachen:

  1. <small> oder <big> wurden nicht geschlossen und wirken sich auf den nachfolgenden Text aus.
    HTML Tidy versuchte den betroffenen Textbereich in nicht präzisierter Weise zu begrenzen; dies ist weggefallen.
  2. Nicht geschlossene, vielmehr zweimal nacheinander öffnende Tags: b, big, code, em, font, i, nobr, s, small, strike, strong, tt, u
    HTML Tidy unterstellte, dass das sinnlose zweite Öffnen vielmehr als Schließen gemeint war; dies ist weggefallen.
    Beispiel: <code>foo<code> statt <code>foo</code>
  3. Beginn und Ende innerhalb und außerhalb von Klammern (Wikilinks)
    • Beispiel: <small><small>[[Haus|Häuser</small></small>]]<small><small>[[Haus|Häuser]]</small></small>

Workaround für einen Absatzumbruchfehler Bearbeiten

Diese Seiten haben einen Absatzumbruchfehler, der umgangen werden könnte. Es geht um die Formatierung mit den Zeilenumbruch verhindernden nowrap-Konstrukten.

Drei Ursachen sind möglich:

  1. Die ohne Zeilenumbruch darzustellende Textpassage enthält bereits selbst einen Zeilenumbruch.
    • Zeilenumbruch aus dem Text entfernen.
  2. Ein Element <span style="white-space:nowrap"> enthält ein Block-Element.
    • Ggf. den Zeilenumbruch innerhalb des Block-Elements verhindern.
  3. Eine Tabellenzelle beginnt mit der fraglichen Textpassage oder besteht nur daraus.
    • Gesamte Tabellenzelle mit style="white-space:nowrap" deklarieren.
    • Ggf. <nowiki /> voranstellen.

Die Vorlage:nowrap kann ebenfalls am Problem beteiligt sein.

Selbstschließendes Tag Bearbeiten

Diese Seiten enthalten selbstschließende Tags. (betrifft ausschließlich HTML; ausgenommen sind <br /> und <hr /> sowie <wbr />) Tags, die beispielsweise der Formatierung dienen, werden wie Klammern um den jeweiligen Abschnitt gelegt. Sie bestehen aus einem öffnenden und einem schließenden Tagelement <tag>…</tag>. Sie dürfen nicht wie ein unary-Tag selbstschließend verwendet werden. Die Konstruktion kann darauf hindeuten, dass vergessen wurde, einen beabsichtigten Text einzutragen; ansonsten ist sie sinnfrei und kann eliminiert werden.

Beispiele:

vorgefundener Code
<b>Inhalt<b/>
<span>Inhalt<span/>
</div/>
<div style="clear:both;" />
<s>Inhalt<s/>
bereinigter Code
'''Inhalt'''
<span>Inhalt</span>
</div>
<div style="clear:both;"></div>
<s>Inhalt</s>

Altes Verhalten von Link-Wrapping-Font-Tags Bearbeiten

Zuvor wurden diese Font-Tags innerhalb von Links verschoben, um die Linkfarbe zu ändern. Ab Dezember 2017 geschieht das nicht mehr. Die korrekte Syntax wäre grundsätzlich, dass eine Änderung der Linkfarbe innerhalb der eckigen Klammern einer Verlinkung deklariert werden muss.

vorgefundener Code
<font color=#33AA33>[http://en.wikinews.org/wiki/Hauptseite?uselang=de Wikinews]</font>

<font color="#FFF5EE">[[WP:Babel|Babel:]]</font>
bereinigter Code Ergebnis
[https://en.wikinews.org/wiki/Hauptseite?uselang=de <span style="color:#33AA33">Wikinews</span>]

[[WP:Babel|<span style="color:#ABCDEF">Babel:</span>]]
Wikinews

Babel:

 Info: Verlinkungen sollten zumindest in Artikeln nicht mit anderen Farben überschrieben werden, damit sie als solche erkennbar bleiben. Rotlinks weisen auf fehlende Seiten hin, Blaulinks auf existierende. In Portalen und auf Funktionsseiten, wo die Funktion als Verlinkung etwa in „Karteireitern“ oder „Buttons“ nahegelegt wird, mag die Farbgestaltung geändert werden.

Leerzeichenfehler Bearbeiten

Zu Beginn oder Ende einer als nowrap deklarierten Textpassage steht ein Leerzeichen usw. Dies wurde bisher von HTML Tidy außerhalb des nowrap verschoben und damit eine Möglichkeit zum Umbrechen an dieser Stelle geschaffen. Weil Tidy weggefallen ist, kann die Zeile hier nicht mehr umbrochen werden, im Prinzip sogar eine meterlange Zeile entstehen, jedenfalls die Darstellung der Seite verändert sein. Inhaltlich ist ein solches nowrap, das sich über den sichtbaren Text hinaus erstreckt, sehr zweifelhaft.

Beispiele:

vorgefundener Code
<span style="white-space:nowrap;">a b </span><span style="white-space:nowrap;">x y</span>
<span class="nowrap">{{{1}}}</span>
{{Zeile|[[Toy Story]] <small>(1995)</small> }}&#124;
bereinigter Code
<span style="white-space:nowrap;">a b</span> <span style="white-space:nowrap;">x y</span>
<span class="nowrap">{{#if:trim|{{{1}}}}}</span>
{{Zeile|[[Toy Story]] <small>(1995)</small>}} &#124;

Nicht geschlossenes Anführungszeichen, das das Inhaltsverzeichnis auslaufen lässt. Bearbeiten

Diese Seiten haben ein nicht geschlossenes Anführungszeichen in einer Überschrift, das das Inhaltsverzeichnis auslaufen lässt.

  • Erkannte Fehler in der wirksamen Darstellung sollten behoben werden, da sie sich auf den nachfolgenden Abschnitt auswirken könnten; insbesondere dann auf alles, was auf das Inhaltsverzeichnis folgen würde.
  • Lint-Fehler: Unbeendeter Apostroph-Code in Überschriften (in Artikeln).
  • Informationen bei MediaWiki (englisch).
  • Apostroph-Code für Kursiv- oder Fettschrift in einer Überschrift wurde nicht geschlossen. Dies wurde früher von HTML Tidy automatisch beendet.

Beispiele:

vorgefundener Code
=== ''Das Kunstwerk ===
bereinigter Code
=== ''Das Kunstwerk'' ===

Fehlerhafte Dateioption Bearbeiten

Diese Seiten haben Dateien mit fehlerhaften Optionen. So können beispielsweise Bildparameter doppelt, falsch benannt, widersprüchlich, unbekannt oder ein Pipe-Symbol | zu viel vorhanden sein. Auch die Schreibung der Parameternamen mit Großbuchstaben Mini, Hochkant oder eine Bildlegende die auf px endet, führt zu Fehlern.

  • Erkannte Fehler in der wirksamen Darstellung sollten behoben werden.
    • Eine doppelt vorhandene Angabe ist hingegen einstweilen unschädlich, jedoch irritierend und kann später zu Missverständnissen führen.
    • Eine doppelte Pipe richtet keinen Schaden an und rechtfertigt keinen Edit ausschließlich zu ihrer Entfernung, sie können jedoch, je nachdem wo das Pipe steht, dazu führen, dass die Bildlegende nicht angezeigt wird, dann sollten sie entfernt werden.
  • Lint-Fehler: Nicht erkannte Dateioptionen (in Artikeln).
  • Informationen bei MediaWiki (englisch).
  • Bekannte „falsche Fehler“; ignorieren:
    • baseline bottom middle sub super text-bottom text-top top
    • thumbtime

Beispiele:

vorgefundener Code
[[Datei:Yellow card.svg|mini||Gelbe Karte]] ← Pipe-Symbol doppelt
[[Datei:Yellow card.svg|mini|mini|Gelbe Karte]] ← mini doppelt
[[Datei:Yellow card.svg|thumb|mini|Gelbe Karte]] ← thumb = mini
[[Datei:Yellow card.svg|mini|linkss|Gelbe Karte]] ← linkss „s“ doppelt
[[Datei:Yellow card.svg|mini|links|rechts|Gelbe Karte]] ← „links“ und „rechts“ widersprechen sich.
[[Datei:Yellow card.svg|mini|rahmenlos|Gelbe Karte]] ← „mini“ und „rahmenlos“ widersprechen sich.
[[Datei:Yellow card.svg|mini|links|hochkant|0,6|Gelbe Karte]] ← Parameter hochkant falsch
bereinigter Code
[[Datei:Yellow card.svg|mini|Gelbe Karte]]
[[Datei:Yellow card.svg|mini|links|Gelbe Karte]]
[[Datei:Yellow card.svg|rahmenlos|Gelbe Karte]]
[[Datei:Yellow card.svg|mini|links|hochkant=0.6|Gelbe Karte]]

In Galerien können auch fehlende Zeilenumbrüche zwischen zwei Bilddateien zu einer Fehldarstellung oder hier unwirksame Bildparameter mini hochkant links rechts px … zu Fehlern führen.

vorgefundener Code
<gallery>
Yellow card.svg||Gelbe Karte ← Pipe-Symbol doppelt
Red card.svg|120px|Rote Karte ← unwirksame Angabe px
Card back 16.svg|Grüne RückseiteCard back 15.svg|Rote Rückseite ← zwei Bilder in einer Zeile
</gallery>
bereinigter Code
<gallery>
Yellow card.svg|Gelbe Karte
Red card.svg|Rote Karte
Card back 16.svg|Grüne Rückseite
Card back 15.svg|Rote Rückseite
</gallery>

In der Vorlage {{Galerie}} führt zudem eine nicht numerische Angabe im Parameter Größe zu einer Fehldarstellung. Hier dürfen nur Zahlzeichen |Größe=200 stehen.

Falsch verschachtelter Inhalt Bearbeiten

Diese Seiten haben falsch verschachtelte Inhalte. Ursache können Tabellen-Inhalte sein, denen Pipe bzw. ! zu Beginn einer Tabellenzelle fehlt.

Beispiel:
Der Inhalt befindet sich in einem nicht darstellbaren Bereich der Tabellenstruktur und kann so nicht innerhalb der Tabelle ausgegeben werden. In diesem Beispiel stünde der Text oberhalb der Tabelle. Möglicherweise fehlt ein Element für die Überschrift |+, eine Tabellenzellenzuweisung | oder der Kopfzeilencode !.

vorgefundener Code Ausgabe
{| class="wikitable"
|-
Textfragment
|-
| Zelleninhalt
|-
| Zelleninhalt
|}

Textfragment

Zelleninhalt
Zelleninhalt
bereinigter Code Ausgabe
{| class="wikitable"
|-
| Textfragment
|-
| Zelleninhalt
|-
| Zelleninhalt
|}
Textfragment
Zelleninhalt
Zelleninhalt

Falsch verschachtelte Tags, die ordnungsgemäß verschachtelt werden sollten. Bearbeiten

Diese Seiten haben falsch verschachtelte Tags, die korrigiert werden könnten.

Wenn ein Element geöffnet ist und danach ein weiteres Element geöffnet wird, muss das letztere erst wieder geschlossen werden, bevor das erste Element geschlossen werden darf.

  • Das gilt ebenso für Konstrukte mit Apostroph.
    • Diese werden als i (italic) für Kursivschrift (Doppel-Apostroph) bzw. b (bold) für Fettschrift (Dreifach-Apostroph) markiert.

Inline-Elemente (für Schrifteigenschaften) können keine Block-Elemente (für Layout-Anordnung) umschließen.

  • Ggf. können die Schrifteigenschaften direkt beim Block-Element spezifiziert werden.
  • Das selten (eher in der Vorlagenprogrammierung) benutzte <p> darf keine anderen <p> und auch keine Block-Elemente enthalten.
  • Gleichartige semantische Inline-Elemente dürfen nicht ineinander verschachtelt werden; ein <small> darf kein anderes <small> mehr enthalten.
  • Inline-Elemente dürfen sich nicht widersprechen; <small> darf kein <big> umschließen und umgekehrt.
  • Attribute der Tags (womöglich auch Attribute der Tabellenzellen und -zeilen) werden berücksichtigt.
  • Der Namensraum (XML) ist bei Attributen unzulässig; also insbesondere xml:lang=.

Beispiele:

vorgefundener Code Ausgabe
''' fett '' Text ''' kursiv ''

* a
* b <small>(Anmerkung)
* c (Anmerkung)</small>
* d

<s>durch und <u>unterstrichen</s></u>

fett Text kursiv

  • a
  • b (Anmerkung)
  • c (Anmerkung)
  • d

durch und unterstrichen

bereinigter Code Ausgabe
'''fett''' Text ''kursiv''

* a
* b <small>(Anmerkung)</small>
* c <small>(Anmerkung)</small>
* d

<s>durch und <u>unterstrichen</u></s>

fett Text kursiv

  • a
  • b (Anmerkung)
  • c (Anmerkung)
  • d

durch und unterstrichen

Mehrere Doppelpunkte Bearbeiten

Diese Seiten haben Links mit mehreren vorangestellten Doppelpunkten.

In einigen Fällen ist es sinnvoll, wenn im Wikilink-Format ein Doppelpunkt vorangestellt wird, um eine Verlinkung statt eines anderen Effekts zu erreichen (Medieneinbindung, Kategorisierung, Interlanguage).

Mehrfache Doppelpunkte vor Wikilink-Zielen wurden früher stillschweigend ignoriert. Mittlerweile führt das zur syntaktischen und damit fehlerhaften Interpretation der Zielangabe.

Beispiel
vorgefundener Code Ausgabe
[[::Datei:Beispiel.jpg]]
[[::Datei:Beispiel.jpg]]
bereinigter Code Ausgabe
[[:Datei:Beispiel.jpg]]
Datei:Beispiel.jpg

Links in Links Bearbeiten

Links in Links

Ein offenbar geklammertes Weblink enthält eine weitere Verlinkung. Das ist nicht möglich; ein Linkziel kann nur einen einzigen anklickbaren Bereich haben. Möglich sind auch Fehler im Bereich von Vorlagenparametern, die als Linktext dienen, die Inhalte dürfen keine [[]] (oder []) enthalten.

Beispiel
vorgefundener Code Ausgabe
[http://example.org/ Website der [[Example]]-Organisation]
Website derExample-Organisation
bereinigter Code Ausgabe
[http://example.org/ Website] der [[Example]]-Organisation
Website der Example-Organisation

Fehlendes End-Tag Bearbeiten

Diese Seiten haben fehlende End-Tags.

  • Anpassung nach Bedarf, geringe Priorität.
  • Lint-Fehler: Fehlendes End-Tag (in Artikeln).
  • Informationen bei MediaWiki (englisch).
  • Bekannte „falsche Fehler“:
    • Zuweilen werden trotz absolut korrektem Code die behaupteten Elemente nicht geschlossen, obwohl sie vollständig sind. Möglicherweise wurden Tagbeginn und Tagende eingerückt oder ungleich hinter Aufzählungszeichen gesetzt.

Fehlende schließende Tags können unerwünschte Effekte bewirken, etwa wenn ein verkleinert geschriebener Teilbereich sich bis zum Ende erstreckt und nicht wie beabsichtigt beendet wurde.

  • Das gilt ebenso für Konstrukte mit Apostroph.
    • Diese werden als i (italic) für Kursivschrift (Doppel-Apostroph) bzw. b (bold) für Fettschrift (Dreifach-Apostroph) markiert.

Die auf die Schriftgestaltung innerhalb von Fließtext abzielenden „inline“-Elemente dürfen nicht durch Absätze oder „Block“-Elemente unterbrochen worden sein. Das betrifft insbesondere <span>, <code> und <small>. Sie gelten nur für unmittelbar zusammenhängende Zeilen.

Beispiele (Anmerkungen farblich hervorgehoben):

vorgefundener Code
<small>Text ← <Info ein ="schließendes Tag fehlt">
<small>Text<small><Info Slash =" / fehlt im schließenden Tag">
<small>Textbeginn ← <Info Absatz="soll Kleinschreibung erhalten"><Info Leerzeile="generiert neuen Absatz">
Neuer Absatz</small><Info Hier="nicht mehr wirksam, dafür überflüssiger Abschluss">
bereinigter Code
<small>Text</small>

Fehlendes End-Tag in der Überschrift Bearbeiten

Diese Seiten haben fehlende End-Tags in Überschriften.

Betrifft alle Tags, die in einer Überschrift geöffnet, aber nicht geschlossen wurden. Handelt es sich dabei um Fett- oder Kursivtags, so werden diese, wie bisher, in der höher eingestuften Linterkategorie Nicht geschlossenes Anführungszeichen … gelistet. Ein Sonderfall sind hierbei diese Tags h1 h2 h3 h4 h5 h6, die selbst eine Überschrift generieren.

vorgefundener Code
== Text <small>kleiner Text ==  ← <Info ein ="schließendes Tag fehlt">
<h2 style="background:#ABCDEF; padding:0 5px;"> Text <h2><Info Slash =" / fehlt im schließenden Tag">
<h2 style="background:#ABCDEF; padding:0 5px;"> Text      ← <Info ein ="schließendes Tag fehlt">
bereinigter Code
== Text <small>kleiner Text</small> ==
<h2 style="background:#ABCDEF; padding:0 5px;"> Text </h2>

Ignoriertes Tag Bearbeiten

Diese Seiten haben ignorierte Tags.

Fehler innerhalb des öffnenden Tag (etwa bei der Wertzuweisung an Attribute) führen ebenfalls dazu, dass ein Tag ignoriert wird.

Beispiel (Anmerkung farblich hervorgehoben):

vorgefundener Code
Text</small><Info ein ="öffnendes Tag fehlt">
<span style"color:#000000">Text</span><Info Gleichheitszeichen="fehlt vor Attributwert">
bereinigter Code
Text
<small>Text</small>
<span style="color:#000000">Text</span>

Veraltetes HTML-Tag Bearbeiten

Diese Seiten verwenden veraltete HTML-Tags.

Beispiele:
Als „obsolet“ oder „veraltet“ eingestufte Tags sind in der Tabelle gelistet.

Tag und Funktion Ersatz im Artikelbestand
<font>…</font>
Schrifteigenschaften zuweisen
<span style="…"> immer entfernen oder ersetzen
<center>…</center>
Schrift, Tabellen oder Medien zentriert anordnen; siehe Hilfe:Textgestaltung/Zentrieren
style="text-align:center;"
class="centered"
class="center"
möglichst ersetzen
<strike>…</strike>
Text durchstreichen[1]
<s>…</s> möglichst entfernen
<big>…</big>
Text vergrößern[1]
<span style="font-size:larger"> gelegentlich ersetzen oder entfernen
<tt>…</tt>
Einzelne Worte oder einen Textblock in Schreibmaschinenschrift darstellen
<span style="font-family: monospace,monospace;">…</span>

<code>…</code>
<code style="border:0; background:#FFFFFF;">…</code>
<syntaxhighlight lang="text">…</syntaxhighlight>

gelegentlich andere Lösung suchen; kann auch bis auf Weiteres belassen werden
  1. a b nicht im Artikel verwenden

Große Tabellen, die auf dem Handy schlecht zu sehen sind Bearbeiten

Diese Seiten haben Tabellen mit mehr als fünf Spalten oder Tabellen, die ineinander verschachtelt sind und dadurch mehr als fünf Spalten erzeugen würden.

Im Mai 2023 wurde eine neue Linterkategorie freigeschaltet, die zunächst einmal der Entwicklung in diesem Bereich dient. Sie ist daher kein aktiver Bestandteil der Spezial:LintErrors-Tabelle. Welche Priorität sie haben wird ist daher noch nicht bekannt.

Vorgefundene Syntax

{| class="wikitable"
|+ Tabellenüberschrift
|-
! Überschrift1 !! Überschrift2 !! Überschrift3 !! Überschrift4 !! Überschrift5 !! Überschrift6
|-
| Beispiel || Beispiel || Beispiel || Beispiel || Beispiel || Beispiel
|-
| Beispiel || Beispiel || Beispiel || Beispiel || Beispiel || Beispiel
|-
| Beispiel || Beispiel || Beispiel || Beispiel || Beispiel || Beispiel
|}

Eine einfache Fehlerbehebung ist derzeit (Mai 2023) nicht möglich.

Vorgefundene Syntax

{{Babel}}
|-
|
{| cellpadding="1" cellspacing="0" style="float:right;border:solid #ff0000 1px;margin:1px;width:238px;background:#ffffdf"
|-
| style="width:45px;height:45px;background:#ffffff; text-align:center;font-size:10pt"| [[Bild:Coat of arms of East Germany.svg|40px|none|Auferstanden aus Ruinen]]
| style="background:#000000;width:2px"|
| style="background:#ff0000;width:2px"|
| style="background:#ffff00;width:2px"|
| style="font-size:8pt;padding:4pt;line-height:1.25em"| Dieser Benutzer lebt im '''[[Beitrittsgebiet]]'''. Er ist deshalb <u>kein</u> '''[[Edmund Stoiber|kluger Bevölkerungsteil]]'''. Aber dafür entscheidet er <u>schon wieder</u>, wer Bundeskanzler wird.
|}
|}

Bereinigte Syntax: Reduzierung der Spalten in der Tabelle durch die Verwendung von Border statt einer Zelle zur Einfärbung der Streifen

{{Babel}}
|-
|
{| cellpadding="1" cellspacing="0" style="float:right; border:solid #ff0000 1px; margin:1px; width:238px; background:#ffffdf:"
|-
|style="width:45px;height:45px; background:#ffffff; border-right:6px solid;"| [[Bild:Coat of arms of East Germany.svg|40px|alt=|zentriert|Auferstanden aus Ruinen]]
|style="border-left:3px solid #ff0000;"|
|style="font-size:8pt;padding:6px;line-height:1.25em; border-left:4px solid #ffff00;"| Dieser Benutzer lebt im '''[[Beitrittsgebiet]]'''. Er ist deshalb <u>kein</u> '''[[Edmund Stoiber|kluger Bevölkerungsteil]]'''. Aber dafür entscheidet er <u>schon wieder</u>, wer Bundeskanzler wird.
|}
|}

Auslösende Situationen Bearbeiten

Unzulässige Einrückungsunterdrückung Bearbeiten

Der erfolglose Versuch des Verhinderns einer durch Vorlagen vorgesehenen Texteinrückung durch die Verwendung eines Doppelpunktes am Zeilenanfang führt gleich zu zwei Linter-Fehlern:

  1. Fehlendes End-Tag
  2. Ignoriertes Tag

Das kann insbesondere im Zusammenhang mit der Vorlage:Zitat auftreten, die als Blockzitat konzipiert ist. Der Doppelpunkt am Zeilenanfang ist zu entfernen, da er eines Tages wirksam werden kann; außerdem im Artikelnamensraum nur in Verbindung mit einer Definitionsliste eingesetzt wird. Die Vorlageneinbindung sollte immer direkt am Zeilenanfang und nicht im laufenden Fließtext stehen.

Beispiel:

vorgefundener Code nicht eingerückt
: {{Zitat|Text=Beispielzitat}}

„Beispielzitat“

bereinigter Code wie vorgesehen eingerückt
{{Zitat|Text=Beispielzitat}}

„Beispielzitat“

Darstellungsfehler durch Vorlagen in Aufzählungen Bearbeiten

Ebenso ist die Verwendung der Vorlage:Zitat nicht innerhalb einer Aufzählung möglich, hier sollte stattdessen auf die Inlinevariante {{"}} zurückgegriffen werden.

Beispiel:

vorgefundener Code das Zitat wird in die nächste Zeile gesetzt jedoch nicht eingerückt
* In der Musterzeitung schrieb Max Mustermann: {{Zitat|Text=Beispielzitat}}
* Weitere Aufzählung
  • In der Musterzeitung schrieb Max Mustermann:

„Beispielzitat“

  • Weitere Aufzählung
bereinigter Code eingerückt
* In der Musterzeitung schrieb Max Mustermann:
{{Zitat|Text=Beispielzitat}}
* Weitere Aufzählung
  • In der Musterzeitung schrieb Max Mustermann:

„Beispielzitat“

  • Weitere Aufzählung
bereinigter Code Alternativvorlage
* In der Musterzeitung schrieb Max Mustermann: {{"|Text=Beispielzitat}}
* Weitere Aufzählung
  • In der Musterzeitung schrieb Max Mustermann: „Beispielzitat“
  • Weitere Aufzählung

Mehrfachbelegtags im Poem Bearbeiten

Führt zu Fehlern der Gruppe veraltetes HTML tt.

<poem>
;Wörtliche Übersetzung<ref name="Bachmaier" />

Werte und makellose Tochter,
allheilige Herrin/Herrscherin,
Erhöre mich, Unbefleckte,
der ganzen Welt Herrin,
</poem>
Auslöser hier ist das <ref name="Bachmaier" />

Poem soll nur den reinen Textauszug enthalten, Belegtags in den umgebenden Fließtext setzen.

<poem>
'''Wörtliche Übersetzung'''

Werte und makellose Tochter,
allheilige Herrin/Herrscherin,
Erhöre mich, Unbefleckte,
der ganzen Welt Herrin,
</poem>
(Auszug aus Martin Bachmaier: ''Agni Parthene auf Deutsch – O reinste Jungfrau, Herrscherin.''<ref name="Bachmaier" />)

Hilfsmittel und Werkzeuge Bearbeiten

Einzelseitenanalyse auf Spezialseite Bearbeiten

Seit Anfang 2022 wird ermöglicht, gezielt die in unterschiedlichen Linterkategorien angezeigten Fehler einer einzelnen Seite anzuzeigen, um so besser alle Fehler der Seite beheben zu können. Dafür wird am Ende der Übersichtsliste (Spezial:LintErrors) ein Eingabefeld angeboten, in das der Seitentitel eingegeben werden kann:

Simulation
Suche nach Seiten mit Lint-Fehlern anhand des Präfixes des Seitentitels oder des vollständigen Titels

Namensraum:

Weitere hinzufügen …

Bitte gib ein Titelpräfix oder einen vollständigen Titel ein:

 

Suche nach einem bestimmten Seitentitel oder nach allen Seiten mit einem gemeinsamen Titelpräfix

_
Suche nach einem bestimmten Seitentitel
 
Suche nach allen Seiten, die dem Titelpräfix entsprechen

Anwenden

Als Ergebnis wird eine Tabelle mit allen erkannten Fehlern ausgegeben, die sich wie gewohnt direkt anspringen lassen. Hinzugekommen ist eine Spalte, in der die jeweilige Fehlerkategorie angezeigt wird.

Mittels des URL-Parameters ?pagename= lässt sich die Spezialseite auch auf eine bestimmte Seite fokussieren.

Namensraumanalyse Bearbeiten

Die Linterfehlerliste kann aufgeteilt nach einem Namensraum oder seit November 2023 auch mehreren Namensräumen analysiert werden. Dafür kann aus dem Eingabefeld der Namensraum ausgewählt und weitere hinzugefügt werden. Oberhalb der Eingabefelder wird angezeigt nach welcher Fehlerkategorie gesucht wird:

Simulation
Suche nach Seiten mit Lint-Fehlern anhand des Präfixes des Seitentitels oder des vollständigen Titels

Diese Seiten haben „Fehlerart“
Namensraum:

Benutzer   
Weitere hinzufügen …

Bitte gib ein Titelpräfix oder einen vollständigen Titel ein:

Bau
 
Suche nach einem bestimmten Seitentitel
_
Suche nach allen Seiten, die dem Titelpräfix entsprechen

Anwenden

Seit Ende Juni 2022 kann innerhalb des Namensraumes durch Eingabe eines „Präfix“ (Anfangszeichen, -buchstaben oder kompletter Seitenname) gezielt nach Fehlern in bestimmten Seiten gesucht werden. So kann man beispielsweise alle Fehler in den eigenen Unterseiten oder zu einem bestimmten Themengebiet finden. Es kann auch ein einzelner Buchstabe angegeben und so alle Seiten gesucht werden, die mit diesem beginnen.

Filter verwenden Bearbeiten

Seit Anfang März 2023 können zusätzliche Filter eingeschaltet werden, die es erlauben die Listen nach bestimmten Tags zu analysieren oder abzufragen, ob eine Seite Vorlagen einbindet oder nicht:

Simulation
Suche nach Seiten mit Lint-Fehlern anhand des Präfixes des Seitentitels oder des vollständigen Titels

Namensraum:

Wikipedia   
Weitere hinzufügen …

Bitte gib ein Titelpräfix oder einen vollständigen Titel ein:

F

Suche nach einem bestimmten Seitentitel oder nach allen Seiten mit einem gemeinsamen Titelpräfix

 
Suche nach einem bestimmten Seitentitel
_
Suche nach allen Seiten, die dem Titelpräfix entsprechen

Nach Tag-Namen filtern

b|  

Nach Vorlagenstatus filtern

Kein Filter  

Anwenden

Öffnet man diese Felder so bietet

  • das obere (Nach Tag-Namen filtern) eine alphabetische Auswahl der Tagnamen, aus der das gewünschte Tag ausgewählt werden kann, nach dem gefiltert werden soll.
  • das untere (Nach Vorlagenstatus filtern) die Möglichkeit Seiten zu suchen die keine Vorlagen verwenden oder die Vorlagen verwenden.

Wichtig ist dabei, dass zusätzlich auch ein Titelpräfix oder Seitentitel angegeben werden muss, da sonst eine Fehlermeldung (Namensraum und/oder Seitenname nicht gefunden oder falsch geformt) ausgegeben wird.

Quelltextexpansion Bearbeiten

Wenn eine Vorlage beteiligt ist, lässt sich aus dem Quelltext der dargestellten Seite nicht entnehmen, wie der resultierende Wikitext schließlich aussieht.

Es gibt zwei Möglichkeiten, sich den analysierten Text anzusehen, um die Fehlerwirkung zu verstehen:

  1. Über die Spezialseite Vorlagen expandieren
    • Der verdächtige Quelltext wird in das Eingabefeld kopiert.
    • Auf die Schaltfläche Vorlage expandieren klicken.
    • Im Feld „Ergebnis“ erscheint der ausgewertete Wikitext.
  2. Über die Wikipedia:Spielwiese:
    • {{#tag:syntaxhighlight|{{: Seitenname }}}}
      als Quelltext angeben.
    • Seitenvorschau ansehen.
    • Der ausgewertete Wikitext von Seitenname erscheint.

HTML-Validierer Bearbeiten

Die Gültigkeit der Tags im Wikitext lässt sich mit Validierern analysieren und Unstimmigkeiten können genauer lokalisiert werden.

  • Der Quelltext der Seite selbst oder nach Quelltextexpansion kann in Eingabefelder kopiert werden.
  • Wahrscheinlich gibt es eine Beschwerde, dass es sich nicht um ein richtiges HTML-Dokument handelt; also dass <!DOCTYPE html> und ein <head> fehlen würden.
  • Der sonstige Wikitext ist dem Validierer unverständlich; es kommt nur auf die Struktur der HTML-Tags an.

Einige Validierer:

Bei den vorgenannten gibt es ein Eingabeformular, in das Quellcode eingefügt und dann analysiert werden kann.

  • Auch die URL der Wiki-Seite kann eingegeben werden und das vom Wiki-Server produzierte HTML-Dokument dann analysiert werden. Hier ist aber fraglich, ob der Wiki-Server seinerseits schon Nachbesserungen vorgenommen hatte.

Seiteninformationen Bearbeiten

In den Seiteninformationen werden die Fehler nach Art und Gesamtzahl gelistet, jedoch ohne Einzelheiten.

Migrationswerkzeug Bearbeiten

Das Migrationswerkzeug ist ein Modus der Quelltextbearbeitung, bei dem in der jeweiligen Seitenvorschau nicht wie üblich eine Seitendarstellung erscheint, sondern in zwei Spalten nebeneinander angezeigt wird, wie bisherige und zukünftige Aufbereitung den Lesern präsentiert werden.

Gadget Bearbeiten

Das Benutzerskript lintHint zeigt die LintErrors-Analyse live – diese kann für eine bestimmte einzelne Seitenversion abgerufen, und Wikitext-Sequenzen können interaktiv geprüft werden.

Das Benutzerskript Benutzer:Hgzh/js/lintTableHelp.js fügt zu LintErrors eine zusätzliche Spalte hinzu, mit denen erkannt werden kann, ob der LintError bereits seit mehr als 48 h besteht. Eine weitere Spalte gibt Aufschluss darüber, ob auf der jeweiligen Seite die Vorlage {{In Bearbeitung}} gesetzt ist. Theoretisch wäre es auch möglich, auf dieser Seite etwaige Benutzernamensraum-Opt-outs anzuzeigen.

Statistik Bearbeiten

Nach Namensräumen gegliederte Fehlertypen. (fireflytools)

Hintergrund Bearbeiten

In den ersten Jahren wurde der expandierte Wikitext mit dem Werkzeug HTML Tidy nachbearbeitet.

  • Dieses hatte bei fehlerhaften Verschachtelungen nachgeholfen und versucht, eine geeignete Reihenfolge öffnender und schließender Tags zu erraten.
  • Diese Software (von 1998) ist in die Jahre gekommen und arbeitet unter heutigen Bedingungen nicht mehr zuverlässig.
  • Wenn die Angaben im Wikitext syntaktisch falsch sind, kommt es rein zufällig und nach jeweiliger Rückfallposition der generierenden Software zu irgendeinem Ergebnis. Es gibt aber keine Gewähr, dass diese undefiniert zustandegekommene Präsentation von jeder folgenden Softwarekonstellation auch genauso generiert wird, da die Bedingungen für ihre Erzeugung ja eben nicht spezifiziert sind.
  • Im Dezember 2017 wurde Tidy für die deutschsprachige Wikipedia durch „Remex“ ersetzt.

Zukünftig sollen die Wikiprojekte zu eindeutig interpretierbarer Quelltextsyntax konvergieren.

  • Die Parser-Software, die auf 2004 zurückgeht („PHP-Parser“ genannt), soll grundsätzlich durch ein anderes und verbessertes System („Parsoid“) ersetzt werden.
    • Dabei soll auch der aufwändige zweite Schritt der Nachbearbeitung mit HTML Tidy oder analog weitgehend wegfallen und gültiger Wikitext sollte auch syntaktisch richtig und damit eindeutig in der Bedeutung sein.
  • Jeder den Syntaxregeln entsprechende Wikitext muss dabei das vorgesehene Ergebnis liefern, aber das Resultat fehlerhafter Texte ist nicht vorhersagbar.

Funktionsprinzip:

  • Parsoid stellt während seiner Tätigkeit beim Speichern einer neuen Seitenversion Fehler fest.
  • LINT macht nichts anderes, als eine Datenbank zu unterhalten, in der diese Fehler pro Seite gesammelt und verwaltet werden, und generiert einige Ansichten der Datenbank auf der Spezialseite.

Siehe Parsermigration zu weiteren Einzelheiten.