All resources
Case StudyBy Logan Nathan · Jul 2026 · 8 min read

A Regional Transit Authority: Serving Diverse Ridership With an Accessible Transit Website

250,000 daily riders. 38% non-English speaking. Blind riders shut out of route schedule PDFs. Here's how the authority rebuilt its digital front door to serve every rider.

250K

Daily riders served

38%

Non-English speaking ridership

100+

Languages supported on platform

4

Formal ADA complaints resolved at launch

Transit Websites Aren't Optional Reading

A transit site isn't like the rest of your government portal. Nobody checks it once a year for a permit. Riders open it multiple times a day, at bus stops, on lunch breaks, standing in the rain. They're looking for the next departure, a stop change, a service alert that decides whether they make it to work on time. When a public sector transit sitefails a blind rider or a Spanish-speaking rider, the consequence isn't frustration. It's a missed shift, a missed dialysis appointment, a kid stranded after school.

A regional transit authority had been hearing about this for years before DOJ's Title II final rule gave the problem a deadline. The complaints clustered into two groups:

Riders with visual impairments

The authority published all 47 route schedules as PDFs. 39 of those 47 were image-based scans of printed timetables. Screen readers got nothing. A JAWS user opening the Route 12 schedule heard silence, or OCR gibberish. There was no HTML alternative anywhere on the site.

Non-English speaking riders

The site was English-only. 38% of the authority's riders speak a primary language other than English at home, mostly Spanish, Vietnamese, Hmong, and Punjabi. Service alerts and detour notices went out in English. Riders who couldn't read them ended up on the wrong bus, or none at all.

By early 2025, the authority had 4 formal ADA complaints on file. Two filed with DOJ under Title II, two filed with the Federal Transit Administration (FTA) under Section 504 of the Rehabilitation Act, which applies to any agency taking federal transit dollars. Both agencies had jurisdiction. The FTA complaint carried a specific ask: schedule information had to be usable by screen reader riders within 12 months.

Why Schedule Tables Are the Hard Part

Bus schedule data is uniquely nasty from an accessibility angle, and it's worth spending a minute on why. That's what shaped every technical decision on the authority's rebuild.

A route schedule is a grid. Stop names run across the top. Departure times run down the columns, one row per trip. It's tabular by nature. Export it as an image-based PDF and it's dead to a screen reader. Export it as a tagged PDF and it can work, but only if column headers are tied to data cells with the right scope attributes, and only if the reading order matches the visual flow. Most transit agencies have done none of that.

The cleanest fix is an HTML table. Native web markup. Screen readers handle it out of the box, no configuration required. So why doesn't every agency do that? Because HTML tables demand manual updates every time a schedule shifts, and PDFs fall out of the scheduling software with one click. Convenience won the last twenty years of transit web work. Compliance is now sending the bill.

WPPersona built the authority a two-part fix. First, an HTML schedule template that operations staff populate from a spreadsheet import, so schedule changes take minutes, not hours. Second, a PDF companion doc that gets scanned on upload and refused if it fails accessibility checks. The PDF and HTML versions meet the same bar, or the PDF doesn't ship.

Route schedule format: screen-reader access

47 routes total

Every route schedule the authority published, broken down by format and whether a screen reader could read it.

Image-based PDF (before)39 / 47

Screen readers got silence or OCR gibberish

Text-layer PDF (before)8 / 47

Readable, but tables lacked scope attributes

HTML schedule table (after)47 / 47

All 47 routes on the accessible template

Before the rebuild, 39 of 47 route schedules were flat scans. A blind rider had no path to a departure time on the authority's own site.

What Actually Got Built

Accessible Route Schedule Tables

All 47 route schedules moved to HTML tables built on the authority's schedule template. Every <th> carries a proper scope attribute tying time data to stop names and directions. Screen reader riders navigate the table with the same keyboard commands they use everywhere else. A companion PDF is offered on each page, and it has to pass the accessibility scan before it can be published.

100+ Language Service Alerts

The authority's operations center writes an alert once, in English. It gets translated to the 12 primary rider languages through a certified translation layer, with the HTML lang attribute set correctly on each version. Screen readers pick up the right language voice automatically. No more Spanish alerts read aloud in an English accent.

Accessible Trip Planner Integration

The old site dropped the authority's third-party trip planner into an unlabeled iframe. Screen reader users hit it and heard "frame" and nothing else. The rebuild uses a properly named iframe, keyboard focus that moves into the planner when activated, and a text-based simplified input form for riders who prefer it to the map interface.

Real-Time Arrival Data with ARIA Live Regions

Next-departure data updates dynamically on each stop page. The rebuild wraps that region in role="status" and aria-live="polite" so updates get announced without cutting off whatever the rider is currently reading. Announcements fire on real data changes, not on a polling interval. That difference matters. Timed announcements flood a screen reader with noise until the user gives up.

Accessible PDF Route Maps

Route map PDFs used to be flat images. Nothing tagged, nothing readable. The rebuild replaced them with vector-based PDFs that carry text descriptions for each route, tagged stop names, and a linked text-only stop list as an alternative. For the tangled maps that don't translate well to text, the team built HTML alternatives with tabular stop listings that read cleanly end to end.

What the Riders Said Six Months Later

Six months after launch, the authority ran a rider feedback survey focused on accessibility and language access. 1,240 responses came back, weighted across service areas so the numbers reflected the actual ridership. Here's what shifted:

Screen reader users able to access route schedules

Before

0%

After

100%

Spanish-speaking riders satisfied with website language access

Before

31%

After

89%

Riders finding service alerts within 2 minutes

Before

58%

After

87%

Trips successfully planned without staff assistance

Before

61%

After

94%

Rider survey: before vs after (six months post-launch)

1,240 responses

Weighted rider feedback across the authority's service areas.

0%25%50%75%100%0%100%Screen readerschedules31%89%Spanish speakerssatisfied58%87%Alerts foundin 2 min61%94%Trips plannedunaided
Before rebuildAfter rebuild
The screen-reader bar is the one that tells the whole story: 0% to 100%. The other three moved because the same rebuild lifted the floor for every rider.

All 4 pending ADA and FTA complaints closed once the authority handed over the compliance documentation. Legal counsel called out three specific pieces of the response as decisive: the HTML schedules, the PDF accessibility gate, and the audit trail on multi-language coverage. Together they answered every element of every complaint on record.

Running a Transit Agency or Multi-Language Public Service?

If your team is staring down accessible schedule tables, ARIA live regions for real-time data, or a rider base that speaks a dozen languages, WPPersona's platform handles the whole stack. Walk through a live demo on your own site.

Schedule a Free Demo