Checkbox
Checkboxes allow the user to select one or more items from a set.
Checkboxes can be used to turn an option on or off.
If you have multiple options appearing in a list, you can preserve space by using checkboxes instead of on/off switches. If you have a single option, avoid using a checkbox and use an on/off switch instead.
Size
Use the size
prop or customize the font size of the svg icons to change the size of the checkboxes.
Indeterminate
A checkbox input can only have two states in a form: checked or unchecked. It either submits its value or doesn't. Visually, there are three states a checkbox can be in: checked, unchecked, or indeterminate.
⚠️ When indeterminate is set, the value of the
checked
prop only impacts the form submitted values. It has no accessibility or UX implications.
FormGroup
FormGroup
is a helpful wrapper used to group selection control components.
Customization
Here is an example of customizing the component. You can learn more about this in the overrides documentation page.
🎨 If you are looking for inspiration, you can check MUI Treasury's customization examples.
When to use
Accessibility
(WAI-ARIA: https://www.w3.org/TR/wai-aria-practices/#checkbox)
- All form controls should have labels, and this includes radio buttons, checkboxes, and switches. In most cases, this is done by using the
<label>
element (FormControlLabel). - When a label can't be used, it's necessary to add an attribute directly to the input component.
In this case, you can apply the additional attribute (e.g.
aria-label
,aria-labelledby
,title
) via theinputProps
prop.
<Checkbox
value="checkedA"
inputProps={{
'aria-label': 'Checkbox A',
}}
/>