Typing must be available alongside picking
Aliases: date input typing · calendar-only · read-only date
What it is
A date in someone’s head is often already digits and separators. A typeable date field is a real text input: type, paste, edit one part; the calendar is a side path, not the only inlet. A read-only box that only opens a grid forces people who already know the date to browse. The issue is how a known date is externalized, not how tiring month-paging is, and not whether two dates can be compared side by side.
Why it happens
Typing writes 1998-07-16 in one pass, cost independent of distance. A calendar unpacks the same information into three spatial decisions: year, month, day. When the date comes from an ID, an email, or another table, the source is a string; the cheapest path is paste. Read-only-plus-icon cuts paste and local edits (change the day, leave the year), and every change rewalks three layers. Typing also lets screen readers and manager-like tools treat the date as an ordinary field. The calendar remains useful—when the question is which day is free, cells must be seen—but it is a lookup tool, not the inlet for a known value.
Studying it
Compare read-only-plus-calendar, typeable-plus-calendar, and plain text with no calendar. Tasks: write a birthday from memory, copy from a fake ID. Outcomes: time, format errors, attempts to paste. Factors: whether local formats are accepted, whether blur rewrites. On the ID-copy task, typeable should be reliably faster than a read-only calendar. Do not use “pick tomorrow,” a lookup task, to dismiss typing—that is not typing’s home ground.
Where it stops holding
On touch with no hardware keyboard, popping a calendar can be faster than summoning a numeric keypad, especially for near dates; focus-then-type should still be allowed rather than locking the box. Format ambiguity (01/02 as January or February) can make typing error-prone compared with tapping a cell; that calls for a format hint or a blur confirmation on the typing path, not for killing typing. Some native date controls are typeable on desktop and become spinners on iOS; test per platform, not only Chrome on a desktop.
Applying it
- Make the date slot focusable, editable, and pastable; the calendar icon is an extra inlet.
- Accept common local writings and normalize on blur; do not recognize only one hyphen order.
- Editing an existing date should allow changing only the year or only the day, without clearing and re-picking.
- Verify by copying from a paper date, pasting from the clipboard, and changing only the year of an existing value. If any step requires opening the calendar, the typing channel is not built.