Video examples
iOS Voiceover
Android Talkback
Windows NVDA Chrome
MacOS Voiceover Safari
Code examples
Use semantic HTML
This semantic HTML contains all accessibility features by default.
Optional: The table is wrapped in a <figure>
to indicate author and source.
Letter | A | B | C |
---|---|---|---|
NATO | Alpha | Bravo | Charlie |
Platform | Screenreader | Browser |
---|---|---|
iOS | VoiceOver | Safari |
Android | Talkback | Chrome |
Windows | JAWS | Chrome |
Windows | NVDA | Chrome |
MacOS | VoiceOver | Safari |
When you can’t use semantic HTML
If it’s required to display tabular data without using a <table>
element, attributes will have to added.
Developer notes
Don’t use tables purely for layout. Only use tables to structure tabular data.
Name
- The table can be named by a heading above or a
<caption>
Role
- Semantic
<table>
structures identify headers appropriately and honors screen reader keyboard shortcuts.
Group
- Wrapping a table in a
<figure>
element can be used to build a relationship to<figcaption>
and<cite>
State
- Sortable tables can use
aria-sort
to indicate state.