Tables are for organizing related data into rows and columns so readers can compare information quickly. Accessible tables use clear headers, simple structure, and (when needed) short explanations so students, families, and assistive technologies can understand the data.
Schedules, rubrics, science data, lunch menus, and progress trackers often work best as tables. When tables are built accessibly, screen‑reader users can navigate by headers, everyone can scan faster, and your information remains usable when viewed on different devices—supporting equitable access across classrooms.
Use tables for data, not layout: Don’t use tables to arrange page content. Keep tables for data comparisons.
Keep them simple: Avoid split/merged cells when possible. Large or complex tables are hard to navigate.
Add a caption or title: Briefly state what the table shows (e.g., “Quarter 2 Reading Benchmarks”).
Define headers: Use a clear header row (and a header column if helpful). Include units/grade levels in headers.
No blank cells for meaning: Use “N/A” or “—” and, if needed, a note that explains it.
Support mobile reading: Prefer fewer columns with concise labels; break very wide tables into smaller ones.
Canvas (LMS): Insert table via the Rich Content Editor. Mark the Header row (and Header column) in table properties; use Scope (row/column) where available. Run the Accessibility Checker to catch missing headers and empty cells. For long tables, consider a downloadable CSV link below.
Google Docs: Google Docs does not support native table captions. To provide context, place a clear heading (preferred) or a brief descriptive sentence immediately before the table that explains its purpose. Keep the table directly below this heading or description.
Google Slides: Use tables sparingly and keep them small for projector readability. Ensure the slide has a clear title. For complex data, link to a Doc/Sheet or provide a downloadable file in the LMS. Slides are not ideal for complex tables.
Google Sheets: Use the first row as your header row and ensure headers clearly describe the data in each column. Freezing the header row (View → Freeze) improves visual navigation. When sharing to students, export a CSV or embed a filtered view; avoid exposing student information.
The table includes a caption/title describing its purpose.
There is a header row (and header column if helpful). Headers are concise and include units where needed.
Table is simple (no unnecessary merged cells; minimal nested tables).
No blank cells used to convey meaning; use “N/A” or a dash with a note.
Content is left or center aligned consistently; numbers line up meaningfully (e.g., by decimal).
If the data is complex, provide a short summary next to the table (e.g., “Scores rose 8–12 points from fall to spring.”) and/or a downloadable CSV.
The table works on small screens (limited columns, or split into logical parts).
Pick one current table (rubric, schedule, results).
Add a caption and tighten header wording.
Remove unnecessary merged cells; simplify to a rectangular grid.
Add N/A where cells were blank; include a brief note if needed.
If the table is wide, split into two smaller tables or add a CSV download.
W3C Web Accessibility Initiative (WAI) - Tables
This tutorial provides guidance on creating accessible data tables in HTML. It covers when to use tables (as vs layout), proper markup of headers and captions, scope and headers attributes, and techniques for complex tables.
Beginner’s Guide to Accessible Tables — Pope Tech Blog
This article breaks down how to make tables accessible, distinguishing data vs layout tables, and explains use of header tags, captions, and attributes like scope (and even strategies for complex tables).
This page adapts and builds on content from the Nebraska ESU Coordinating Council's Accessibility in Schools site and related resources, and is shared under a Creative Commons Attribution - ShareAlike (CC BY-SA 4.0) license.