Calendar / Date Picker

Visual Example

Default State

Calendar Widget Expanded


Acceptance Criteria

As a screen reader and keyboard only user I should:

  • be able to navigate to and access the calendar form field by using the “TAB” key on the keyboard

  • be able to:

a) type the date in the form field, OR

b) pick the date from the calendar widget

  • be able to press the “ENTER” key on the keyboard to activate the calendar button/widget

  • be able to either:

a) use the “TAB” key on the keyboard to navigate through the months and years in the calendar widget,

OR

b) use the arrow keys to navigate through the dates for the current month and then continue to the next month

  • be able to use the left/right ←/→ arrow keys on the keyboard to navigate between dates in the calendar widget

  • be able to use the “ENTER” key on the keyboard to select a date in the calendar widget

When the calendar form field has keyboard focus: 

  • the screen reader should announce the month, day and year format to enter

When the calendar button has keyboard focus: 

  • the screen reader should announce “Choose date button. To activate press ENTER.

When the calendar widget has been activated: 

  • the screen reader should announce the current month and date

  • the screen reader should announce how to navigate dates and months


Markup and Code

Please see the following two code examples of a date picker and calendar widget.

ARIA Based Date Pickers

It is fully accessible to both keyboard only and screen reader users.

Have tested on iOS mobile device and works fine when voice-over screen reader has been activated.

View Markup, CSS and JS Code

TEST THIS DATE PICKER BY DEQUE (KEYBOARD ONLY, SCREEN READER AND MOBILE)

https://dequeuniversity.com/library/aria/date-picker

 

Semantic Date Picker

View Markup, CSS and JS Code