Tables
a table the renderer will not draw, served to a reader as a paragraph of pipes
A markdown table falls apart on one bad row, and what reaches the reader is a paragraph of raw pipes.[1][2] Every other check reads the table from the markdown, where its rows are still rows, so a broken table cites its sources correctly and passes them all.[3] This check reads the same markdown the renderer does and refuses what the renderer will not draw.[4] The citation rules those rows are held to are described on Citations.
Refusals
Trailing text
A row that begins with a pipe and does not end with one is refused.[1] The renderer drops that row out of the table and serves it as a paragraph, leaving a table with a header and nothing under it — which is how a citation or a red mark written past the closing pipe breaks a page.[1]
wiki: checks/tables.md:31: the table row “| a | b | {missing}” carries text after its last |, so the renderer drops it out of the table and serves the table as a paragraph of pipes; move what follows the last | into a cell
Cell count
A row that does not divide into as many cells as its header is refused.[2] A ragged row does not lose only itself: the renderer refuses the whole table, header and every other row with it.[2] Cells are divided on every pipe the writer did not escape, and a pipe inside backticks still divides one, because the renderer divides there too.[2]
wiki: checks/tables.md:31: the table row “| e |” has 1 cell where its header has 2, so the renderer refuses the whole table and serves it as a paragraph of pipes; give the row 2 cells, one for each column
Silence
A table that is drawn with fewer rows than the markdown wrote, for a reason neither rule above names, is refused where it starts.[5]
Scope
Every table in a page's markdown is read: a line holding a pipe, followed by the dashed line, and the rows under it up to the first blank line.[4]
Exceptions
A table inside a code sample is not checked, because it is the thing itself rather than a table the page draws.[6] The tables the build writes — the health page's, and a family's member table — are written after the page is rendered, and the check renders each page's own markdown, so neither is counted.[7]
Enforcement
Each problem is listed with every other problem wiki check finds, before the citation checks, because a
table the renderer threw away still cites correctly and their silence is what needs
explaining.[8]
Clearing
A refused row passes once it has one cell for each column and nothing after its last pipe.[1][2]