[kde-guidelines] Styleguide: Toggle buttons

Heiko Tietze heiko.tietze at user-prompt.com
Mon Sep 23 11:51:51 UTC 2013


There is an old contribution about toggle buttons that I want to refuse 
completely. To keep it until your input I didn't change the page and discuss 
my two cents only here.

Recent page: http://techbase.kde.org/Projects/Usability/HIG/Toggle_Buttons

IMHO better example: https://developer.gnome.org/hig-book/3.2/controls-toggle-buttons.html.en

My suggestion:
* Use a toogle button to indicate a state, preferably in toolbars only.

== 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 [[Projects/Usability/HIG/toolbar|toolbar]].
* Prefer [[Projects/Usability/HIG/Radio_Buttons|radio buttons]] or 
[[Projects/Usability/HIG/Check_Box|check boxes]] outside the toolbar.
=== Behavior ==
* Use toggle buttons only in groups, so they are not mistaken for push 
buttons.
* Separare the group of toggle buttons from other controls by adding 
separators or a frame.
* 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 ==
* [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.


More information about the kde-guidelines mailing list