Skip to main content

Month picker

Usage

Overview

Month picker is a control element where the user selects a specific month from a calendar or enters it manually. This component is commonly used in insurance applications where users need to specify a month, such as selecting the start date for an insurance policy or filtering data by date.

When to use

When the user needs to select a month.

When not to use

  • When the user needs to enter a month that's in the distant past or future. In this case, use the date input.
  • When the user needs to select the month, day, and year. In this case, use the date picker.
  • When the user only needs to select a year. In this case, use the year picker.

Formatting

Anatomy

Image depicting the anatomy of the month picker component

The month picker component consists of the following elements:

  1. Date picker field: An input field where the user can manually enter the month and year.
  2. Calendar icon: An icon button that triggers the dropdown calendar when clicked.
  3. Previous year button: A navigational control for viewing and selecting the months of the previous year.
  4. Year button: A control for selecting a different year.
  5. Next year button: A navigational control for viewing and selecting the months of the next year.
  6. Selected month: The specific month chosen by the user and highlighted or emphasized within the month picker interface.
  7. “Current month” button: A button that automatically populates the month picker field with the current month and year when clicked.

Date format

A MM/YYYY placeholder within the input field guides users on the expected month and year format as they type.

Image that shows a user typing in the date picker field

Content

General writing guidelines

  • Use sentence case for all aspects of designing Guidewire product interfaces. Don't use title case.
  • Use present tense verbs and active voice in most situations.
  • Use common contractions to lend your copy a more natural and informal tone.
  • Use plain language. Avoid unnecessary jargon and complex language.
  • Keep words and sentences short.

Include a label

Label the month picker with clear, descriptive text. This label must communicate its purpose and the specific type of month being selected.

Do position a permanent label outside the field.
Don't use placeholder text as a replacement for the label.

Add help text if it's meaningful

Use help text to provide context and communicate what month to select. Here are some examples of what you might include:

  • Hints that assist the user in choosing the appropriate month
  • More context for why the user needs to select a specific month

Only use help text for pertinent information. Avoid restating the same details that appear in the label. Write help text in sentence case, using 1-2 short, complete sentences that end with a period.

Do use help text to show context.
Don't use help text to simply restate the same information that appears in the label.

Behaviors

States

The month picker component behaves like an input field, with the same interactive states.

Interactions

Mouse

Users can enter the month and year manually in the date picker field or click the calendar icon to select the month and year from a dropdown.

Image that shows a user interacting with the month picker using a mouse

Keyboard

The date picker is expanded and collapsed with Spacebar. Users navigate through the options using the arrow keys and select by means of the Spacebar or Enter key.

A calendar widget appears when the user tabs to the date picker input field. The current date is highlighted and keyboard-only users can enter the date manually here. Users can also place keyboard focus on the widget by pressing the down arrow key when it is expanded. Navigate through the calendar with the arrow keys. 'Previous', 'Month', 'Year', and 'Next' buttons are focusable using the Tab key when the widget is open.

Screenreader

Users are informed of the pre-populated date value when they tab to the date picker input field, and that this value is currently selected. The date can be entered manually from this input field. While focus remains on the pre-populated date, a calendar widget is also available. Users can also move focus into the widget by pressing the down arrow key. Navigation through the calendar portion of the widget is accomplished via the arrow keys, and the value currently in focus is voiced by screen readers via a WAI-ARIA aria-label attribute. The 'Previous', 'Month', 'Year', and 'Next' buttons are focusable using the Tab key when the widget is open. React date picker does not currently enable keyboard navigation to the 'Today' link.

Input handling

The month picker component allows users to move the caret (the blinking text cursor) between different sections of the date (MM/YYYY). However, users cannot delete individual digits within a section. Deleting any digit erases the entire section (MM or YYYY), requiring users to retype it. This behavior is consistent across date components, where the input mask formats the input as the user types.

Accessibility

The contrast ratio of textual elements against their background is above 4.5:1 as per WCAG 2.1 AA requirements. Non-textual content that needs to convey meaning (such as icons and keyboard focus visibility) has a contrast ratio of at least 3:1 with its adjacent colors. All content is visible and functional up to and including 400% without requiring scrolling in two dimensions.

This component has been validated to meet the WCAG 2.1 AA accessibility guidelines. However, changes made by the content author can affect accessibility conformance.

When using this component, ensure that the label clearly communicates which month the user needs to input or select.