Tables — Accessibility Specification

WCAG 2.1 AA • AODA compliant • Updated 2025-10-28


What is this component?

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.

Accessibility Requirements

RequirementWCAG CriteriaDescription
Header associations1.3.1Use <th scope="col|row"> for simple tables. For complex tables, use headers/id mapping.
Caption and summary1.3.1Provide a <caption> that describes the table’s purpose. Use nearby text for context.
Keyboard navigation2.1.1Ensure focusable elements inside cells can be reached logically.
Responsive overflow1.4.10 ReflowSupport horizontal scrolling of wide tables without loss of content or functionality.

ARIA Roles and Attributes

ARIA Role/AttributeUsed OnPurpose & Usage
<table>, <thead>, <tbody>, <th>, <td>Data tablesPreferred semantic elements; avoid ARIA table roles unless building custom grids.
scope<th>Defines whether a header applies to its row or column.
headers/idComplex tablesExplicitly associates data cells with multiple headers.

Implementation Guidelines


Quarterly Revenue (CAD)
QuarterRevenueChange
Q1$1.2M+5%
Q2$1.3M+8%

DO’s

Don’ts

Common Pitfalls

Testing Checklist

Test ItemWCAG CriteriaPass Criteria
Headers announced1.3.1Screen reader announces correct header with cell content.
Caption present1.3.1Table has a meaningful <caption>.
Reflow1.4.10Wide tables are scrollable without loss of information.