Date input — the control opens a calendar

Expected: the first control shows 15 September 2026 and clicking it opens the shell's date picker on that month with the 15th selected. Choosing a day updates the control live; Cancel (or Escape) restores 2026-09-15; OK keeps the choice.

Readonly and disabled open nothing

Expected: neither control opens a picker. The disabled one is greyed; the readonly one looks normal but is inert.

Invalid values are sanitised to empty

Expected: all four controls are empty, as if they had no value at all, and their picker opens on today. The HTML value sanitisation drops anything that is not a valid yyyy-mm-dd.

2026-02-29 (not a leap year)
2026-13-01
15-09-2026 (wrong order)
2026-9-5 (not zero-padded)

Activation without the mouse

Expected: clicking the label opens the picker; so does Enter or Space with the control focused.

type is matched case-insensitively: the last control opens a date picker too.