---
name: thedaviddias/table-headers
source: https://app.decimal.ai/s/thedaviddias-table-headers@1/SKILL.md
source_sha256: a169aea449f0
---

# Define proper table headers

Properly defined headers allow screen readers to announce the context for each data cell, making complex tables understandable.

## Quick Reference

- Use `<th>` for all table headers, not `<td>`
- Apply `scope="col"` or `scope="row"` to clarify header relationship
- Ensure every data cell is associated with at least one header
- In simple tables, prefer fixing header associations before escalating to caption-level recommendations
- Missing `scope="col"` on a straightforward header row is often the clearest first fix

## Check

Check that all data tables use `<th>` elements for headers with appropriate scope attributes.

## Fix

Convert header cells to `<th>` and add the correct `scope` attribute.

## Explain

Explain how `<th>` and `scope` help assistive technologies communicate the structure of data tables.

## Code Review

Review the rendered markup and interactive states that affect Define proper table headers. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.

---

For full implementation details, code examples, and framework-specific guidance,
see `references/rule.md`.

Rule page: https://frontendchecklist.io/en/rules/accessibility/table-headers