Core Guidance
Do This First
-
Confirm a table is the right pattern. If the content is a simple list or a step sequence, use lists or headings instead of a table.
-
Build a simple structure. Use header rows, consistent data types, and a straightforward reading pattern from left to right and top to bottom.
-
Support understanding. Add a caption, repeat header rows when needed, and explain the key takeaway before complex tables.
Essential Checks
Structure
- Use the application's table tool so the row and column structure is preserved.
- Write concise column headers that clearly identify each value set.
- Repeat header rows on multi-page tables when the tool supports it.
Data Quality
- Keep each column to one data type when possible so patterns are easier to understand.
- Left-align text in body cells unless there is a strong reason not to.
- Break dense or nested tables into smaller related tables when that improves clarity.
Context
- Add a caption that explains the table's topic and purpose.
- For complex tables, describe the structure or key finding before the table begins.
- Check that the reading order remains sensible when the table is exported or converted.
Common Problems to Catch
- Using merged cells for decoration or visual grouping.
- Adding blank rows or columns to force spacing.
- Building tables with tabs or repeated spaces instead of a table tool.
- Creating a dense table with no caption or explanation of what users should notice.
Key WCAG 2.1 AA Checkpoints
| Success Criterion | What to confirm |
|---|---|
| SC 1.3.1 Info and Relationships | Header cells and row-column relationships need to be clear in the markup. |
| SC 1.3.2 Meaningful Sequence | The table should read in a logical order that matches what it means. |
| SC 1.4.3 Contrast (Minimum) | Text inside the table still needs sufficient contrast. |
| SC 2.4.6 Headings and Labels | Captions and headers should help users understand the table quickly. |
| SC 1.4.1 Use of Color | Do not rely on cell color alone to communicate status, emphasis, or category differences. |