Skip to main content
Wallyax

Case Study

The Date Picker That Only Works With a Mouse

A 38% reduction in completion time for people who rely on assistive technology

The Date Picker That Only Works With a Mouse a web accessibility case study by wally

Service

Accessibility Audit & Remediation

Industry

Healthcare

Platform

Web

The Situation

A regional outpatient provider runs a patient portal where people book, move and cancel appointments. Most patients use it on a phone or laptop. A meaningful share are older adults, people managing long-term conditions, and people who use a keyboard, switch device, voice control or screen reader to get around.

Booking is the most important task in the portal. If it fails, the patient calls the clinic, waits on hold, or skips the appointment.

The Challenge

The booking screen used a custom-built date picker. It looked polished: a monthly grid, available days highlighted, unavailable days grayed out. The team assumed it was accessible because it was built from a well-known component library and passed an automated scan.

But the reports coming in were consistent. A keyboard user could tab to the calendar and then could not move through the days. A screen reader user heard “button, button, button” with no dates. A voice control user could say “click 14” and nothing would happen. Someone using a switch device could get stuck in the grid.

What We Found

Our manual review surfaced a short list of recurring defects:

  • Days were not real controls. Each date was a styled div with a click handler. It could not be reached or activated reliably with the keyboard (WCAG 2.1.1 Keyboard).
  • Names and states were missing. Screen readers did not announce useful information for each day, so users could not tell which dates were available, unavailable, or selected (4.1.2 Name, Role, Value).
  • Focus had no clear path. Arrow keys did nothing, so users had to tab through every day in the month. Focus was not moved into the grid when it opened and was not returned to the trigger when it closed (2.4.3 Focus Order).
  • Availability was shown by color alone. Grayed-out days differed from available days primarily by shade (1.4.1 Use of Color).
  • Month changes were silent. Moving to the next month updated the grid without telling screen reader users that anything had changed (4.1.3 Status Messages).
  • There was no plain alternative. The only way to choose a date was the custom widget, so one broken component blocked the entire task.

How We Approached It

The first decision was whether the custom picker was worth keeping.

A native input type="date" is not perfect everywhere, but it inherits built-in keyboard and assistive technology support and provides a sound baseline. In this case, the team needed to keep the custom calendar, so we used the ARIA Authoring Practices Guide date picker dialog pattern as a reference for roles, keyboard behavior, and focus handling.

The remediation centered on a few things: using real buttons for days inside a grid with the correct roles, supporting arrow keys, Home, End, Page Up, and Page Down, moving focus in and out of the dialog predictably, adding non-color cues for unavailable days, announcing month changes politely, and offering a typed date field as a second route.

We then retested each fix with keyboard-only navigation, NVDA, VoiceOver, and voice control, and checked the date entry step as part of the complete booking journey rather than in isolation.

The Outcome

Following remediation, the healthcare provider saw measurable improvements in appointment booking accessibility, task completion, and patient independence.

In usability testing with 32 participants using keyboards, screen readers, voice control, and switch devices, successful appointment bookings increased from 56% to 91%. The median time required to complete the booking process dropped from 4 minutes 10 seconds to 2 minutes 35 seconds, representing a 38% reduction in completion time.

The improvements extended beyond usability testing. Over comparable six-week periods, accessibility-related booking support requests decreased by 29%, from 62 to 44 requests per 1,000 booking attempts.

Patients could now navigate available dates, understand selection states, and complete appointments without relying on mouse interactions or assistance from clinic staff.

For the healthcare provider, the changes resulted in a more inclusive digital booking experience, fewer accessibility-related support requests, and a smoother path from appointment selection to confirmation.

Next Step

If your scheduling flow depends on a custom calendar, a focused review of the date entry step and the booking journey around it is a good place to start. You can book a call with an accessibility expert, or read how we approached banking security flows as an accessibility barrier.

More Customer Stories

Web Accessibility

How accessibility unlocked the full potential of a performant ad campaign

Wally helped a client review the accessibility of a digital ad campaign running across premium placements. Although the ads were highly visible and visually polished, the review showed that visibility alone did not make the experience accessible. By evaluating static banners, responsive ads, and HTML5 creatives, the team identified where critical messaging, contrast, motion, calls to action, and interactive behavior could create barriers for users.

View Case Study: How accessibility unlocked the full potential of a performant ad campaign

Making dynamic content accessible does not mean announcing everything that changes

The case study follows an enterprise SaaS platform where real-time messages, dashboard updates, notifications, activity changes, and AI responses created excessive screen reader announcements. The team reduced unnecessary interruptions by prioritizing which updates needed to be announced, improving timing and context, and adjusting how live regions were used. The changes led to fewer abandoned workflows, better task completion, fewer accessibility-related support requests, and a more focused experience for screen reader users.

View Case Study: Making dynamic content accessible does not mean announcing everything that changes
Back to Case Studies