Selection controls

Selection controls allow the user to select options.

Interactive demo

This demo lets you preview selection controls. Each tab displays a different type of selection control.

Developer documentation

Component

Platform

Status

Checkboxes

Android

Available

iOS

Platform exception

Web

Available

Flutter

Available

Radio buttons

Android

Available

iOS

Platform exception

Web

Available

Flutter

Available

Switches

Android

Available

iOS

Platform exception

Web

Available

Flutter

Available


Usage

Selection controls allow users to complete tasks that involve making choices such as selecting options, or switching settings on or off. Selection controls are found on screens that ask users to make decisions or declare preferences such as settings or dialogs.

Principles

Selection controls should be familiar, scannable, and efficient.

Read More

Familiar

Selection controls have been in user interfaces for a long time and should be used as expected.

Scannable

It should be visible at a glance if a selection control has been selected, and selected items should be more visually prominent than unselected items.

Efficient

Selection controls make it easy to compare available options.

Types

Selection controls are radio buttons, checkboxes, and switches.

Read More
Two radio buttons. One is selected and the other is unselected.

Radio buttons

Two checkboxes. One is selected and the other is unselected.

Checkboxes

Two switches. One is on and the other is off.

Switches

When to use radio buttons

Selection controls should be used

Read More

Use radio buttons to:

  • Select a single option from a list
  • Expose all available options

If available options can be collapsed, consider using a dropdown menu instead, as it uses less space.

List of options to select phone ringtone. Each option has a radio button.

Radio buttons allow for a single option to be selected from a visible list

Radio buttons should be used instead of checkboxes if only one item can be selected from a list.

List of shipping options to home or work. Each option has a checkbox.

Don’t.

Don’t use checkboxes when only one item can be selected from a list. Use radio buttons instead.

List of shipping options to home or work. Each option has a radio button.

Do.

Use radio buttons when only one item can be selected from a list.

When to use switches

Use switches to: Switches should be used instead of radio buttons if each item in a set can be independently controlled.

Read More

Use switches to:

  • Toggle a single item on or off, on mobile and tablet
  • Immediately activate or deactivate something
List of phone settings. Each setting has a switch.

Switches

Switches should be used instead of radio buttons if each item in a set can be independently controlled.

List of phone settings. Each item has a radio button.

Don’t.

Don’t use radio buttons to toggle items on or off. Radio buttons convey that a set of items are options, and that only one can be selected at a time.

List of phone settings. Each item has a switch.

Do.

Use switches to turn an item on or off, especially on mobile instead of a checkbox.

When to use checkboxes

Use checkboxes to:

Read More

Use checkboxes to:

  • Select one or more options from a list
  • Present a list containing sub-selections
  • Turn an item on or off in a desktop environment

Checkboxes

When to use checkboxes instead of switches

List of types of emails to receive. Each item has a switch.

Don’t.

If a list consists of multiple options, use checkboxes instead of switches. Checkboxes imply the items are related, and take up less visual space.

List of types of emails to receive. Each option has a checkbox and the first option is a parent control for receiving emails.

Do.

Checkboxes let users select one or more options from a list. A parent checkbox allows for easy selection or deselection of all items.


Checkboxes

Usage

Checkboxes allow the user to select one or more items from a set. Checkboxes can be used to turn an option on or off. Checkboxes...

Read More

Checkboxes allow the user to select one or more items from a set. Checkboxes can be used to turn an option on or off.

Selected and unselected checkboxes

Using checkboxes to select multiple items in a list

Using a checkbox to turn an option on or off

Parent and child checkboxes

Checkboxes can have a parent-child relationship with other checkboxes.

  • When the parent checkbox is checked, all child checkboxes are checked
  • If a parent checkbox is unchecked, all child checkboxes are unchecked
  • If some, but not all, child checkboxes are checked, the parent checkbox becomes an indeterminate checkbox

Checked, unchecked, and indeterminate parent checkboxes

States

Checkboxes can be selected, unselected, or indeterminate. Checkboxes have enabled, hover, focused and pressed states.

Read More

Checkboxes can be selected, unselected, or indeterminate. Checkboxes have enabled, hover, focused and pressed states.

Checkbox states


Radio buttons

Usage

Radio buttons allow the user to select one option from a set. Use radio buttons when the user needs to see all available options. If...

Read More

Radio buttons allow the user to select one option from a set. Use radio buttons when the user needs to see all available options. If available options can be collapsed, consider using a dropdown menu because it uses less space.

Selected and unselected radio buttons

Using radio buttons to select a single item

States

Radio buttons can be selected or unselected. Radio buttons have enabled, hover, focused and pressed states.

Read More

Radio buttons can be selected or unselected. Radio buttons have enabled, hover, focused and pressed states.

Radio button states


Switches

Usage

Switches toggle the state of a single setting on or off. They are the preferred way to adjust settings on mobile. A switch is successfully...

Read More

Switches toggle the state of a single setting on or off. They are the preferred way to adjust settings on mobile.

State

A switch is successfully toggled when the user slides a switch thumb to the other side of the track, and the state of the switch changes.

Text label

The option that the switch controls, as well as the state it’s in, should be made clear from the corresponding inline label.

Avoid creating a switch that includes the text “on” and “off” within the graphic itself. The switch alone should be sufficient.

Unselected and selected switches with numbers identifying its 2 elements and states

1. Thumb
2. Track

Using a switch to turn an option on and off

Behavior

When a user toggles a switch, its corresponding action takes effect immediately. If a switch cannot be turned on, the switch will automatically turn back...

Read More

When a user toggles a switch, its corresponding action takes effect immediately. If a switch cannot be turned on, the switch will automatically turn back off.

A switch unable to be toggled on

Display processing status

Because a switch shows the actual status of something, sometimes there is a delay in its change of state. In such cases, a processing status animation can be used.

A processing status is an animation on the thumb of the switch. For example, it can be used when a switch that controls a hardware feature experiences a delay before its final status can be confirmed.

A processing status animation

States

Switches can be on or off. Switches have enabled, hover, focused, and pressed states. Display the outer radial reaction only on form factors that use...

Read More

Switches can be on or off. Switches have enabled, hover, focused, and pressed states.

Display the outer radial reaction only on form factors that use touch, where interaction may obstruct the element completely.

For desktop, the radial reaction isn’t needed.

Matrix of all switch state combinations

Switch states


Theming

Crane Material Theme

This travel app’s selection controls have been customized using Material Theming to use custom color. Crane is a travel app that uses Material Design components...

Read More

Specs

Checkboxes

  • Measurement 24

Radio buttons

  • Measurement 20

Switches

  • Measurement 20
  • Measurement 36