Skip to content

Table Testing

DodaTech 2 min read

title: "Table Testing — Verifying Data Table Accessibility" description: "Learn how to test data table accessibility using screen readers, keyboard navigation, and automated tools to verify headers and associations." weight: 11 date: 2026-06-28 lastmod: 2026-06-28 tags: [accessibility, tables]


Testing table accessibility requires screen reader table navigation, header association verification, and automated checks for correct table structure.

## What You'll Learn

How to test table accessibility using NVDA, keyboard commands, and automated tools.

## Why It Matters

Table errors (missing scope, broken headers, missing caption) make data tables unusable for screen reader users.

## Real-World Use

A QA tester navigates a financial table with NVDA. They press Ctrl+Alt+Arrow keys to move between cells and verify each cell announces the correct row and column headers.

## Screen Reader Commands

// NVDA Table Navigation // Ctrl+Alt+Arrow: Navigate between cells // Ctrl+Alt+Home: Go to first cell // Ctrl+Alt+End: Go to last cell // T: Navigate to next table // Shift+T: Navigate to previous table

// VoiceOver (Mac) // Ctrl+Option+Arrow: Navigate table cells // Ctrl+Option+Shift+Arrow: Navigate to headers

// JAWS // Ctrl+Alt+Arrow: Navigate cells // Insert+F5: List tables on page


## Automated Testing

```javascript
// axe-core table checks
const results = await axe.run(document, {
  runOnly: ['td-headers-attr', 'th-scope', 'caption']
});

// Check for missing scope
document.querySelectorAll('th:not([scope])').forEach(th => {
  console.warn('th missing scope:', th.textContent);
});

// Check caption presence
document.querySelectorAll('table:not([role=presentation])').forEach(table => {
  if (!table.querySelector('caption')) {
    console.warn('Data table missing caption');
  }
});

Common Mistakes

1. Only testing visually

Table accessibility must be tested with screen readers, not just visually.

2. Not testing with real data

Test tables with realistic data volumes. Very large tables may have performance issues.

3. Forgetting to compare test results

After fixing table issues, re-test to verify headers announce correctly.

4. Only testing the first row

Test cells in the middle and last rows to verify headers work throughout.

5. Not testing merged cells

Complex tables with colspan and rowspan need extra verification of header associations.

Practice Questions

1. What NVDA keystroke navigates to the next table? Pressing T navigates to the next table on the page.

2. What should a screen reader announce when on a data cell? The row header, column header, and cell content, for example: "January, Revenue, $50,000."

3. What automated check verifies th elements have scope? The axe-core th-scope rule checks that all th elements have scope attributes.

Challenge: Write a test suite for a complex table with merged headers. Include screen reader verification steps for every cell.

FAQ

Can I automate table accessibility testing?

Yes, use axe-core and Pa11y. But automated tools miss navigation and announcement timing issues.

What is the most common table accessibility failure?

Missing scope attributes on th elements is the most common failure.

How do I test headers associations with a screen reader?

Navigate to a cell and press Insert+Tab (NVDA) to hear the full cell information including all associated headers.

Should I test with multiple screen readers?

Yes. NVDA and VoiceOver handle tables differently. Test with at least both.

How do I document table issues?

Include the table caption, the cell with the issue, expected header announcement, and the actual announcement.

Mini Project

Create a test checklist for data tables with 15+ test cases. Use it to test three different tables and document all issues found.

What's Next

Apply everything in the Tables Project by building a complete accessible data table system.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro