The reservation flow was the highest-stakes interaction in the entire funnel. After months of research, a buyer who wanted to reserve a unit had to navigate a date picker to select their appointment time. For mouse users, it worked fine. For Quốc Bảo — and every keyboard-only user like him — it was an impassable wall. Zero percent completion. Not slow completion. Zero.
The existing date picker had no keyboard event handlers. Tab moved focus into the widget and then... nothing. Escape didn't close it. Arrow keys did nothing. There was no way forward except to close the browser.
The rebuild followed the W3C ARIA date picker pattern precisely: arrow key navigation between days, Page Up/Down for months, Home/End for week boundaries, Escape to dismiss and return focus to the trigger, and a visible focus indicator that met 3:1 contrast ratio against every state. We also added a text input fallback — a typed date that parsed and validated — for users who preferred direct entry.
The room heard TalkBack read 'image, image, image' over a property grid — and the conversation changed. Accessibility stopped being a compliance checklist and became a product quality issue.