Time picker
Entering · researchedA field for typing or choosing a time of day.
molecule
Each block is the real component from that system’s own package, in an isolated frame. They are live: hover, focus and press them. Frames are drawn on white so systems compare on one ground, and a font a system licenses only for its own site (GOV.UK’s Transport) falls back to what the system itself specifies.
Ant Design
TimePicker native: partly antd 6.6.5Carbon
Time picker subset native: yes @carbon/react 1.117.0- Variants
- Default, Fluid
- Sizes
- small (sm), medium (md), large (lg)
- States documented
- default, hover, focus, error, disabled
- Accessibility guidance
- yes
Documented as a section of the Date picker page (components.json lists it as a child of Date picker, overview:false). A text input (type text, pattern hh:mm) plus optional native selects for AM/PM and time zone; no native time input. Accessibility tab is the date picker's and says date and time pickers need labels.
1 corrected on re-read
- urls: {"docs_url":"https://carbondesignsystem.com/components/date-picker/usage/","code_url":"https://github.com/carbon-design-system/carbon/tree/main/packages/react/src/components/TimePicker"} → {"docs_url":"https://www.carbondesignsystem.com/building-blocks/core/components/date-picker/guidelines","code_url":"https://github.com/carbon-design-system/carbon/tree/main/packages/react/src/components/TimePicker"} curl -L: HTTP 200 for both; docs_url redirects to this final URL
GOV.UK
Checked the Components index (https://design-system.service.gov.uk/components/), the Patterns index (https://design-system.service.gov.uk/patterns/), the Styles index (https://design-system.service.gov.uk/styles/) and the repo components directory (alphagov/govuk-frontend packages/govuk-frontend/src/govuk/components, plus installed 6.5.1 dist). No time picker. The Date input component and Dates pattern cover day/month/year only, with no time of day.
Material Web
Checked docs/components (22 files: button, checkbox, chip, dialog, divider, elevation, fab, focus-ring, icon-button, icon, list, menu, progress, radio, ripple, select, slider, switch, tabs, text-field), the repo top-level and labs directories, and docs/roadmap.md. Time picker is listed under unbuilt components in the roadmap. The text field's supported type list (text, textarea, email, number, password, search, tel, url) does not include time.
Primer
No time picker in the component index, Internal Components list (only DatePicker, which is internal-only), or src/ tree.
Spectrum
TimeField native: no- Variants
- —
- Sizes
- S, M, L, XL
- States documented
- default, disabled, error
- Accessibility guidance
- yes
Not on spectrum.adobe.com and not in SWC 1st-gen or 2nd-gen; it ships in React Spectrum (v3 docs page read, S2 TimeField.mdx and source read for sizes). Segments are contenteditable divs (React Aria useDateSegment, role textbox) with a hidden date input for form submission; the v3 Accessibility section only covers labelling.
1 corrected on re-read
- urls: {"docs_url":"https://react-spectrum.adobe.com/react-spectrum/TimeField.html","code_url":"https://github.com/adobe/react-spectrum/blob/main/packages/@react-spectrum/s2/src/TimeField.tsx"} → {"docs_url":"https://react-spectrum.adobe.com/v3/TimeField.html","code_url":"https://github.com/adobe/react-spectrum/blob/main/packages/@react-spectrum/s2/src/TimeField.tsx"} prior docs_url /react-spectrum/TimeField.html redirects (200) to /v3/TimeField.html; code_url 200
USWDS
Time picker native: partly @uswds/uswds 3.14.0Platform facts
Anatomy
- label — label element; MDN example labels the time input.
- time input — input type=time: spec says it represents a control for setting a specific time; hours and minutes, optionally seconds (MDN). The picker UI is drawn by the browser.
- validity message optional — MDN example uses a span for feedback; plain term, not a named HTML part.
The seven states
| default | Empty or holding a time. |
|---|---|
| hover | Pointer-only CSS state; not defined by APG or HTML. |
| focus | Inference, no source: focus lands on the input; segment-level focus and picker UI are browser-specific. |
| active | n/a — No distinct pressed state defined. |
| disabled | disabled attribute; readonly also applies (MDN). |
| error | Constraint validation: required, min/max and step mismatch; bad input when the UI holds an unconvertible value (spec). |
| loading | n/a — Not defined by HTML. |
Every cell was read twice, the second time from raw sources by a separate pass. 2 of 35 fields changed on the second read — open any “corrected” note to see what it said before.