A Drupal Accessible Tables Module for Budgets, Schedules, and Fee Charts
A screen reader hits a fee schedule table and reads every cell as a flat list of numbers, because the table has no header cells and no scope. Accessible Data Tables fixes table structure in CKEditor 5 content and in Views-rendered tables so a screen reader can announce which row and column each value belongs to.
Data Tables Carry the Exact Information Residents Need. Built Wrong, They’re Noise.
Budgets, meeting schedules, fee charts, and election results are almost always tables, and a table with no header cells, no scope attributes, and no caption is announced to a screen reader as a meaningless stream of cells. The information is technically present and functionally unreachable, which is a direct WCAG 1.3.1 failure on some of the most important content an agency publishes.
This module installs on any Drupal 10.6+ or Drupal 11 site with Composer, and pairs with WPPersona's WCAG 2.1 AA compliance approach. No CMS migration required.
1.3.1
WCAG criterion requiring that structure and relationships be programmatically determinable
What Accessible Data Tables Actually Checks
Every feature below maps to a specific WCAG 2.1 success criterion, not a vague accessibility claim. Here's exactly what changes on your Drupal site.
CKEditor 5 table structure
Editors mark header rows and columns in CKEditor 5 and the module emits real th elements with scope, plus a caption, instead of a grid of plain cells.
Views table remediation
Tables rendered by Views get proper header association and scope, so dynamic listings of documents, meetings, or datasets are readable by assistive tech.
Scope and header association
Applies scope for simple tables and header id association for complex multi-level tables, so each data cell is tied to the headers that describe it.
Caption and summary support
Adds a visible caption describing each table’s purpose, giving screen reader users the context a sighted reader gets from the surrounding layout.
Layout table detection
Flags tables used purely for visual layout and recommends converting them to CSS, since layout tables confuse assistive technology when read as data.
From composer require to Fixed, in Four Steps
Scan existing tables
The module inventories tables in body content and Views output and flags which lack headers, scope, or a caption.
Fix high-value tables first
Start with the budget, fee, and schedule tables residents actually use, sorted by page traffic.
Enable editor tooling
Turn on CKEditor 5 table controls so editors designate headers and captions correctly as they build new tables.
Remediate Views tables
Apply header association to Views-rendered tables so dynamic listings stay accessible as their data changes.
“Our entire fee schedule was one giant unlabelled table pasted from a spreadsheet years ago. A blind resident could not read a single number in it. Now every value announces its row and column.”
Web Content Manager, County Clerk’s Office
Common Questions About Accessible Data Tables
Why can’t a screen reader just read my table as-is?
Without header cells and scope, a screen reader has no way to know that the number in a cell is a fee for a particular permit in a particular year. It reads the cells in order with no relationship between them, which turns a clear chart into an unintelligible list.
Does this handle complex tables with merged cells?
Yes. For multi-level headers and merged cells it applies id and headers association rather than simple scope, which is the WCAG-supported pattern for complex tables, though genuinely complex data is often clearer split into several simple tables.
Does it fix tables inside Views listings?
It does. Views table displays get proper header markup and scope, so listings of documents, datasets, or meeting records are accessible even as the underlying content changes.
Get Accessible Data Tables on Your Drupal Site
There's no self-serve checkout yet. Submit the form and our team confirms your license tier, sends pricing, and gives you private Composer repository access with installation instructions within 1 business day.
- Drupal 10.6+ or Drupal 11, PHP 8.1+, works with CKEditor 5 and Views table displays
- License covers updates and support for 12 months
Need more than one? See the full Accessibility Suite bundle.
Request to Purchase
Tell us which modules you need. We'll send licensing and setup details.
Pairs Well With
Looking for the deeper compliance picture? Read how these modules fit into WCAG 2.1 AA compliance for government websites, or browse our accessibility resources hub for guides on ADA Title II deadlines.
See Your Agency's PDF Risk in 2 Minutes
Enter your government website URL. We crawl every page, scan every PDF, and deliver a full ADA compliance risk report. No account. No credit card.
Run Free AuditTalk to Someone Who Speaks Government
Our team understands government procurement, ADA compliance timelines, and what it takes to migrate a government website. Free 20-minute demo. No hard sell.
- Full platform walkthrough for your agency type
- Answers to procurement and security questions
- Honest timeline and migration assessment