Help:Extension:Linter/deletable-table-tag

From MediaWiki.org
Jump to: navigation, search

Other languages:
English

This linter category has been added to assist editors in fixing wikitext and templates to ensure that their pages render correctly with a HTML5-based tool like RemexHTML (which will replace Tidy) and Parsoid.

Example:

{| ← Table 1 starts here
| foo
|-
{| ← Table 2 starts here. You can remove this code.
|- ← Row for Table 2. You may remove this too if you wish so.
|  bar
|} ← this closing tag is now useless and should be removed too
|}

In this example, Tidy will delete Table 2 above. But, RemexHTML and Parsoid will not delete that table. This will change how pages look. To prevent this, editors should fix the wikitext and remove Table 2. While the following row-tag need not be removed, we recommend removing it. Since the closing table tag is no longer needed, it should be removed as well.

Alternative fix[edit]

However, in some scenarios, editors might have forgotten to add a <td> tag. In that scenario, the fix is to add a

|

before the start of Table 2 which will fix the problem as well.

Example with screenshots from an enwiki page[edit]

Example of Deletable Table Tag Linter Category.png

The above example shows a composite of three screenshots. On the top is the wikitext with the deletable / extraneous table tag highlighted in blue. On the bottom left, you see how Tidy renders the output (default on Wikipedias). On the bottom right, you see how RemexHTML, the Tidy replacement renders it. Notice that the rendering is not identical at all. If you delete the highlighted table tag, the rendering on the left matches the rendering on the right. You can verify this via the ParserMigration extension (&action=parsermigration-edit).

Of course, an alternative in this scenario is that you might prefer the new rendering in which case you don't need to do anything. When Tidy gets replaced, the new rendering will take effect.

So, the specific fix on a page is context-dependent.

Explanation[edit]

This linter category relates to a table being nested inside another table in a fosterable position (inside a <tr> or |- tag, for example).

Since Tidy removes these tables right now, those table tags (and any styling associated with them) will not show up in the output. However, RemexHTML and Parsoid will preserve those table tags and will render two adjacent tables which might break rendering on pages. To preserve existing rendering with RemexHTML (which will replace Tidy) and Parsoid, this table tag wikitext should be removed. In cases where the wikitext comes from a template, Linter will also tell you what template produced that output, but you will have to investigate the template source to identify the relevant piece of template code that produces that table tag and fix it. See example of a template fix.