Version 1.0.0

Checkbox group

A checkbox group is a grouping of checkboxes that are related to each other.

A key example of a checkbox group, showing help text description and error message. Required checkbox group, label Interests. 3 checkboxes, labels Travel, Music, Shopping. Help text description in grey, Select at least one interest. Error message text in red with error icon, Select at least one interest.

Anatomy#


Diagram showing the component parts of a checkbox group, including its Field label, checkbox area, and help text.

Options#


Key example of a checkbox group with a field label. Label, Interests. 3 checkboxes, labels Travel, Music, Shopping.

Label#

Checkbox groups should always have a label. In rare cases where context is sufficient and an accessibility expert has reviewed the design, the label could be undefined. These checkbox groups without a visible label should still include an aria-label in HTML (depending on the context, “aria-label” or “aria-labelledby”).

2 key examples of checkbox groups showing label position options. First example, top label position. Label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Second example, side label position, with the label to the left. Label, Interests. 3 checkboxes, labels Travel, Music, Shopping.

Label position#

Labels can be placed either on top or on the side. Top labels are the default and are recommended because they work better with long copy, localization, and responsive layouts. Side labels are most useful when vertical space is limited.

Key example of 2 checkbox groups showing vertical and horizontal orientation. First example, vertical orientation. 2 checkboxes stacked vertically. Field label, Interests. 2 checkboxes, labels Travel, Music. Second example, horizontal orientation. 2 checkboxes placed horizontally. Field label, Interests. 2 checkboxes, labels Travel, Music.

Orientation#

Checkbox groups can be either horizontal or vertical. By default, checkbox groups are vertical. Use a horizontal checkbox group when vertical space is limited.

Key example of 2 checkboxes showing different sizes. First example, small size. Field label, Interests. 3 radio buttons, labels Travel, Music, Shopping. Description, Select at least one interest. Second example, extra-large size. Field label, Interests. 3 radio buttons, labels Travel, Music, Shopping. Description, Select at least one interest.

Size#

Checkbox groups come in four different sizes: small, medium, large, and extra-large. The medium size is the default and most frequently used option. Use the other sizes sparingly; they should be used to create a hierarchy of importance within the page.

The field label, checkboxes, and help text all conform to the same sizing option.

Key example of 3 checkbox groups showing required or optional marks. First example, optional. Field label, Interests (Optional). 3 checkboxes, labels Travel, Music, Shopping. Description, Select at least one interest. Second example, required. Field label, Interests (Required). 3 checkboxes, labels Travel, Music, Shopping. Description, Select at least one interest. Third example, required. Field label, Interests. Label includes an asterisk icon. 3 checkboxes, labels Travel, Music, Shopping. Description, Select at least one interest.

Required or optional#

Checkbox groups can be marked as optional or required, depending on the situation. For required checkbox groups, there are two styling options: a “(required)” label or an asterisk. If you use an asterisk, be sure to include help text to explain what the asterisk means. Optional checkbox groups are either denoted with text added to the end of the label — “(optional)” — or have no indication at all.

The asterisk used in this component is an icon that has specific spacing from the label text — not part of the label text itself.

Key example of a checkbox group showing an error. Required field label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Error message in red with error icon, text Select at least one interest.

Error#

Checkbox groups can be marked as having an error to show that a selection needs to be made in order to move forward, or that a selection that was made is invalid. The error is indicated with negative help text, along with an icon.

2 key examples of radio groups showing help text. First example, required field label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Description text in grey, Select at least one interest. Second example, required field label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Error message in red text with error icon, Select at least one interest.

Help text (description and error message)#

Checkbox groups should use help text for error messaging and descriptions. Descriptions are valuable for giving context behind why a selection is required, or for clarifying the options.

Key example of a checkbox group in a disabled state. Required field label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Description text in grey, Select at least one interest. Radio group is faded in grey color to show that it can’t be interacted with.

Disabled#

A checkbox group in a disabled state shows that a selection exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that an action may become available later. The field label, checkboxes, and help text are all displayed in a disabled state when the checkbox group is disabled.

Key example of a radio group in a read-only state. Required field label, Interests. 3 checkboxes, labels Travel, Music, Shopping. Description text in grey, Select at least one interest. A mouse cursor hovers over the labels Travel and Music to highlight the text.

Read-only#

Checkbox groups have a read-only option for when they’re in the disabled state but still need their labels to be shown. This allows for content to be copied, but not interacted with or changed.

Table of options#

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework.

PropertyValuesDefault Value
label
text / nothing
-
label position
top / side
top
necessity indicator
text / icon / nothing
icon
is required
yes / no
no
orientation
horizontal / vertical
vertical
is error
yes / no
no
is disabled
yes / no
no
is read-only
yes / no
no
description
text / nothing
nothing
error message
text / nothing
nothing

Composition#


Key example showing the composition of a checkbox group. The checkbox area is located between the field label and the help text.

Checkbox area#

This area is reserved for checkboxes that represent the selection options for the checkbox group.

Internationalization#


Key example showing how a checkbox group appears in Arabic, with UI mirrored. Required checkbox group, label Interests. 3 radio buttons, labels Travel, Music, Shopping. Help text description, Select at least one interest.

RTL#

For RTL (right-to-left) languages, the layout of the checkbox group (and its components) is mirrored. The checkmarks and icons are placed on the right side of the text, and text is aligned to the right.

Keyboard interactions#


KeyInteraction
TabMoves focus to previous or next checkbox in the checkbox group. Does not loop when the last or first checkbox is reached.
SpaceToggles the checkbox between selected and not selected. If the checkbox is initially partially selected, the checkbox becomes selected first, and subsequent toggles alternate normally between selected and not selected.