Help:Lint errors/misnested-tag

Jump to navigation Jump to search
Other languages:

The misnested tag warning is triggered when some tag or wikitext markup is closed outside of its parent and those tags or marks are overlapped. This linter category has been added to assist editors in fixing wikitext and templates that have instances of misnested tags. Linter will flag a warning for all the examples below. We are treating this as a warning currently.

Example 1:

<b> foo <i> bar </b> baz </i>

Example 2:

''' foo '' bar ''' baz ''

Example 3:

* a
* b <small> c
* d </small>
* e

Example 4:

<small> foo
* a
* b
bar </small>

Example 5:


Example 6:


In Examples 1 and 2, the ‎<i> tag (either in HTML or wikitext form) should be properly nested inside the ‎<b> tag. While the parsers fix this up right now, the output may not always be what the editors intended.

In Example 3, the ‎<small> tag should be closed and reopened on lines 2 and 3.

In Example 4, HTML5 semantics require the ‎<small> tag (and other formatting tags like ‎<span>, ‎<strike>, ‎<em>, ‎<i>, , etc.) to be wrapped around individual elements. 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.

In Example 5, much like previous examples, the output is invalid because that wikitext would expand to <i><span>foo</i></span>. The ‎<i> pair should be either inside or outside the span, e.g. <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.


The following tools can help fix misnested tags:

See also[edit]