|
|
(63 intermediate revisions by 7 users not shown) |
Line 1: |
Line 1: |
− | = Introduction =
| + | {{ Moved To Community | KDE_Visual_Design_Group/HIG }} |
− | | + | |
− | 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 =
| + | |
− | <div style="display: none;">
| + | |
− | == Conceptual Model ==
| + | |
− | * Real World, Vision
| + | |
− | == Task Flow ==
| + | |
− | * Core usability goals, Use cases / User requirements, Task aggregation
| + | |
− | * Personas, Scenarios, Usability criteria, Feature list
| + | |
− | == Organizational Model ==
| + | |
− | * [[Terminology]]
| + | |
− | * Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern
| + | |
− | * [[Projects/Usability/HIG/CentralConfiguration|central configuration]] (content tbd.)
| + | |
− | * [[Projects/Usability/HIG/NotificationMechanism|Notification mechanism]] (content tbd.)
| + | |
− | *Minimize to tray (perhaps at behaviour>navigation)
| + | |
− | </div>
| + | |
− | | + | |
− | = Behaviour =
| + | |
− | == Viewing and Navigation ==
| + | |
− | === Access functions ===
| + | |
− | * Apply a [[Projects/Usability/HIG/Menu_Bar|menu bar]] to every standard application.
| + | |
− | * Apply a [[Projects/Usability/HIG/StatusBar| status bar]] to every standard application.
| + | |
− | * 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 ===
| + | |
− | * Arrange associated controls by using a labeled [[Projects/Usability/HIG/GroupBox| group box]] or an unlabeled [[Projects/Usability/HIG/GroupBox| frame]].
| + | |
− | * Allow users to resize aligned groups by placing a [[Projects/Usability/HIG/Splitter| splitter]] between the groups.
| + | |
− | * Use an [[Projects/Usability/Accordion|accordion]] (aka tool box) to structure program's features into sections.
| + | |
− | * Use [[Projects/Usability/TabControl|tabs]] to show related information on separate pages.
| + | |
− | | + | |
− | === Complex views ===
| + | |
− | * 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]].
| + | |
− | * Double check the guidelines about plotting [[Projects/Usability/HIG/Diagram|diagram/charts]].
| + | |
− | | + | |
− | == Editing and Manipulation ==
| + | |
− | === Selection ===
| + | |
− | * Use [[Projects/Usability/HIG/Radio Buttons|radio buttons]] for 1 selection out of a few items.
| + | |
− | * 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/DropDown| drop-down]] list for selection of 1 out of a small number of items.
| + | |
− | * 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 ===
| + | |
− | * 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 ===
| + | |
− | * 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|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|date and time pickers]] for formatted input of datum, time of day, or periods etc.
| + | |
− | | + | |
− | == User Assistance ==
| + | |
− | === User-driven information ===
| + | |
− | * Provide [[Projects/Usability/HIG/Tooltip|tool-tips]] for user driven information.
| + | |
− | | + | |
− | === System triggered notification ===
| + | |
− | * Provide a [[Projects/Usability/HIG/MessageWidget| message panel]] to inform users about non-critical problems.
| + | |
− | * Use a [[Projects/Usability/HIG/Notifications|notification]] as system-triggered message to acknowledge about events out of the current context.
| + | |
− | * Show a [[Projects/Usability/HIG/ProgressIndicator| progress indicator]] for lengthy actions.
| + | |
− | | + | |
− | === Disruptive messages ===
| + | |
− | * Show a modal [[Projects/Usability/HIG/Messages|message dialog]] if the processing has reached an unexpected condition that needs interaction.
| + | |
− | | + | |
− | === Help system ===
| + | |
− | * Support the user by an elaborated interface or per [[Projects/Usability/HIG/HelpSystem|help system]].
| + | |
− | | + | |
− | = Presentation =
| + | |
− | == Layout ==
| + | |
− | * Resizing
| + | |
− | * Default and minimal size
| + | |
− | * 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.
| + | |
− | * [[Projects/Usability/HIG/IconDesign| icon design]]
| + | |
− | | + | |
− | == Style ==
| + | |
− | == Text ==
| + | |
− | * Language localizations
| + | |
− | * Static text
| + | |
− | * [[Projects/Usability/HIG/Labels|Control Labels]]
| + | |
− | ** [[Projects/Usability/HIG/KNS|KNewStuff Button Labels]]
| + | |
− | * [[Projects/Usability/HIG/Wording|Wording]]
| + | |
− | * [[Projects/Usability/HIG/Ellipsis|Ellipsis]]
| + | |
− | * [[Projects/Usability/HIG/Capitalization|Capitalization]]
| + | |
− | * [[Projects/Usability/HIG/Contractions|Contractions (don't, there's, etc.)]]
| + | |
− | * [[Projects/Usability/HIG/Exclamation_points|Exclamation Points]]
| + | |
− | | + | |
− | See also:
| + | |
− | | + | |
− | * [[Projects/Usability/HIG/Tablet/Index|HIG for Plasma Active]]
| + | |
− | * [[Projects/Usability/HIG/Netbook/Index|HIG for Plasma Netbook]]
| + | |
− | | + | |
− | =Contributing=
| + | |
− | | + | |
− | 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.
| + | |
− | | + | |
− | =Index=
| + | |
− | | + | |
− | '''B'''
| + | |
− | | + | |
− | * [[Projects/Usability/HIG/Buttons|Buttons]]
| + | |
− | | + | |
− | '''C'''
| + | |
− | | + | |
− | * [[Projects/Usability/HIG/Capitalization|Capitalization]]
| + | |
− | * [[Projects/Usability/HIG/Contractions|Contractions (don't, there's, etc.)]]
| + | |
− | * [[Projects/Usability/HIG/Check_Box|Check Box]]
| + | |
− | * [[Projects/Usability/HIG/Combo_Box|Combo Box]]
| + | |
− | | + | |
− | | + | |
− | '''D'''
| + | |
− | | + | |
− | * [[Projects/Usability/HIG/Date_Time_Pickers|Date and Time Pickers]]
| + | |
− | * [[Projects/Usability/HIG/Dialogs|Dialogs]]
| + | |
− | | + | |
− | '''E'''
| + | |
− | * [[Projects/Usability/HIG/Ellipsis|Ellipsis]]
| + | |
− | * [[Projects/Usability/HIG/Exclamation_points|Exclamation Points]]
| + | |
− | | + | |
− | '''F'''
| + | |
− | * [[Projects/Usability/HIG/Form_Label_Alignment|Forms: Label Alignment]]
| + | |
− | | + | |
− | '''K'''
| + | |
− | * [[Projects/Usability/HIG/KNS|KNewStuff Button Labels]]
| + | |
− | * [[Projects/Usability/HIG/Keyboard_Accelerators|Keyboard Accelerators]]
| + | |
− | * [[Projects/Usability/HIG/Keyboard_Shortcuts|Keyboard Shortcuts]]
| + | |
− | | + | |
− | '''L'''
| + | |
− | * [[Projects/Usability/HIG/Labels|Labels]]
| + | |
− | * [[Projects/Usability/HIG/ListView|List Views]]
| + | |
− | | + | |
− | '''M'''
| + | |
− | * [[Projects/Usability/HIG/Menu_Bar|Menu Bar]]
| + | |
− | * [[Projects/Usability/HIG/Messages|Messages]]
| + | |
− | | + | |
− | '''R'''
| + | |
− | * [[Projects/Usability/HIG/Radio Buttons|Radio Buttons]]
| + | |
− | | + | |
− | '''S'''
| + | |
− | * [[Projects/Usability/HIG/Slider|Slider]]
| + | |
− | * [[Projects/Usability/HIG/Slider_and_Spin_Box|Slider and Spin Box]]
| + | |
− | * [[Projects/Usability/HIG/Spin_Box|Spin Box]]
| + | |
− | | + | |
− | '''T'''
| + | |
− | * [[Projects/Usability/HIG/Tabs_Pages|Tabs and Pages in Dialogs]]
| + | |
− | * [[Projects/Usability/HIG/Toggle_Buttons|Toggle Buttons]]
| + | |
− | | + | |
− | '''W'''
| + | |
− | * [[Projects/Usability/HIG/Wording|Wording]]
| + | |
− | | + | |
− | [[Category:Usability]]
| + | |