|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| __NOTOC__
| | {{ Moved To Community | KDE_Visual_Design_Group/HIG/Alignment }} |
| == Purpose ==
| |
| One of the most important aspects of presentation is ''alignment'' and ''placement'' of controls. Its theoretical foundation is based on Gestalt psychology. Human perception tends to order experience in a manner that is regular, orderly, symmetric, and simple. Visual impression is generated to an emergent whole based on several principles, called Gestalt laws. Two basic laws are:
| |
| * Law of proximity: an assortment of objects that are close to each other are formed into a group
| |
| * Law of similarity: objects will be perceptually grouped together if they are similar to each other
| |
| Placement of controls should be carefully done according to Gestalt theory.
| |
| | |
| == Guidelines ==
| |
| === Labels ===
| |
| * Align labels to the right and connected widgets to the left, making a group of form widgets appear to be center aligned. In Qt4, using a QFormLayout handles this correctly for you.
| |
| {| | |
| |[[Image:Alignment_kde3.png|frame|BAD: KDE3 form alignment]]
| |
| |[[Image:Alignment_kde4.png|frame|GOOD: KDE4 form alignment]]
| |
| |}
| |
| === Controls ===
| |
| * Align groups of items vertically rather than horizontally, as this makes them easier to scan visually. Use horizontal or rectangular alignments only if they greatly improve the layout of the window.
| |
| * Align a group of widgets to the left. This makes use of space more efficiently.
| |
| {|
| |
| |[[Image:Alignment_osx.png|frame|BAD: OSX form alignment]]
| |
| |[[Image:Alignment_kde4.png|frame|GOOD: KDE4 form alignment]]
| |
| |}
| |
| * Left align controls over multiple groups (in case of right-to-left languages mirror the alignment). The visual anchor facilitates scanning of content, and left-hand alignment fits as well forms that have been oversized individually.
| |
| {|
| |
| |[[Image:GroupAlignment_bad.png|frame|BAD: no alignment over controls]]
| |
| |[[Image:GroupAlignment_good.png|frame|GOOD: left aligned controls]]
| |
| |}
| |
| * Keep track on label size; avoid big differences in text length (even after translation), that could result in much white space for multiple aligned controls.
| |
| {| | |
| |[[Image:CaptionSize_bad.png|frame|BAD: Avoid very long captions]]
| |
| |}
| |
| * In some cases it may be useful to visually separate groups of related options within one group box to facilitate scanning of the dialog. In that case, put a vertical, fixed-size spacer of 16px height between the options.
| |
| [[Image:Related_options.png|frame|center|Separating groups of related options with a vertical spacer.]]
| |
| === Check boxes and Radio buttons ===
| |
| * Group check boxes or radio buttons together in the widget column and add a label describing the group in the label column.
| |
| *: [[Image:Grouped_checkboxes.png|frame|center|Grouped checkboxes]]
| |
| * Make the check boxes or radio buttons span the two columns, but keep them at the bottom of the form.
| |
| *: [[Image:Two_column_checkboxes.png|frame|center|Checkboxes spanning two columns]]
| |
| * If all else fails, add a label describing the checkbox on the left side of the checkbox, then set the text of the checkbox to "Enabled", "On", or similar.
| |
| *: [[Image:Checkbox_separate_label.png|frame|center|Using a separate title label for the checkbox.]]
| |
| * When options are subordinate to a check box or radio button (e.g. Audio level can only be set if the Activate Audio option is selected), this relation should be visualized by indenting the sub-options. There are two options to do so:
| |
| ** When you are using a left-aligned check box, indent the sub-options by using a horizontal spacer of SizeType "Minimum".
| |
| **: [[Image:Suboption_spacer.png|frame|center|Aligning sub-options with a horizontal spacer of SizeType "Minimum".]]
| |
| ** When you are using a check box that is placed right to its label, indent the sub-options in the same vertical axis as the check box.
| |
| **: [[Image:Suboption_right.png|frame|center|Aligning sub-options with the same vertical axis as the checkbox itself.]]
| |
| | |
| == Addendum ==
| |
| * Legacy page: [[Projects/Usability/HIG/Form_Label_Alignment|Forms: Label Alignment]]
| |
| | |
| [[Category:Usability]][[Category: Presentation]][[Category:Layout]]
| |