Projects/Usability/HIG/Toggle Buttons: Difference between revisions
No edit summary |
|||
Line 10: | Line 10: | ||
== Guidelines == | == Guidelines == | ||
=== Is this the right control === | === Is this the right control === | ||
* Use a toggle button to indicate a state if no other control apply, i.e. in case of the [[ | * Use a toggle button to indicate a state if no other control apply, i.e. in case of the [[../Toolbar|toolbar]]. | ||
* Prefer [[Projects/Usability/HIG/Radio_Buttons|radio buttons]] or [[Projects/Usability/HIG/Check_Box|check boxes]] outside the toolbar. | * Prefer [[Projects/Usability/HIG/Radio_Buttons|radio buttons]] or [[Projects/Usability/HIG/Check_Box|check boxes]] outside the toolbar. | ||
=== Behavior === | === Behavior === | ||
* Group toggle buttons in case of multiple selection. | * Group toggle buttons in case of multiple selection. |
Revision as of 22:15, 10 November 2014
Purpose
Toggle buttons look similar to regular buttons, but are used to show or 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.
Toggle buttons are a valid option to indicate a state with the advance of using an icon. Compared to the related radio button or check box 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.
Example
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 toolbar.
- Prefer radio buttons or check boxes outside the toolbar.
Behavior
- Group toggle buttons in case of multiple selection.
- Separate toggle buttons from other controls, so they are not mistaken for push buttons.
- Do not use a toggle button to initiate an action.
- Do not change the label according the button state.
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.
Implementation
[1] for generic buttons. [2] is used to generate buttons in toolbars.