Skip to content
easeweb
Search topics

Date pickers that can't be typed in or used by keyboard

A delivery date field is read-only and opens a calendar of plain divs on a click, so a keyboard can't enter a date and a screen reader hears only bare numbers, and once the field takes typing, nothing says whether the day or the month comes first.

Passes when
Dates and times can be typed, and the calendar works with a keyboard
WCAG 2.2
SC 2.1.1ASC 4.1.2ASC 3.3.2A
Required by
Section 508 · EN 301 549 (EU)
Broken <input id="delivery" type="text" readonly>
The accessibility problem illustrated: Motor:How do I enter the date?
01

The problem

Keyboard users can't enter a delivery date at all, screen reader users hear bare numbers with no chosen day and no today, and once typing works, nothing says whether 11/12/2026 means 11 December or 12 November.

02

Try it

Set the delivery date to Thursday 12 November with the keyboard alone: Tab to the field, then type the date or open the calendar.

  1. Broken 1: Tab to Delivery date and type, or press Enter or the down arrow. Nothing goes in and nothing opens; only a click opens the calendar.
  2. Click the field to open the calendar, and point at a day: the panel shows what a screen reader reading under the mouse says, just the number, never which day is chosen or which is today.
  3. Broken 2: type 11/12/2026, the way 12 November is written in the US, and press Tab. See which day the shop reads.
  4. Apply the fixes. Type the date, or in the dialog fix, Tab to the calendar button, press Enter, and move with the arrow keys, Page Up and Page Down.

Broken Can you fix this?

Screen reader says:

(Tab to Delivery date)

A recreated demo. The broken version is intentionally inaccessible.

03

The fix

Let the date be typed, in a format the page states or in a native date field, and make any calendar a dialog whose days the keyboard reaches and a screen reader reads.

  1. 1The date can be typed, and the field says how to write it, or is a native date field.
  2. 2Any calendar opens from a button and works with the arrow keys, Enter and Escape.
  3. 3Each day is read with its full date, and the chosen day and today are exposed in code, not only drawn.
Before

A read-only field and a calendar only a click opens

<label for="delivery">Delivery date</label><input id="delivery" name="delivery" type="text" readonly placeholder="Choose a date"><div class="calendar" hidden>  <div class="cal-head">    <span class="prev">‹</span>    <span class="cal-month">November 2026</span>    <span class="next">›</span>  </div>  <div class="cal-week">    <span>Su</span>    <span>Mo</span>    <span>Tu</span>    <span>We</span>    <span>Th</span>    <span>Fr</span>    <span>Sa</span>  </div>  <div class="cal-days"></div></div>
After

A native date input

<label for="delivery">Delivery date</label><input id="delivery" name="delivery" type="date">

Why this fix: Use native HTML first

Fixing this with an AI coding assistant? Get this guide as Markdown, or get every guide in your coding agent.

04

Verify the fix

5 checks, no mouse.

Test with: Keyboard, Screen reader, Zoom, Forced colors

0 of 5 checked

Record the OS, browser and assistive-technology versions, the build, the date, and the actual result of each step. Repeat after the shared date field or calendar component changes.

Limits

This is a starting pattern for a single date. It doesn't cover choosing a range, such as check-in and check-out dates, time zones, or calendars other than the Gregorian one, such as Japanese era years. The snippets leave out checking the date against the days the shop delivers. Test the complete journey, with your real dates, in the browsers and assistive technology you support, on a phone as well as a desktop.

This is a recreated teaching example, not a finding about a named client. The code is a starting pattern: test it in your own product. No completed assistive-technology test is claimed here.

Keep this fixed as your code changes.

Turn guides like this into rules your coding agents and CI follow, then have the result retested with a keyboard and screen readers.

How retests work