Viewing and Navigation

Viewing and Navigation encompasses the wide variety of behaviors and operations that allow users to navigate the interface and affect the presentation of 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 .



  • 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.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.