togglebutton.md 1.44 KB
Newer Older
Carl Schwan's avatar
Carl Schwan committed
1
2
---
title: Toggle Button
Carl Schwan's avatar
Carl Schwan committed
3
4
5
weight: 8
group: editing
subgroup: selection
Carl Schwan's avatar
Carl Schwan committed
6
---
Carl Schwan's avatar
Carl Schwan committed
7

Carl Schwan's avatar
Update    
Carl Schwan committed
8
![Control to show a change of state.](/hig/Togglebutton1.png)
Carl Schwan's avatar
Carl Schwan committed
9
10
11
12
13

Purpose
-------

Toggle buttons look similar to regular buttons, but are used to show or
Carl Schwan's avatar
Carl Schwan committed
14
15
16
change a state rather than initiate an action. A toggle button's two
states, set and unset, are shown by its appearing "pushed in" or
"popped out" respectively.
Carl Schwan's avatar
Carl Schwan committed
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Toggle buttons are a valid option to indicate a state with the advance
of using an icon. Compared to the related radio button or checkbox they
are an efficient way to save screen space. But toggle buttons should be
used with care outside a toolbar because the state is not clearly
indicated.

Guidelines
----------

### Is this the right control?

-   Use a toggle button to indicate a state if no other control apply,
    i.e. in case of the
Carl Schwan's avatar
Carl Schwan committed
31
32
33
    [toolbar](../../navigation/toolbar).
-   Prefer [radio buttons](../radiobutton)
    or [checkboxes](../checkbox) outside the
Carl Schwan's avatar
Carl Schwan committed
34
35
36
37
38
39
40
    toolbar.

### Behavior

-   Group toggle buttons in case of multiple selection.
-   Separate toggle buttons from other controls, so they are not
    mistaken for push buttons.
Carl Schwan's avatar
Carl Schwan committed
41
42
-   Don't use a toggle button to initiate an action.
-   Don't change the label according the button state.
Carl Schwan's avatar
Carl Schwan committed
43
44
45
46
47
48

### Appearance

-   Align groups of toggle buttons horizontally rather than vertically.
-   Provide an access key in the label of all toggle buttons that allows
    the user to set or unset the button directly from the keyboard.