Appearance
Checkboxes
Checkboxes allow users to select one or more items from a set.
Principles
Familiar: Checkboxes have been in user interfaces for years and should work as expected.
Scannable: It should be obvious when a checkbox has been selected, and selected items should be more visually prominent than unselected items.
Efficient: They make it easy to compare available options.
Behavior
States
Checkboxes have enabled, disabled, hover and pressed states.

Parent-child checkboxes
Checkboxes can have a parent-child relationship with other checkboxes.
- If a parent checkbox is unchecked, all child checkboxes are unchecked
- When the parent checkbox is checked, all child checkboxes are checked
- If some, but not all, child checkboxes are checked, the parent checkbox becomes an indeterminate checkbox