Skip to content
§9.1.5

Is This Even a Table

Aligned content—a table or just a layout?

✅ NormativeSettled. The requirement holds as written.📄 Page ruleCan be applied from the page alone.Read §9.1.5 in the RFC ↗

The requirement

A region MUST be rendered as a table when, and only when, its rows and columns encode a relation — when the position of a value in the grid is what gives the value its meaning. A region that encodes no relation MUST NOT be rendered as a table.

When it applies

This is the first decision about a region, and every other table rule depends on it. A single page often shows the whole spectrum at once: real grids, gridded legends, ungridded label: value spec stacks, address blocks, and two-column prose that looks like a grid but is not.

Sketch of the printed page — layout, not output
Same page, three regions:

┌─────────────┬───────────────┐      Motor: 1/2 HP, 115V      ← ungridded spec
│ (1) Premium │ Base rate …   │      Speed: 3-speed              stack: table? text?
│ (2) Losses  │ Incurred …    │
└─────────────┴───────────────┘      Acme Corp
  ↑ gridded legend: table?           123 Main St    ← address block: never a table

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.

The test

The question is: would this be a <table> in well-written HTML, or a <div> positioned with CSS?

A border alone does not make a region a table, and alignment alone is not always enough either. The relation decides.

Strong evidence it is a table Strong evidence it is not
explicit row and column headers running prose, however neatly it is set in columns
repeated records under a shared schema address blocks
a printed grid, or consistent column tracks running down the block text sitting beside a logo
a legend printed as label/definition records inside a grid decorative alignment with no record schema behind it
01

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

The page starts straight into data rows with no header row4x

Column meaning has to be inferred from the values, which is the edge of the relation test: repeated records under one schema still make it a table, and the output MUST NOT invent the missing header row.

Source page
Is This Even a Table — The page starts straight into data rows with no header row. Source page.
Expected output · excerpt
N3787500W11567500 89001 Alamo Lincoln
N3787500W11566500 89001 Alamo Lincoln
N3787500W11565500 89001 Alamo Lincoln
N3787500W11564500 89001 Alamo Lincoln
N3787500W11563500 89001 Alamo Lincoln
N3787500W11562500 89001 Alamo Lincoln
…
Is This Even a Table · Source page

The page starts straight into data rows with no header row

Is This Even a Table — The page starts straight into data rows with no header row. Source page.

Legends and static key-value references are tables

The "Column | Description" box under a rate grid, explaining what (1)–(11) mean, MUST be rendered as a table.

Sketch of the printed page — layout, not output
| Column | Description     |
| (1)    | Earned premium  |
| (2)    | Incurred claims |

It looks decorative, but it maps one thing to another, and a mapping is a relation. Omitting it drops real content off the page.

Prose and address blocks are never tables

Two-column running prose only looks like a grid — its columns carry no meaning, they are a typesetting choice. The same holds for an address block, or a caption stacked beside an image. These MUST NOT be rendered as tables.

02

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

A 10-K cover10k

Yes ✓ No check-mark lines and an address block, both column-shaped, neither tabular. The genuine table is the small Title of each class / Trading Symbols / Exchange grid.

Source page
Is This Even a Table — A 10-K cover. Source page.
Expected output · excerpt

Delaware State or other jurisdiction of incorporation or organization

51-0724981 (I.R.S. Employer Identification No.)

4820 Larkspur Avenue, Hartland, Ohio (Address of principal executive office)

44902 (Zip Code)

Registrant's telephone number, including area code (440) 555-2100

Securities registered pursuant to Section 12(b) of the Act:

Title of each class Trading Symbols Name of each exchange on which registered
Class A Common Stock MDI.A New York Stock Exchange
Class B Common Stock MDI.B New York Stock Exchange
0.000% Senior Notes due 2025 MDI25 New York Stock Exchange
1.125% Senior Notes due 2027 MDI27 New York Stock Exchange
2.150% Senior Notes due 2028 MDI28 New York Stock Exchange
1.500% Senior Notes due 2030 MDI30 New York Stock Exchange
2.000% Senior Notes due 2034 MDI34 New York Stock Exchange
1.625% Senior Notes due 2035 MDI35 New York Stock Exchange
2.375% Senior Notes due 2039 MDI39 New York Stock Exchange
0.500% Senior Notes due 2041 MDI41 New York Stock Exchange
2.625% Senior Notes due 2059 MDI59 New York Stock Exchange

Securities registered pursuant to Section 12(g) of the Act: NONE

Indicate by check mark if the Registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes ✓ No

…

Is This Even a Table · Source page

A 10-K cover

Is This Even a Table — A 10-K cover. Source page.
03

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

Two real calculation tables surrounded by narrative paragraphsxl

The prose is not a table however neatly it sits between them. Each column header is one label wrapped over two lines, so each is a single header cell, not a two-row tier (see Header Wrap vs Real Tier (§9.3.2)).

Source page
Is This Even a Table — Two real calculation tables surrounded by narrative paragraphs. Source page.
Expected output · excerpt, table 1 of 2

Line I

The effective income tax rate on investment income is calculated as a weighted average of the effective tax rate on investments and the tax rate for capital gains, with the rates of return used as weights.

Rate of Return Federal Income Tax Rate
Net Investment Income Earned 1.94% 20.8%
Net Realized Capital Gains 0.05% 21.0%
1.99% 20.9%

The average rate of federal income tax is determined by applying appropriate tax rates to the distribution of investment income earned for the current year for Anchorlight Group.

…

Is This Even a Table · Source page

Two real calculation tables surrounded by narrative paragraphs

Is This Even a Table — Two real calculation tables surrounded by narrative paragraphs. Source page.

Label / value blocks without a grid

Two columns of labels and values with no ruled grid are a table or key-value content depending on the data, not the layout. The same two whitespace tracks can hold either.

The rows are… Rendering Examples
Records of one kind — every label is paired with the same kind of value (an amount per component, a factor per year) a table, even with no header row and no ruled grid a Working Capital panel (see Borderless Whitespace Tables (§9.1.1)); the Trend Factors block of wwa below
Different kinds of fact — each label names its own field (a filing number, a state, a date) key-value content — see Forms and Key-Value Regions (§10.1) filing metadata, a spec sheet, a biography's Name: / Affiliation: lines
Headline figures — labelled KPIs set as tiles or a highlight panel stat tiles — see Stat Tiles (§5.11) Out-of-home +26.5%

A bold label with its value flowing after it — blower spec sheets and similar — is the second kind.

Sketch of the printed page — layout, not output
**Motor**: 1/2 HP, 115V      ← no ruled grid, value flows after the label
**Airflow**: 1,200 CFM

A stack whose labels name different kinds of fact MUST NOT be rendered as a table unless a ruled grid is printed around it; it is key-value content, and every line of it MUST still appear in the output. A stack whose rows are records of one kind MUST be rendered as a table.

04

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

The SERFF filing metadata is a label:value stackratefiling

The SERFF filing metadata is a label:value stack — SERFF Tracking #, State at the top, a separate Disposition block below. Both read as two columns; neither is a table. The two ruled grids further down the same page are.

Source page
Is This Even a Table — The SERFF filing metadata is a label:value stack. Source page.
Expected output · excerpt, table 1 of 2
  • SERFF Tracking #: MDN-047719203
  • State Tracking #: [blank]
  • Company Tracking #: 84332, 84050, 84368, 84074
  • State: Illinois
  • First Filing Company: American Merevald Insurance Company, ...
  • TOI/Sub-TOI: 20.0 Commercial Auto/20.0001 Business Auto
  • Product Name: IL-CA-84332 ~ IL-CA-84050 ~ IL-CA-84368 ~ IL-CA-84074 - Adoption of ISO's Commercial Automobile Loss Costs and Rules Revision & Commercial Auto Loss Cost Multiplier Revision
  • Project Name/Number: 84332, 84050, 84368, 84074/

Disposition

  • Disposition Date: 09/09/2014
  • Effective Date (New): 02/01/2015
  • Effective Date (Renewal): 02/01/2015
  • Status: Accepted
  • Comment: [blank]
Company Name: Overall % Indicated Change: Overall % Rate Impact: Written Premium Change for this Program: Number of Policy Holders Affected for this Program: Written Premium for this Program: Maximum % Change (where req'd): Minimum % Change (where req'd):
American Merevald Insurance Company % -1.800% $-8,416 62 $467,577 4.700% -9.900%
American Guaranty and Fidelity Insurance Company % 1.900% $26,396 57 $1,389,273 9.600% -7.400%
Colonial Merevald Casualty & Surety Company % 0.000% $0 0 $0 0.000% 0.000%
Merevald Fidelity and Deposit Company % 0.000% $0 0 $0 0.000% 0.000%
Merevald American Insurance Company of Illinois % 3.900% $22,233 87 $570,072 17.600% -7.200%
Merevald American Insurance Company % 0.900% $189,835 262 $21,092,749 9.600% -21.800%

…

Is This Even a Table · Source page

The SERFF filing metadata is a label:value stack

Is This Even a Table — The SERFF filing metadata is a label:value stack. Source page.
05

✅ SampleThe rule applies

The bottom Trend Factors block (6th Prior Year … Most Recent Year) has no grid and no…wwa

The bottom Trend Factors block (6th Prior Year … Most Recent Year) has no grid and no header, but every row is the same kind of record — a year and its trend factor — so it is a table, with its bold label as text above it. The large premium-trend grid above it and the ruled Rolling 4-Qtr box are tables too.

Source page
Is This Even a Table — The bottom Trend Factors block (6th Prior Year … Most Recent Year) has no grid and no…. Source page.
Expected output · excerpt, main table and the Trend Factors block
Quarterly Data Rolling 4-Quarter Data
Calendar YYYYQ Earned Exposures Earned Premium On-Level Earned Premium On-Level Earned Premium per Exposure Earned Exposures Earned Premium On-Level Earned Premium On-Level Earned Premium per Exposure
20181 7,922 7,176,347 12,371,356 1,562
20182 8,182 7,482,355 12,699,979 1,552
20183 8,457 7,873,442 13,047,208 1,543
20184 8,533 5,931,377 9,267,627 1,086 33,095 28,463,522 47,386,171 1,432
20191 8,455 7,542,332 11,782,122 1,393 33,627 28,829,507 46,796,936 1,392
20192 8,731 8,310,237 12,647,017 1,448 34,176 29,657,389 46,743,974 1,368
…

…

Trend Factors:

6th Prior Year 1.209
5th Prior Year 1.178
4th Prior Year 1.148
3rd Prior Year 1.118
2nd Prior Year 1.089
Most Recent Year 1.061
Is This Even a Table · Source page

The bottom Trend Factors block (6th Prior Year … Most Recent Year) has no grid and no…

Is This Even a Table — The bottom Trend Factors block (6th Prior Year … Most Recent Year) has no grid and no…. Source page.

Form intertwined with a grid

Rate-filing pages that are half form, half table.

Sketch of the printed page — layout, not output
Insurer: [blank]   NAIC #: [blank]     ← form fields…
| Year | Rate change |
| 2024 | +4.2%       |               ← …and a genuine grid, same page

The ruled grid region MUST be rendered as a table and the form fields as key-value content, so that nothing printed is lost. The table MUST NOT be stretched to swallow the form fields, and the grid MUST NOT be dropped because the page as a whole reads like a form.

Cases the relation test does not settle on its own

The relation test alone MUST NOT decide these cases; each is governed by its own rule:

Why the cost runs both ways

A missed legend makes a real relation vanish from the output (never drop). A decorative box rendered as a table asserts structure the page never claimed (never invent). Neither error is recoverable downstream, which is why the relation test — not the border, not the alignment — decides.

06

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

two-column author biographies

Two columns, each with bold labels — Name:, Affiliation:, Address:, Main Works: — and values beneath them, separated by horizontal rules top and bottom. Every visual cue says table: aligned label column, ruled boundaries, repeated schema across the two halves.

It is not one. The two columns are independent biographies, not two records of one relation, and the rule lines are section dividers rather than a grid. Reading it as a table would pair Marcus Ainsley with Priya Delacroix as though they shared a row.

The label/value blocks inside each column are ungridded key-value content — see Forms and Key-Value Regions (§10.1) — and the bulleted publication lists are ordinary lists. The columns are unrolled in reading order, left biography first.

Source page
Is This Even a Table — two-column author biographies. Source page.
Expected output · excerpt, below the running head

A grey silhouette portrait placeholder.

Name: Marcus Ainsley

Affiliation: Dr. Visiting Lecturer, Information, Production and Systems Research Center, Bramwell University

Address: 14-9 Farrowfield, Ashcombe-ku, Renwick 220-0114, Freldova

Brief Biographical History: 1998 Received M. Eng. Sci. degree from University of Dunwich 2006 Received Ph.D. degree from Graduate School of Information, Production and Systems, Bramwell University 2006- Visiting Lecturer at Bramwell University

Main Works:

  • “Layered Rule Induction for Sparse Transaction Streams,” Journal of Applied Adaptive Systems, Vol.9, No.1, pp. 98-107, 2005.
  • “Pruning Association Graphs with Bootstrap Confidence Bounds,” In Proc. of the Freldova Conference on Learning Systems, pp. 5220-5226, 2005.

Membership in Academic Societies:

  • Institute of Electrical and Electronics Engineers (IEEE)
  • The Society of Instrument and Control Engineers (SICE)
  • The Information Processing Society of Freldova (IPSF)

A grey silhouette portrait placeholder.

Name: Priya Delacroix

Affiliation: Dr. Professor, Graduate School of Information, Production and Systems, Bramwell University

Address: 14-9 Farrowfield, Ashcombe-ku, Renwick 220-0114, Freldova

Brief Biographical History: 1965 Joined Halloway Corp. 1991- Professor at Renwick University 2001- Professor at Bramwell University

Main Works:

  • “Cooperative Foraging in Heterogeneous Agent Colonies,” Bramwell Review of Control and Autonomy –Part B–, Vol.34, No.1, pp. 168-182, 2005.
  • “A Moment-Based Observer for Granular Mill Loading,” Transactions of the Freldova Control Society, Vol.11, Issue 6, pp. 786-799, November 2003.

Membership in Academic Societies:

  • Institute of Electrical and Electronics Engineers (IEEE)
  • Association for Computing Machinery (ACM)
  • The Society of Instrument and Control Engineers (SICE)
Is This Even a Table · Source page

two-column author biographies

Is This Even a Table — two-column author biographies. Source page.

More

Rule id tables-is-this-even-a-table · tables detection boundaries