Description
ONGOING
Checkboxes are used for a list of options where the user may select multiple options, including all, some or none.
It has 3 modes: unselected, selected and indeterminate.
The indeterminate state comes into play when the checkbox contains a sub-list of selections, some of which are selected, and some unselected.
Example:
The component may be used as a single checkbox in which the user can check/uncheck it or it may be used s a group of joined checkboxes that can be selected at the same time.
Usage & Behaviour
General guidelines
List check boxes in a logical order, such as grouping highly related options together or placing most common options first, or following some other natural progression. Alphabetical ordering isn't recommended because it is language dependent, and therefore not localizable.
Align check boxes vertically, not horizontally. Horizontal alignment is harder to read.
Label every check box.
Write the label as a phrase or an imperative sentence, and use no ending punctuation.
The default view of a set of checkboxes is having no option selected.
Structure
Checkboxes patterns:
A single checkbox - an individual choice
independent choices (zero or more) - users can select any combination of options in a group of checkboxes
Master type checkbox which controls other checkboxes' states.
States
The checkbox control allows 3 modes:
Checked | |
Unchecked | |
Indeterminate - this option is used when the checkbox contains a sub-list of selections, of which some are selected and some are not. |
For each if the modes, you can find the different states below:
Interaction
Clicking a checkbox toggles between the states.
Within a group of checkboxes, each checkbox can be checked or unchecked. The user can check multiple options.
Users should be able to select the checkbox by clicking on the box directly or by clicking on its label. The touchable area for toggling the checkbox ends where the text ends.
The default view of a set of checkboxes is having no option selected is this so?.
The checkbox will have an hovered/active state when hovering/clicking either the checkbox or the label describing it.
Checkboxes generally represent one input in a larger flow which requires a final confirmation step.
The indeterminate state is visual only and indicates that an option is set for some, but not all, child objects. This state can’t be achieved by a direct user interaction.
Validation and Errors
Best practices
Use positive and active wording for checkbox labels, so that it's clear what will happen if the box is checked. Avoid negative statements such as "Don't send me more emails", which would mean that the user would have to check the box in order for something not to happen.
Do not use a checkbox (or a checkbox group) if:
Space is constrained → use a DropDown menu.
The user needs to select a single mutually exclusive choice within a group → use Radio Buttons.
The user may need to enter a choice that is not pre-defined → use a Combo Box.
The user needs to select from a range of values → use a Slider.
If the user needs to choose multiple options from a large list → consider using a multi combo box instead.
The resulting action will be instantaneously applied, without the need for further confirmation → use a toggle button.
Future Version (TBD)
Add to structure - dependent choices where at least 1 option must be selected (future TBD)
Design
Zeplin Link | Thumbnail |
---|---|