How can I make a date picker work without pointer input?
Quick answer
Keep a text field available as an alternative to the calendar, with help explaining the date format your product accepts. Make the calendar operable by keyboard: in the WAI-ARIA example, arrow keys move by day or week, Home/End move to the start or end of the week, and Page Up/Down change month. Enter or Space selects a date; Escape closes the dialog. Treat these as behaviors to implement and test, not guarantees for every calendar.
The question, the details, the next step.
A practical checklist
Offer a date text field so calendar navigation is not the only entry route.
State the date format your product accepts and provide format help with the field.
Test the calendar’s documented keyboard movement: arrows, Home/End, and Page Up/Down.
Check that Enter or Space selects a date and updates the field, and that Escape closes a dialog.
Check that month or year changes are communicated clearly.
Test the complete interaction with relevant browsers and assistive technologies; do not assume the illustrative example is production-ready.
A few more useful answers
Should every date picker use exactly these key bindings?
These are the bindings in the cited WAI-ARIA example, not a guarantee that every date picker must or will behave identically. If you use a different interaction model, document it clearly and test it with keyboard users and relevant assistive technologies.
Does the example prove that a text field will accept any date format?
No. It demonstrates a text input with associated date-format help, but it does not establish your application’s accepted formats or validation rules. Specify and explain the format your product actually supports.
Is the WAI-ARIA example ready to copy directly into a product?
No. W3C describes it as illustrative and not production-ready, and notes that browser and assistive-technology support gaps require testing. [S1]
Sources
References used for this guide.
- [S1] WAI-ARIA APG Example: Date Picker Dialog w3.org · Checked
