Skip to end of banner
Go to start of banner

Date Picker

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 61 Next »

Description

Date pickers allow the user to either select or manually enter a single date.

Usage & Behavior

General guidelines

Structure

Date pickers consist of:

  • Date input field. The date can be directly edited here, in the required format. If there is no default date, the input will show a hint text indicating the desired format (for example, dd/mm/yyyy).

  • Date picker button. A calendar Icon Button which opens the calendar drop-down.

  • Calendar drop-down, which consists of:

    • Month calendar, which allows the user to pick a specific date using mouse or keyboard input.

    • Month and Year selectors, which allow the user to directly select a specific month or year. 

    • Left and Right arrows, which allow the user to navigate backward or forward one month at a time.

States

Date input field

State

Visual

Regular

Regular.png

Hover

Hover.png

Active

Split Buttons Regular-Active.png

Disabled

Disabled.png

Read-Only

Read-Only.png

Error

Error.png

Warning

Warning.png

Focused

Frame 414.png

Focused, Hover

Focused, Hover.png

Focused, Active

Focused, Active.png

Focused, Disabled

Focused, Disabled.png

Calendar

  • The current day and the selected date are highlighted.

  • The calendar may contain dates which the user cannot select. Those dates should be disabled.

  • Days from the previous or next month, seen in the first or last weeks, should be greyed out (with the cursor still shown as a hand).

State

Visual

General

Regular (x2 in size)

Hover (x2 in size)

Active (x2 in size)

Selected (x2 in size)

Disabled / Greyed out (x2 in size)

In case of greyed out the cursor will still be shown as a hand.

Today (x2 in size)

Internal logic

  • Unavailable days will be disabled.

Interaction

The date can be set either via direct input or by using the controls in the calendar drop-down. Additional keyboard interaction can be found under the focus management section below.

Direct input

  • The date picker can have an initial value, which the user can edit at any time.

  • When clicking on the text, the relevant input section will be highlighted (MM, DD, or YYYY).

  • Once an input section is filled, the highlight will move to the next section.

  • On Apply, the date picker field will lose focus (nothing is highlighted).

  • The user should be allowed to enter dates in loose formats, where possible. These should be automatically corrected when the field loses focus. For example, 1/3/21 should be auto-corrected to 01/03/2021.

Date picker menu

  • Clicking on the calendar Icon Button or any blank space will open the date picker menu.

  • The date picker menu will be closed:

    • when a date is selected, or

    • by clicking outside the date picker menu.

Validation and Errors

Please refer to Field Validation page for more information.

A date field with a warning will have an orange border and a warning icon, as displayed below:

A date field with an error will have a red border and an error icon, as displayed below:

Transitions

  • A slide down transition is used when the menu opens.

  • A swipe transition is used when pressing the left and right arrows to navigate between the months.

Best practices

  • Provide a help text which shows the required date format. This will help to prevent input errors.

  • When it’s important to go back to the current day, consider adding a Today button.

Accessibility Compliance

Unless otherwise specified, see our general compliance information in Fundamentals - Accessibility.

Focus management

Keyboard

Date picker field

Date picker menu

Focused.png

Split Buttons Regular-Active.png

Tab

  • Navigates the input section from left to right.

  • When on the last input section, the highlight will move to the next component.

Cycles through the different elements in the following order:

  • Left arrow.

  • Month menu.

  • Year menu.

  • Right arrow.

  • The focused day on the calendar. (By default, this is the current day).

Shift + Tab

  • Navigates the input section from right to left.

  • When on the first input section, the highlight will move to the previous component.

Reverses the order of navigation described for Tab.

Space

  • Opens the date picker menu.

  • Removes the section highlight.

  • When a day is highlighted - Sets the currently-selected date and closes the menu.

  • On month/year - Opens the menu.

  • On right/left arrows - Navigates between months accordingly.

Enter

Applies the date.

Sets the currently-selected date and closes the menu.

Esc

N/A

Closes the menu and returns the focus to the field, without applying any changes.

Arrows

  • Up - Increases the value of the highlighted input section.

  • Down - Decreases the value of the highlighted input section.

  • Right/Left - Moves the input highlight accordingly.

  • When a day is highlighted - All arrow keys (up, down, left, right) navigate between the days accordingly.

  • On the last day of the month - Right arrow key will navigate to the first day of the next month.

  • On the first day of the month - Left arrow key will navigate to the last day of the previous month.

  • On month/year - Down arrow key will open the menu.

Mouse

Date picker field

Date picker menu

Right click

Set Focus state on field

Set Regular state on component

Design

Zeplin Link

Thumbnail

https://zpl.io/aNXBPk2

Date Picker States.png

Code





  • No labels