Date pickers and time slots.
THE COMMON FAILURE
Calendar widgets built as custom components with no keyboard support.
The user can see the dates and cannot select one.
WHAT A DATE PICKER NEEDS
Keyboard navigation between dates The selected date announced
An alternative: a plain text field accepting a typed date
That alternative is the most reliable fix. Not everyone can use a calendar widget.
TIME SLOTS
Frequently presented as a grid of buttons. They must be real buttons, reachable by keyboard, with clear names.
"10:00 on Tuesday 5th" rather than "10:00" repeated across a grid with no context.
AVAILABILITY
Unavailable slots must be indicated in text, not only by colour or by being greyed out with poor contrast.
CONFIRMATION
Stated clearly and announced. A booking that appears to succeed silently leaves people uncertain.
THE ALTERNATIVE ROUTE
A phone number, prominently. For any booking system, some people will prefer or need to call.
That is not a substitute for an accessible system, and it is a necessary fallback.
TESTING
Book an appointment using only the keyboard.