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

< Projects‎ | Usability‎ | HIG
Jump to: navigation, search
(Appearance)
Line 29: Line 29:
  
 
=== Appearance ===
 
=== Appearance ===
 +
* When options are subordinate to a radio box, this relation should be visualized by indenting the sub-options by using a horizontal spacer of SizeType "Minimum".
 
* Provide a descriptive label above or left to a group of radio buttons in [[Projects/Usability/HIG/Capitalization#Sentence_Style_Capitalization|sentence style capitalization]].
 
* Provide a descriptive label above or left to a group of radio buttons in [[Projects/Usability/HIG/Capitalization#Sentence_Style_Capitalization|sentence style capitalization]].
*: [[File:RadioButtons-9-bad.png]]  [[File:RadioButtons-9-good.png]]
 
 
* Use [[Projects/Usability/HIG/Capitalization#Title_Capitalization|title style capitalization]] for the radio button options.
 
* Use [[Projects/Usability/HIG/Capitalization#Title_Capitalization|title style capitalization]] for the radio button options.
*: [[File:RadioButtons-10-bad.png]]  [[File:RadioButtons-10-good.png]]
 
 
* Align groups of radio buttons vertically rather than horizontally, as this makes them easier to scan visually.
 
* Align groups of radio buttons vertically rather than horizontally, as this makes them easier to scan visually.
*: [[File:RadioButtons-11-bad.png]]  [[File:RadioButtons-11-good.png]]
 
 
* If toggling a radio button affects the enabled state of other controls, place the controls that it affects next to the radio button or below and indented.
 
* If toggling a radio button affects the enabled state of other controls, place the controls that it affects next to the radio button or below and indented.
*: [[File:RadioButtons-12-bad.png]]  [[File:RadioButtons-12-good.png]]
 
  
 
== Implementation ==
 
== Implementation ==
 
* [http://qt-project.org/doc/qt-4.8/qradiobutton.html QRadioButton]
 
* [http://qt-project.org/doc/qt-4.8/qradiobutton.html QRadioButton]
 
* [http://qt-project.org/doc/qt-4.8/qbuttongroup.html QButtonGroup]
 
* [http://qt-project.org/doc/qt-4.8/qbuttongroup.html QButtonGroup]

Revision as of 14:38, 30 July 2013


Purpose

Radio buttons offer the user a choice of two or more mutually exclusive options. Try to limit the number of radio buttons and radio button groups in a dialog. Offering a high number of radio buttons consumes screen space and adds to visual clutter. At the same time, showing all available options at once is an advantage if users are likely not to know possible alternatives.

Examples

Radio buttons.png

Guidelines

Is this the right control

  • Use radio buttons for a few mutually exclusive options. If there are more than five options (or if there is not enough space to arrange four or five options), use a combo box or list instead.
    RadioButtons-1-bad.png RadioButtons-1-good.png
  • If there are only two options where one is the negation of the other (e.g. "apply" vs. "do not apply"), consider replacing the radio buttons by one check box.
    RadioButtons-2-bad.png RadioButtons-2-good.png
  • Use radio buttons if the user should see the choices without further interaction.
    RadioButtons-3-bad.png RadioButtons-3-good.png
  • Do not use a radio button to initiate an action. Consider using a push button instead.
    File:RadioButtons-4-bad.png File:RadioButtons-4-good.png

Behavior

Appearance

  • When options are subordinate to a radio box, this relation should be visualized by indenting the sub-options by using a horizontal spacer of SizeType "Minimum".
  • Provide a descriptive label above or left to a group of radio buttons in sentence style capitalization.
  • Use title style capitalization for the radio button options.
  • Align groups of radio buttons vertically rather than horizontally, as this makes them easier to scan visually.
  • If toggling a radio button affects the enabled state of other controls, place the controls that it affects next to the radio button or below and indented.

Implementation


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal