Practical guides

Publish readable and accessible data tables

A table connects values to rows and columns to compare offers, measures or characteristics. Data quality matters as much as markup: readers need to understand each value and the limits of comparison.

Go to the method

Laptop, phone and open notebook on a white table
Illustration

Define units, scope and missing values

Use a title that identifies the subject, period and scope where relevant. Put units in headers or beside values. For prices, explain inclusions and comparison terms. Give missing values an explicit meaning instead of using zero, which could be mistaken for a measurement.

Compare like with like. Monthly and yearly values need explained conversion or separate columns. Mark quote-only offers accordingly. Sorting should not imply a precise ranking of values that represent different things.

Connect cells and their headers

The W3C table tutorials describe a data structure with header cells. The simple-header example uses row or column relationships to make values meaningful. Reduce complex groupings when a simpler structure is enough.

A reading table can contain links and buttons without becoming a full application grid. Cell selection or editing adds behavioural requirements. Do not adopt a grid model solely to colour a row or provide a sort button.

Plan sorting, mobile display and export

Identify the active sort column and direction. Test numbers, dates and missing values: text sorting may place 100 before 20. Retain row context after actions and explain whether export includes only the current page.

On mobile, compare a clearly indicated local scroll area with cards retaining field labels. Avoid shrinking all text until it becomes hard to read. Data requiring two-dimensional layout has a specific exception under the reflow criterion; surrounding content still needs to remain readable.

Example: compare hosting offers

Educational example: a table shows storage, backup, price and restoration terms. An unpublished price says “On quotation”. Price is sorted only when period and scope are comparable. Export retains units and qualifications; testing confirms that an absent value does not become zero.

Content updated on October 7, 2026

Acceptance matrix to adapt to your project

These proposed checks use synthetic cases. Decide the required behaviour with the team, record the result and assign unresolved gaps before release.

Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.

Test cases, expected outcomes and useful evidence
CaseExpected outcomeEvidence to retain
Reading a cellRow, column and unit are identifiableAnnounced headers and value
Numeric sortingOrder and missing values are coherentSmall expected dataset
Small screenData remains readable and reachableScroll area or cards checked
ExportScope and units are preservedTable and file comparison

Frequently asked questions

Can an image replace a table?

An image alone does not support the same reading or value copying. Keep structured textual data and an explanation when comparison matters.

Are an empty cell and zero equivalent?

No. Empty may mean unknown, not applicable or missing. Define these states separately from a measured zero.

Must every column fit on a phone?

Necessary data must remain reachable. Column selection or a detail view can help if labels preserve meaning.