Skip to main content

An official website of the United States government

Here's how you know

An official website of the United States government

Here's how you know

Theme:

Design system switcher

Version:

Design system switcher

Theme:

Design system switcher

Version:

Design system switcher

Multi-Input Date Field

Date field (multi-input) provides date entry, spaced over three separate inputs for month, day, and year.

Examples

Guidance

When to use

Use this date field when:

  • User flow requires inputs be separated
  • Functionality/back-end systems can't support a single date field entry

Generally used for more memorable dates like date of birth, marriage date, or income start date.

When to consider alternatives

  • Don't use this date field if either single-input or date picker are feasible. This pattern is least effective with users.

Usage

  • Allow users to enter one-digit numbers with or without the "0" prior to the number. Example: "1" as well as "01" for a month or day.

Accessibility

The multi-input date field component has been tested against, and meets, WCAG 2.0 standards for text size, color contrast, and screen reader usage.

  • These text fields should follow the accessibility guidelines for all text inputs.
  • Our component does not auto-advance the focus from one field to another. This is by design to make sure that keyboard users are able to correct mistakes.
  • Utilize the required label prop to provide a meaningful description of the multi-input date field. Optionally, you can use the hint prop to provide additional contextual information or clearer directions for use. Using the label and hint props provide a number of benefits to users such as lowering the cognitive burden and increasing the interaction area when using the multi-input date field.

Accessibility testing

Screen reader testing

  • Screen readers should announce that each individual field is editable.
  • If the field already has content within it, the screen reader should announce the existing contents.
  • Whether the field is required or not should be announced by the screen reader.
  • The text content supplied to the label prop should be read first, then any text supplied to the hint prop should be read, then finally the content within the date field.

Keyboard testing

  • Using only a keyboard, you can navigate to each text field, type in it, and navigate away from it.
  • Each field should have a visible focus indicator, and highlight any existing contents, when navigated to.

Zoom magnification

  • When zoomed to 200%, text fields must remain legible, functional, and properly sized.

Code

React

Review Storybook for React guidance of this component.

Style customization

The following CSS variables can be overridden to customize Input/Form components:

CSS variables for text-input
VariableDefault Core Theme Value
--text-input__background-color--disabledhex value: #d9d9d9--color-gray-lighter
--text-input__border-width2px
--text-input__border-width--disabled2px
--text-input__border-width--error3px
--text-input__border-colorhex value: #262626--color-base
--text-input__border-color--disabledhex value: #a6a6a6--color-gray-light
--text-input__border-color--errorhex value: #e31c3d--color-error
--text-input__border-color--error--inversehex value: #f7bbc5--color-error-lighter
--text-input__border-color--inversehex value: #000000--color-black
--text-input__border-radius--radius-default
--text-input__colorhex value: #262626--color-base
--text-input__divider-colorhex value: #a6a6a6--color-gray-light
--text-input__padding--spacer-1
--text-input__line-height1.2999999523162842
--text-input-currency-icon__line-height--text-input__line-height
--text-input-currency-icon__spacing20px

Component maturity

For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.

Accessibility

  • Color

    Meets AA color contrast standards for accessibility and color blindness.
    Complete
  • Forced Colors Mode (FCM)

    While using FCM the components text is legible and improves readability.
    Complete
  • WCAG 2.1 Level AA Conformance

    All Axe checks for WCAG AA compliance have passed.
    Complete
  • Screen readers

    VoiceOver, NVDA, and JAWS screen readers provide concise communication and interaction.
    Complete
  • Keyboard navigation

    Component is fully navigable with a keyboard.
    Complete

Code

  • Storybook

    Component has stories to cover all defined props.
    Complete
  • Responsive

    Component designed to work in all responsive breakpoints.
    Complete
  • Spanish translations

    Includes Spanish translations for default text content.
    Complete

Tokens

  • Code

    Tokens implemented in code.
    Complete
  • Design

    Tokens implemented in Figma.
    Incomplete