Accessible Appointment and Consultation Booking, Step by Step

Booking a fitting, consultation, or service slot is a timed, multi step flow that fails in specific places. A step by step accessibility check.

Many stores now sell time as well as products: fittings, consultations, repairs, and styling sessions booked through a calendar flow. Booking flows combine the hardest patterns on the web in one place: date grids, time slots, forms, and confirmation steps, often under a session timer.

This guide walks the booking journey in order and names the barrier and the fix at each step, so a team can audit its own flow in one sitting.

Step one and two: service choice and the calendar

Service choices presented as image cards need text names and real controls, with duration and price in text, not only in a photo overlay. A shopper should be able to compare services by listening to them in order, without opening each one.

Calendar grids are the classic failure. Dates should be real buttons with full accessible names, such as Tuesday 4 November, unavailable dates should be marked unavailable in text and not just greyed out, and month navigation should be labelled and keyboard operable. A grid that can only be used by sight and mouse excludes by design.

Step three: time slots, details, and the timer

Time slots need the same treatment: labelled controls, a clear selected state, and timezone stated in words next to the times. A slot list that refreshes silently after a date choice leaves screen reader users on a page that seems unchanged.

If the flow uses a holding timer, its existence and remaining time should be perceivable without watching a clock graphic, and expiry should not silently discard entered details. Warn before expiry, in text, with a way to extend or restart without retyping everything.

Step four: confirmation that can be kept and used

Confirmation should state the service, date, time with timezone, location or meeting link, and cancellation route in plain text on the page and in the confirmation message, in an order a person can act on. A confirmation that is only an image or a calendar file attachment locks out the shoppers who most need a readable record.

Reminders inherit the same duty. A reminder that says your appointment is tomorrow with a link, but no time or place in the message itself, forces a login journey that may itself contain barriers, at the moment the shopper has least time to fight it.

Test the whole flow at booking speed

Book a real slot with keyboard only, then with a screen reader, then on a phone at large text size. Note every point where you had to guess, hunt, or use a workaround. Those notes, with the step numbers from this guide, become the fix list, ordered by where shoppers drop out.

Repeat the test after any booking tool update and after adding a new service type. Booking tools change their calendar components often, and each change can quietly return a grid barrier that was fixed a year ago.

Related reading

If this topic is useful, these earlier guides go deeper on connected questions: Accessible Product Videos: Captions, Transcripts, and Controls, Making Gift Cards and Store Credit Accessible to Buy and Spend, and Size Charts and Fit Finders That Every Shopper Can Use.

Frequently asked questions

What is the biggest barrier in booking flows?

The calendar date grid. Dates rendered as unlabelled cells that respond only to mouse clicks make the entire service unreachable, however good the rest of the flow is.

How should unavailable dates be shown?

Visually and in text or accessible name, so a screen reader user hears that a date is unavailable rather than finding a silent, unresponsive cell or nothing at all.

Does a booking timer need an accessible warning?

Yes. Shoppers should be able to perceive that a hold is timed, how long remains, and what happens at expiry, without relying on a visual countdown alone. A text warning before expiry is the minimum.

What should a good confirmation include?

Service, full date, time with timezone, location or joining details, and how to cancel or reschedule, all in plain readable text on the page and in the follow up message.

Home / Blog