WCAG 2.1 AA • AODA compliant • Updated 2025-10-28
What is this component? Data tables display information arranged in rows and columns. Proper headers and associations are essential for accessibility.
Where and how is it used? Use for structured datasets (reports, schedules, pricing). Keep layout tables separate from data tables.
| Requirement | WCAG Criteria | Description |
|---|---|---|
| Header associations | 1.3.1 | Use <th scope="col|row"> for simple tables. For complex tables, use headers/id mapping. |
| Caption and summary | 1.3.1 | Provide a <caption> that describes the table’s purpose. Use nearby text for context. |
| Keyboard navigation | 2.1.1 | Ensure focusable elements inside cells can be reached logically. |
| Responsive overflow | 1.4.10 Reflow | Support horizontal scrolling of wide tables without loss of content or functionality. |
| ARIA Role/Attribute | Used On | Purpose & Usage |
|---|---|---|
<table>, <thead>, <tbody>, <th>, <td> | Data tables | Preferred semantic elements; avoid ARIA table roles unless building custom grids. |
scope | <th> | Defines whether a header applies to its row or column. |
headers/id | Complex tables | Explicitly associates data cells with multiple headers. |
Quarterly Revenue (CAD)
Quarter Revenue Change
Q1 $1.2M +5%
Q2 $1.3M +8%
<th scope> for simple tables and include a <caption>.<caption> when table purpose isn’t obvious.headers/id.| Test Item | WCAG Criteria | Pass Criteria |
|---|---|---|
| Headers announced | 1.3.1 | Screen reader announces correct header with cell content. |
| Caption present | 1.3.1 | Table has a meaningful <caption>. |
| Reflow | 1.4.10 | Wide tables are scrollable without loss of information. |