Header Body Column Count Mismatch
The header has fewer cells than the rows—how is the gap closed?
✅ NormativeSettled. The requirement holds as written.📄 Page ruleCan be applied from the page alone.Read §9.4.2 in the RFC ↗
Every row of a table MUST carry the full column count. Where the header and the body disagree, the short side MUST be padded with empty cells, one per missing position, and MUST NOT be padded with a duplicated or invented value.
When it applies
Header: | Duration | Factor | Trend | ← 3 columns
Body: | 1 | 0.94 | ← Trend all-blank → body reads as 2
| 2 | 0.91 |
Reading the examples. Each one pairs a source page with the output the rule expects. ✅ Sample: the rule applies. ❌ Counter-sample: it looks like it applies and does not, or a rendering got it wrong. A non-conforming output, in red, is shown only for contrast. … marks content left out of an excerpt.
Header wider than the body
The usual cause is a column whose body is uniform or empty — all 1.000, all blank, all —. The
column MUST be restored as cells, empty where the page prints nothing, and its header label MUST be
kept: a column proven only by its header still exists
(Barely-Existing Columns and Headers (§9.3.1)).
Header narrower than the body
The usual cause is a missed span in the header: a group label that carries a colspan, or a stub
that takes a rowspan. The header's spans SHOULD be re-read against the page before the body is
treated as the side that is short.
Padding
- Padding MUST be individual empty cells, one per missing position — not a span across the gap. A span claims the page merged those cells; it did not, they were simply not printed. The same reasoning pads a jagged half cell by cell in Triangles and Matrix Tables (§9.8.2).
- Body cells MUST NOT be fabricated or duplicated to reach a count. An empty cell asserts nothing; a copied value asserts something false about the page. Where it cannot be decided which side is wrong, the output renders the cells that are printed and pads with empty cells rather than guess at content.
The header declares four price columns ($2,000–$5,000)702
Rows like Corporal Punishment print one merged note — "Medical Payments Not Available" — spanning all four instead of per-column values, and parent rows such as 612. Owned Watercraft Liability Coverage print no values at all: their four value positions are empty cells. The coverage labels are indented up to three steps.
Source page

Expected output · excerpt
| Basic Limit Rule# | Coverage F - Medical Payments | $2,000 | $3,000 | $4,000 | $5,000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| … | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| b. not otherwise classified | .58 | 1.15 | 1.73 | 2.30 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| c. Corporal Punishment | Medical Payments Not Available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 611. | Incidental Low Power Recreational Motor Vehicles | .58 | 1.15 | 1.73 | 2.30 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 612. | Owned Watercraft Liability Coverage | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. Outboard, Inboard or Inboard-Outboard engines or Motors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| a) Up to 15 feet: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Up to 50 hp. | 1.73 | 3.45 | 5.18 | 6.33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| … | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Neighbouring rules, and how they differ
More
Rule id tables-header-body-column-count-mismatch · tables columns repair