← Projects/Usability/HIG You do not have permission to edit this page, for the following reason: The action you have requested is limited to users in one of the groups: Users, Administrators, trusted, KDEDevelopers. You can view and copy the source of this page. = 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 = <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. * Try to omit the [[Projects/Usability/HIG/StatusBar| status bar]] from your 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 [[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 === * 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 selection of 1 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]] Template used on this page: Template:Moved To Community (view source) Return to Projects/Usability/HIG. Retrieved from "https://techbase.kde.org/Projects/Usability/HIG"