Tidy cleans up the PHP parser output to generate
HTML5 output (ex: Parsoid, RemexHTML)
But, a HTML5 based tool cleans up the PHP parser output differently to generate
Change the wikitext to:
Pages are sometimes placed in the error group called "Misnested tag with different rendering in HTML5 and HTML4" even though the real problem is a stray opening or closing tag. If there are "missing end tag" or "stripped tag" errors on the page you are trying to fix, correct all of those first, and the misnested tag error may go away as a result of those fixes. Sometimes, the "missing end tag" error is not even shown, even though it is the real error (see the use case below that begins "This line is highlighted...").
One of the main ways this affects wiki pages is when a span (or any other tag in the list of affected tags below) is used to wrap a list. Because of the interactions between a bug in the PHP parser (which is hard to fix and is the reason for the pwrap-bug-workaround linter category -- Parsoid does not have this bug) and the HTML5 parsing spec, when Tidy is removed, these wrappers will no longer apply to the list.
When a <span> tag is used to wrap a list, use a <div> tag instead. It is the correct way to do it since a list is a block structure and <div> is more appropriate instead of <span> which makes more sense in inline text contexts. This is the recommended fix. See this edit on the italian wikipedia for an example.
But, where appropriate, consider fixes like those in the table below.
|Use case||Alternative markup or suggested fix|
|<span> tag used for formatting (font-size, underline, etc.)||Use the appropriate formatting tag (ex: <small> tag if reducing font-size Example from metawiki )|
|<del> tag wrapping a list to strike through elements of a list||
|<span> tag with empty styles||Get rid of the span tag|
|<span> tag wrapping block tags in all cases||Use a <div> tag instead (add style="display:inline;" if a line break is undesirable)|
|Template that uses <span> tags wrapping a template that uses <div> tags||Change the wrapper template to use <div> tags, as long as the wrapper template is never used inside span tags. OR If the wrapper template applies a class like "nowrap", apply that class within the inner template instead.|
||This line is highlighted as a misnesting error, but the actual problem is a missing span tag at the end of the line. Add the missing end tag (or remove the opening tag, if it is extraneous) to fix the problem.|
Pay special attention to <sub>, <sup>
On pages with mathematical formulae, misnesting of a sub or sup tag might subtly change the meaning of the formula. It is important to fix these cases. See this example from enwiki.
The following tags are affected.
ABBR, BDI, BDO, CITE, DATA, DEL, DFN, INS, KBD, MARK, Q, RB, RP, RT, RTC, RUBY, SAMP, SPAN, SUB, SUP, TIME, VAR