Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Components

Checkbox

Use: Deployed English, Spanish, Tagalog USWDS v3
Allows users to select one or more items from a list. Checkboxes are an easily understandable way to indicate that users can select one or more answers to a question or items from a list.

Examples - Single

Default

View va-checkbox in Storybook

Tile

View va-checkbox tile in Storybook

Checked

View va-checkbox checked in Storybook

Hint text

View va-checkbox with hint text in Storybook

Description String

View va-checkbox with description string in Storybook

Description JSX

View va-checkbox with description JSX in Storybook

On background

View va-checkbox on a background in Storybook

Error

View va-checkbox error in Storybook

Required

View va-checkbox required in Storybook

Internationalization

View va-checkbox internationalization in Storybook

Examples - Group

Default

View va-checkbox-group default in Storybook

Label header

View va-checkbox group label header in Storybook

Hint text

View va-checkbox group with hint text in Storybook

Required

View va-checkbox group required in Storybook

Single checkbox

View va-checkbox group single checkbox in Storybook

Tile

View va-checkbox group tile in Storybook

Forms pattern - Single

View va-checkbox group forms pattern single in Storybook

Forms pattern - Single error

View va-checkbox group forms pattern single error in Storybook

Forms pattern - Multiple

View va-checkbox group forms pattern multiple in Storybook

Error

View va-checkbox group error in Storybook

Internationalization

View va-checkbox group internationalization in Storybook

Usage

Refer to the U.S. Web Design System for usage guidance

Additional guidance for VA

When to consider something else

  • If there are too many options to display on a mobile screen.
  • If a user can only select one option from a list (use radio buttons instead).

Conditionally revealed fields

In the radio button and checkbox components, we offer an option to conditionally reveal fields when the user selects an answer. These fields are often used to group related questions together by revealing a single follow-up question only when they’re relevant to the user.

Conditionally revealed fields can be used if the following conditions are met:

  1. There should only be one reveal on a page.
  2. When the revealed trigger is selected, you must be able to tab directly into the newly revealed field (Which is why we’ve put the “other” question last.)
  3. The newly revealed question field must be understood by itself. For example, don’t just say “Other”. Instead, say:

Since your relationship with the veteran was not listed, please describe it here

An example of a conditionally revealed field
Example of asking the relationship to the Veteran with radio buttons and a conditionally revealed field.

Errors

  • Refer to the specific error examples above.

View form error handling for additional guidance

Hint text

View label hint text for additional guidance

Code usage

Attributes and Properties

Property Attribute Type Default Description
enableAnalytics enable-analytics boolean false Whether or not an analytics event will be fired.
error error string A string with an error message.
formHeading form-heading string The content of the heading if `useFormsPattern` is true.
formHeadingLevel form-heading-level number 3 The heading level for the heading if `useFormsPattern` is true.
hint hint string Optional hint text.
label label string The text label for the checkbox group.
labelHeaderLevel label-header-level string Insert a header with defined level inside the label (legend)
messageAriaDescribedby message-aria-describedby string An optional message that will be read by screen readers when a checkbox is focused.
required required boolean false Whether or not this input field is required.
useFormsPattern use-forms-pattern string Enabling this will add a heading and description for integrating into the forms pattern. Accepts `single` or `multiple` to indicate if the form is a single input or will have multiple inputs.

Events

Name Description
component-library-analytics The event used to track usage of the component. This is emitted when an input value changes and enableAnalytics is true.
vaChange The event emitted when the input value changes.

Using message-aria-describedby

In HTML, the attribute aria-describedby accepts ids of the elements that describe an object. This is used to establish a relationship between an element and text elsewhere that describes it for screen readers.

However, the VA.gov Design System uses web components and the shadow DOM, which prevents HTML’s aria-describedby from being able to establish the relationship between elements. Because of that, the message-aria-describedby prop is used in our components instead. Instead of accepting ids, it accepts a message string to read out. This message is placed inside the shadow DOM, hidden visually, but made accessible to screen readers. This allows it to function similarly to aria-describedby and have the descriptive text read out when the element is focused.

Native Events

The native onBlur event is available on this component. It can be used by adding the event handler to your component and it will then listen to the event and respond accordingly when the event fires.

Content considerations

Refer to our bulleted list guidance for punctuation and general considerations

Accessibility considerations

Refer to the U.S. Web Design System for accessibility guidance

Edit this page in GitHub (Permissions required)
Last updated: Oct 22, 2024