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.
- Real World, Vision
- Core usability goals, Use cases / User requirements, Task aggregation
- Personas, Scenarios, Usability criteria, Feature list
- Apply a menu bar to every standard application.
- Try to omit the status bar from your application.
- Provide a context menu for controls with implicit functions.
- Provide a toolbar for frequently used functions.
- Use a push button to initiate an action when the user clicks it.
- Use a toogle button to indicate a state, preferably in toolbars only.
- Use a command link to navigate between pages.
- Support keyboard access by accelerators and shortcuts.
- Follow the guidelines for dialogs for secondary windows.
- Arrange associated controls by using a labeled group box or an unlabeled frame.
- Allow users to resize aligned groups by placing a splitter between the groups.
- Use tabs to show related information on separate pages.
- Provide an accordion (aka tool box) for different views to content.
- Use a list view to show some items out of one category.
- Use a tree view to show items with a single, natural, hierarchical categorization.
- If you really need to create your own widget follow the guidelines for custom controls.
- Double check the guidelines about plotting diagram/charts.
Editing and Manipulation
- Use radio buttons for selection of 1 out of a few items.
- Use one or more check boxes for clear options or to select items out of a small number of options.
- Use a drop-down list for selection of 1 out of a small number of items.
- Use a combo box to select 1 out of a small number of items where users should be able to add items.
- Use a list view to select 1 singular item out of a potentially big list.
- Apply the dual list pattern for several selections out of a large number of (multiple) items.
- Provide a line edit to enter one line of text.
- Provide a text edit to enter multiple lines of texts.
- Use a table view to arrange data in rows and columns with inline editing feature.
- Use a spin box for numerical input within a range and with fix steps.
- Use a slider for arbitrary changes within a defined range.
- Apply the slider and spin box pattern for numeric input with both large changes and precise control.
- Use date and time pickers for formatted input of datum, time of day, or periods etc.
- Provide tool-tips for user driven information.
System triggered notification
- Provide a message panel to inform users about non-critical problems.
- Use a notification as system-triggered message to inform about events out of the current context.
- Show a progress indicator for lengthy actions.
- Show a modal message dialog if the processing has reached an unexpected condition that needs interaction.
- Support the user by an elaborated interface or per help system.
- Place controls carefully with proper size and space between.
- Carefully place control according the KDE alignment style.
- Do not use color as primary method of communication.
- Choose icons from the Oxygen icon set and follow guidelines on icon design.
- Keep wording consistent and easy to understand.
- Take care about localization of your project.
- Static text
- Control Labels
- Exclamation Points
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.