Table Accessibility Checker
Paste HTML containing tables and instantly check for accessibility issues. Validate captions, headers, scope attributes, and semantic structure.
We fetch the page client-side. Some sites may block external access — use "Paste HTML" as a fallback.
How to Use Table Accessibility Checker
- 1
Paste your HTML
Copy the HTML source code containing table elements and paste it into the input area.
- 2
Click Check Tables
Press the Check Tables button to parse all tables and analyze them for accessibility issues.
- 3
Review each table
See a preview of each table found, along with errors, warnings, and suggestions. Fix the issues flagged and re-check until all tables pass.
Frequently Asked Questions
Related Tools
Making HTML Tables Accessible
Tables are one of the most complex HTML structures for accessibility. While sighted users can visually scan a table and understand relationships between headers and data cells, screen reader users rely entirely on programmatic structure to navigate tables. A properly marked-up table allows assistive technology to announce column and row headers as users move between cells, making the data comprehensible. An improperly structured table can render the same data completely unusable.
WCAG Requirements for Tables
WCAG 2.2 Success Criterion 1.3.1 (Info and Relationships) requires that information, structure, and relationships conveyed through presentation can be programmatically determined. For tables, this means using proper semantic HTML: <th> for header cells, <td> for data cells, <caption> for table titles, and scope or headers attributes to define cell relationships. Success Criterion 1.3.2 (Meaningful Sequence) further requires that the reading order of table content makes sense when linearized.
Data Tables vs Layout Tables
A data table presents information in a grid where rows and columns have meaning. A layout table uses the table structure purely for visual positioning. These two uses require completely different accessibility treatment. Data tables need full semantic markup with headers, scope, and captions. Layout tables should have role="presentation" or role="none" to tell assistive technology to ignore the table structure entirely. This tool checks both cases and flags mismatches.
Common Table Accessibility Mistakes
The most frequent error is using <td> elements styled to look like headers instead of actual <th> elements. This makes the table look correct visually but provides no structural information to assistive technology. Another common mistake is omitting the scope attribute on header cells. While browsers can sometimes infer scope for simple tables, explicit scope attributes ensure correct behavior across all assistive technology. Missing captions leave screen reader users with no context about what a table contains before they enter it.
Complex Tables and the Headers Attribute
Simple tables with one row of column headers and one column of row headers can rely on the scope attribute. Complex tables with merged cells, multiple header rows, or irregular structures need the headers attribute on data cells. This attribute explicitly lists the IDs of all header cells that apply to a given data cell. While more verbose, this is the only reliable way to convey complex table relationships to assistive technology. When possible, consider simplifying complex tables into multiple simpler tables.