Help:Lint errors/misnested-tag/pl
Źle zagnieżdżone znaczniki to błąd, w którym znacznik HTML lub wikikodu jest zamykany poza znacznikami nadrzędnymi, przez co objęte nimi fragmenty się przegryzają. Ten rodzaj błędu na razie traktujemy jako ostrzegawczy, średni.
Przykład 1:
<b> foo <i> bar </b> baz </i>
Przykład 2:
''' foo '' bar ''' baz ''
Przykład 3:
* a
* b <small> c
* d </small>
* e
Przykład 4:
<small> foo
* a
* b
bar </small>
Przykład 5:
''<span>foo''</span>
Example 6:
<span>foo<br/>
bar</span>
W przykładach 1 i 2, znacznik <i>
(zarówno w HTML jak i odpowiedniku w wikikodzie) powinien być poprawnie zagnieżdżony w znaczniku <b>
. Mimo iż parsery radzą sobie z poprawianiem, widoczny rezultat może nie spełniać oczekiwań edytującego.
W przykładzie 3, znacznik <small>
powinien zostać zamknięty jeszcze w linii 2 i otwarty ponownie w linii 3.
Odnośnie przykładu 4, semantyka HTML5 wymaga aby znacznik <small> (i inne znaczniki formatujące, takie jak <span>, <strike>, <em>, <i> (''foo''), itd.) obejmowały pojedyncze elementy. Ale znacznik <div> może obejmować cały kod do tworzenia list. Ponieważ jest to popularne użycie na stronach w wikikodzie, prawdopodobnie powinniśmy to uznać za semantykę samego wikikodu i nie wymagać poprawy takich przypadków. Wspomnieliśmy o tym tutaj, aby wytłumaczyć, skąd zgłoszenie takiego błędu. Podejmiemy próbę wyłączenia reakcji Lintera na tego typu umiejscowienie znaczników.
To fix this problem, use a <div>
tag to wrap lists.
For common usages such as the small tag, templates such as Template:Smalldiv on English Wikipedia can make such replacements easier.
W przykładzie 5, tak jak w poprzednich, kod wyjściowy HTML jest również nieprawidłowy, ponieważ będzie to
. Para znaczników <i><span>foo</i></span>
<i>
powinna być umieszczona albo w całości w znaczniku span albo powinna go obejmować z zewnątrz, np. <span>''foo''</span>
.
In Example 6, a span tag is wrapped around a line break. Possible resolutions are to remove the manual line break (using a br tag if desired) or wrap each line in its own span tags.
Some templates apply italic formatting to fields like "title" or "magazine". To add an unitalicized note to a field of that type, use {{Noitalic }} around the note.
Narzędzia
Następujące narzędzia pomagają naprawić ten problem:
- WPCleaner: zobacz instrukcję WPCleanera o poprawach błędów wykrytych przez Lintera. Błędne opcje pliku są też wykrywane jako część Wikiprojektu CheckWiki - błąd #539.