Projects/Usability/HIG/Toggle Buttons: Difference between revisions

    From KDE TechBase
    < Projects‎ | Usability‎ | HIG
    No edit summary
    No edit summary
    (23 intermediate revisions by one other user not shown)
    Line 1: Line 1:
    A toggle button is a button which stays down when clicked once and goes up when clicked a second time.
    __NOTOC__


    ==When to use==
    == 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.


    Use a toggle button to indicate a '''state'''.
    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: A word processor should use toggle buttons to indicate the state of "Bold", "Italic" or "Underline" formatting.
    == Example ==


    ==When not to use==
    == Guidelines ==
     
    === Is this the right control ===
    Do not use a toggle button to indicate an '''action'''.
    * 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.
    Example: A music player should not use a toggle button to implement a 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.
    === Behavior ===
     
    * Group toggle buttons in case of multiple selection.
    ==How to use==
    * Separate toggle buttons from other controls, so they are not mistaken for push buttons.
     
    * Do not use a toggle button to initiate an action.
    Never change the icon or label of a toggle button. The fact that it is pressed down is enough to indicate the current state of the element it represents.
    * Do not change the label according the button state.
     
    === Appearance ===
    Since a toggle button represents a state, in most cases the label should be a noun rather than a verb.
    * 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.

    Revision as of 11:07, 26 September 2013


    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

    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.