Difference between revisions of "Projects/Usability/HIG/Toggle Buttons"

< Projects‎ | Usability‎ | HIG
Jump to: navigation, search
(Icon and Label)
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
==Definition==
+
__NOTOC__
  
A toggle button is a button which stays down when clicked once and goes up when clicked a second time.
+
== 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.
  
==When to Use==
+
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.
  
Use a toggle button to indicate a '''state'''.
+
== Example ==
  
Example: A word processor should use toggle buttons to indicate the state of "Bold", "Italic" or "Underline" formatting.
+
== Guidelines ==
 
+
=== Is this the right control ===
[[File:Toggle-button-formatting.png]]
+
* Use a toggle button to indicate a state if no other control apply, i.e. in case of the [[Projects/Usability/HIG/toolbar|toolbar]].
(Toggle buttons used in a rich text editor)
+
* Prefer [[Projects/Usability/HIG/Radio_Buttons|radio buttons]] or [[Projects/Usability/HIG/Check_Box|check boxes]] outside the toolbar.
 
+
=== Behavior ===
==When not to Use==
+
* 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 indicate an '''action'''.
+
* Do not use a toggle button to initiate an action.
 
+
* Do not change the label according the button state.
Example: A music player should not use a toggle button to implement a combined Play/Pause button. It should use a normal button and adjust the icon and label to represent the action which would be performed when clicked.
+
=== Appearance ===
 
+
* Align groups of toggle buttons horizontally rather than vertically.
[[File:Toggle-button-media-player.png]]
+
* 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 ==
==Icon and Label==
+
[http://api.kde.org/4.10-api/kdelibs-apidocs/kdeui/html/classKPushButton.html#KPushButton] for generic buttons.
 
+
[http://api.kde.org/4.10-api/kdelibs-apidocs/kdeui/html/classKAction.html#KAction] is used to generate buttons in toolbars.
There are two ways to label a toggle button:
+
 
+
'''First option: Describe the state which is reached when the button is down'''
+
 
+
In this case the icon and label should not change when the button is down.
+
 
+
For example a button to toggle the visibility of a sidebar could say "Show Sidebar". It should still say "Show Sidebar" when the button is down: it should not be changed to "Hide Sidebar". Think of the button as a check box: when you click a check box you do not expect its label to change.
+
 
+
If you want to change the button text to "Hide Sidebar" when the sidebar is shown then you should use a normal button, not a toggle button.
+
 
+
It is worth noting the label of a toggle button does not need to contain a verb, as long as there is no ambiguity. In this example the label can be reduced to "Sidebar".
+
 
+
[[File:Toggle-button-summary.png]]
+
 
+
'''Second option: Describe the current state'''
+
 
+
In this case the label will often include a passive verb. For example a button to lock or unlock an element would say "Unlocked" when it is up and "Locked" when it is down. The icon should also change to match the label.
+
 
+
[[File:Toggle-button-unlocked-locked.png]]
+

Latest revision as of 12:07, 26 September 2013


[edit] 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.

[edit] Example

[edit] Guidelines

[edit] Is this the right control

[edit] 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.

[edit] 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.

[edit] Implementation

[1] for generic buttons. [2] is used to generate buttons in toolbars.


This page was last modified on 26 September 2013, at 12:07. This page has been accessed 6,490 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal