(→Selection) |
(→Access functions) |
||
(56 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | = Introduction = | ||
+ | |||
+ | Human interface guidelines (HIG) are software development documents that offer | ||
+ | application developers a set of recommendations. Their aim is to improve the | ||
+ | experience for users by making application interfaces more consistent and | ||
+ | hence more intuitive and learnable. | ||
+ | |||
+ | [[/About|Learn more about the philosophy behind the KDE HIG]] | ||
+ | |||
= Structure = | = Structure = | ||
+ | <div style="display: none;"> | ||
== Conceptual Model == | == Conceptual Model == | ||
− | |||
* Real World, Vision | * Real World, Vision | ||
== Task Flow == | == Task Flow == | ||
− | |||
* Core usability goals, Use cases / User requirements, Task aggregation | * Core usability goals, Use cases / User requirements, Task aggregation | ||
* Personas, Scenarios, Usability criteria, Feature list | * Personas, Scenarios, Usability criteria, Feature list | ||
== Organizational Model == | == Organizational Model == | ||
− | |||
* [[Terminology]] | * [[Terminology]] | ||
* Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern | * Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern | ||
Line 14: | Line 21: | ||
* [[Projects/Usability/HIG/NotificationMechanism|Notification mechanism]] (content tbd.) | * [[Projects/Usability/HIG/NotificationMechanism|Notification mechanism]] (content tbd.) | ||
*Minimize to tray (perhaps at behaviour>navigation) | *Minimize to tray (perhaps at behaviour>navigation) | ||
+ | </div> | ||
= Behaviour = | = Behaviour = | ||
− | |||
− | |||
− | |||
== Viewing and Navigation == | == Viewing and Navigation == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Access functions === | === Access functions === | ||
− | * [[Projects/Usability/HIG/Menu_Bar| | + | * Apply a [[Projects/Usability/HIG/Menu_Bar|menu bar]] to every standard application. |
− | * [[Projects/Usability/HIG/ | + | * Try to omit the [[Projects/Usability/HIG/StatusBar| status bar]] from your application. |
− | ** [[Projects/Usability/HIG/ | + | * Provide a [[Projects/Usability/HIG/ContextMenu|context menu]] for controls with implicit functions. |
− | * | + | * Provide a [[Projects/Usability/HIG/Toolbar|toolbar]] for frequently used functions. |
− | * | + | * Use a [[Projects/Usability/HIG/Buttons|push button]] to initiate an action when the user clicks it. |
− | * | + | * Use a [[Projects/Usability/HIG/Toggle_Buttons|toogle button]] to indicate a state, preferably in toolbars only. |
− | * | + | * Use a [[Projects/Usability/HIG/Command_Link|command link]] to navigate between pages. |
+ | * Support keyboard access by [[Projects/Usability/HIG/Keyboard_Accelerators|accelerators]] and [[Projects/Usability/HIG/Keyboard_Shortcuts|shortcuts]]. | ||
+ | * Follow the guidelines for [[Projects/Usability/HIG/Dialogs|dialogs]] for secondary windows. | ||
+ | |||
=== Grouping === | === Grouping === | ||
− | * | + | * Arrange associated controls by using a labeled [[Projects/Usability/HIG/GroupBox| group box]] or an unlabeled [[Projects/Usability/HIG/GroupBox| frame]]. |
− | * Splitter | + | * Allow users to resize aligned groups by placing a [[Projects/Usability/HIG/Splitter| splitter]] between the groups. |
+ | * Use [[Projects/Usability/HIG/TabControl|tabs]] to show related information on separate pages. | ||
+ | * Provide an [[Projects/Usability/HIG/Accordion|accordion]] (aka tool box) for different views to content. | ||
+ | |||
=== Complex views === | === Complex views === | ||
− | * Use a [[Projects/Usability/HIG/ListView| | + | * Use a [[Projects/Usability/HIG/ListView| list view]] to show some items out of one category. |
− | * | + | * Use a [[Projects/Usability/HIG/TreeView| tree view]] to show items with a single, natural, hierarchical categorization. |
− | + | * If you really need to create your own widget follow the guidelines for [[Projects/Usability/HIG/CustomControls| custom controls]]. | |
− | * If you really need to create your own widget follow the guidelines for | + | * Double check the guidelines about plotting [[Projects/Usability/HIG/Diagram|diagram/charts]]. |
== Editing and Manipulation == | == Editing and Manipulation == | ||
− | |||
=== Selection === | === Selection === | ||
− | * Use | + | * Use [[Projects/Usability/HIG/Radio Buttons|radio buttons]] for selection of 1 out of a few items. |
− | * Use one or more [[Projects/Usability/HIG/Check_Box|check boxes]] for clear options or | + | * Use one or more [[Projects/Usability/HIG/Check_Box|check boxes]] for clear options or to select items out of a small number of options. |
− | * Use a [[Projects/Usability/HIG/ | + | * Use a [[Projects/Usability/HIG/DropDown| drop-down]] list for selection of 1 out of a small number of items. |
− | * Use a [[Projects/Usability/HIG/ | + | * Use a [[Projects/Usability/HIG/Combo_Box| combo box]] to select 1 out of a small number of items where users should be able to add items. |
− | * | + | * Use a [[Projects/Usability/HIG/ListView|list view]] to select 1 singular item out of a potentially big list. |
+ | * Apply the [[Projects/Usability/HIG/DualList| dual list pattern]] for several selections out of a large number of (multiple) items. | ||
=== Unconstrained input === | === Unconstrained input === | ||
− | * | + | * Provide a [[Projects/Usability/HIG/LineEdit| line edit]] to enter one line of text. |
− | + | * Provide a [[Projects/Usability/HIG/TextEdit| text edit]] to enter multiple lines of texts. | |
+ | * Use a [[Projects/Usability/HIG/TableView| table view]] to arrange data in rows and columns with inline editing feature. | ||
=== Constrained input === | === Constrained input === | ||
− | * Use a [[Projects/Usability/HIG/Spin_Box| | + | * Use a [[Projects/Usability/HIG/Spin_Box|spin box]] for numerical input within a range and with fix steps. |
− | * Use a [[Projects/Usability/HIG/Slider| | + | * Use a [[Projects/Usability/HIG/Slider|slider]] for arbitrary changes within a defined range. |
− | * | + | * Apply the [[Projects/Usability/HIG/Slider_and_Spin_Box|slider and spin box pattern]] for numeric input with both large changes and precise control. |
− | * Use [[Projects/Usability/HIG/Date_Time_Pickers| | + | * Use [[Projects/Usability/HIG/Date_Time_Pickers|date and time pickers]] for formatted input of datum, time of day, or periods etc. |
== User Assistance == | == User Assistance == | ||
− | |||
=== User-driven information === | === User-driven information === | ||
* Provide [[Projects/Usability/HIG/Tooltip|tool-tips]] for user driven information. | * Provide [[Projects/Usability/HIG/Tooltip|tool-tips]] for user driven information. | ||
Line 82: | Line 85: | ||
= Presentation = | = Presentation = | ||
== Layout == | == Layout == | ||
− | |||
* Resizing | * Resizing | ||
* Default and minimal size | * Default and minimal size | ||
* Spacing | * Spacing | ||
− | * | + | * Carefully place control according the KDE [[Projects/Usability/HIG/Alignment| alignment]] style. |
− | + | ||
* Do not use [[Projects/Usability/HIG/Color| color]] as primary method of communication. | * Do not use [[Projects/Usability/HIG/Color| color]] as primary method of communication. | ||
− | * | + | * [[Projects/Usability/HIG/IconDesign| icon design]] |
== Style == | == Style == | ||
− | |||
== Text == | == Text == | ||
− | |||
* Language localizations | * Language localizations | ||
* Static text | * Static text | ||
Line 113: | Line 112: | ||
Didn't find what you were looking for? | Didn't find what you were looking for? | ||
+ | |||
+ | A guide to the guide can be found at the [[Projects/Usability/HIG/About|about page]]. | ||
Our Human Interface Guidelines are a work in progress and we need your help. Visit the [[Projects/Usability/HIG/Contributing|Contributing page]] to report problems or get involved. | Our Human Interface Guidelines are a work in progress and we need your help. Visit the [[Projects/Usability/HIG/Contributing|Contributing page]] to report problems or get involved. | ||
Line 171: | Line 172: | ||
[[Category:Usability]] | [[Category:Usability]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Human interface guidelines (HIG) are software development documents that offer application developers a set of recommendations. Their aim is to improve the experience for users by making application interfaces more consistent and hence more intuitive and learnable.
Learn more about the philosophy behind the KDE HIG
See also:
Didn't find what you were looking for?
A guide to the guide can be found at the about page.
Our Human Interface Guidelines are a work in progress and we need your help. Visit the Contributing page to report problems or get involved.
B
C
D
E
F
K
L
M
R
S
T
W