User:Andrew/HIG/ViewAndNavigation

From KDE Wiki Sandbox

Viewing and Navigation

Viewing and Navigation encompasses the wide variety of behaviors and operations that allow users to view content, navigate the interface and perform actions on application content.

Viewing content

  • Viewing vs Editing - Do not use input controls for content that is primarily viewed.
  • Images - Preserve the characteristics of images that convey emotion and meaning.
  • Icons and text - Consistently show icons with text.
  • List view - Use a list view to show some items out of one category.
  • Tree view - Use a tree view to show items with a single, natural, hierarchical categorization.
  • Grouping
    • Groupbox - Arrange associated controls by using a labeled group box or an unlabeled frame.
    • Splitter - Allow users to resize aligned groups by placing a splitter between the groups.
    • Tabs - Use tabs to show related information on separate pages.
  • Tooltips - Consistently present tooltip information.
  • Search and Filter - Guidelines for exposing search and filter functions
  • Wizard - How to guide the user through a series of step to accomplish a task
  • Custom controls - Always attempt to use the available Qt/KDE controls whenever possible. However follow these guidelines if you really need to create your own widget .

Navigation

Actions

  • Command Patterns - Select command patterns appropriate for the application command structure.
  • Push Button - Use a push button to initiate an action when the user clicks it.
  • Toggle button - Use a toggle button to indicate a state, preferably in toolbars only.
  • Toolbar - Provide a toolbar for frequently used functions.
  • Context menu - Use a context menu to provide a list of functions or options available to users for the selected item.
  • Menu Bar - Use a menu bar only for applications with a very complex command structure.
  • Accelerators and shortcuts - Support keyboard access by accelerators and shortcuts.
  • Dialogs - Use dialogs carefully and sparingly to clearly communicate the actions to be performed and to avoid unnecessary interruption.
  • Command Link - Use a command link to navigate between pages.
  • Status Bar - Try to omit the status bar from your application.