Printer Friendly Version      Send     
Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Windows Vista
Guidelines
Windows Environment
 Taskbar
Taskbar

Design concepts
Guidelines

The taskbar is the access point for programs that have desktop presence. With the taskbar, users can view the open primary windows and certain secondary windows on the desktop, and can quickly switch between them.

The controls on the taskbar are referred to as taskbar buttons. When a program creates a primary window (or secondary window with certain characteristics), the system adds a taskbar button for that window and removes it when that window closes.

A typical Microsoft® Windows® taskbar.

For multiple monitor configurations, only one monitor has a Start menu, taskbar, and notification area. That monitor is referred to as the default monitor.

Note: Guidelines related to Start menu, desktop, notification area, and window management are presented in separate articles.

Design concepts

The Windows Vista® desktop has the following program access points:

  • Desktop. A large surface where the user can store programs, documents, and their shortcuts.
  • Start menu button. The access point for all programs and special Windows places (Documents, Pictures, Music, Games, Computer, Control Panel), with "most recently used" lists for quick access to recently used programs and documents.
  • Quick Launch. A direct access point for programs selected by the user.
  • Taskbar. The access point for programs that have desktop presence.
  • Deskbands. Minimized functional, long-running programs, such as Windows Media® Player. Programs that minimize to deskbands aren't displayed in the taskbar.
  • Notification area. Access point for system and program-related features that have no presence on the desktop, as well as a short-term source for notifications and status.
  • Sidebar. The access point for Sidebar gadgets.

The Windows desktop consists of the desktop surface, Start menu button, Quick Launch bar, taskbar, deskbands, notification area, and Sidebar.

The Windows Vista desktop is a limited, shared resource. You should use its areas as intended—any other usage should be considered an abuse. Such abuse creates clutter and makes it difficult for these access points to serve their intended purpose.

Appearing on taskbar

The system determines if a window is displayed on taskbar as follows:

  • A window has a taskbar button if:
    • The window is visible (ShowWindow was called with SW_SHOW).
    • The window doesn't have an owner or was created with the WS_EX_APPWINDOW extended style.
  • A window doesn't have a taskbar button if:
    • The window is hidden (ShowWindow was called with SW_HIDE).
    • The window has an owner or was created with the WS_EX_TOOLWINDOW extended style.

So while developers don't have direct control over the windows that have taskbar buttons, they do have indirect control through window attributes.

Every instance of a program displayed on the desktop has a taskbar button that represents the program's primary window. A program may have secondary modal windows (such as modal dialog boxes), or modeless windows (such as modeless dialog boxes, palette windows, and undocked task panes and toolbars). Through the primary window's taskbar button, the primary window along with all its secondary windows are minimized, restored, and brought to the top level as a group. Certain modeless windows have their own taskbar buttons for direct access.

Interacting with taskbar buttons

The effect of left-clicking a taskbar button depends on the primary window's current state:

  • If the window is on top, clicking the taskbar button minimizes it.
  • If the window is restored but not on top, clicking the taskbar button brings it on top.
  • If the window is minimized, clicking the taskbar button restores it and brings it on top.

Right-clicking the taskbar button displays the primary window's system menu. The system menu is normally accessed by clicking the program icon on the title bar. You can use the system menu to provide direct access to commands that work well when a window is minimized.


The system menu is accessed by right-clicking a taskbar button.

Taskbar button flashing

Programs that aren't active can demand the user's attention by flashing its taskbar button.

A taskbar button in its normal and flashing states.

While having a background window flash its taskbar button is better than having it automatically come to the top and steal input focus, flashing taskbar buttons are still very intrusive. It is hard for users to concentrate when a taskbar button is flashing, so you should assume that users will immediately stop what they are doing to make the flashing stop. Consequently, reserve taskbar flashing only for situations where immediate attention is required.

Guidelines

General

  • Make the following window types appear on the taskbar:
    • Primary windows (which includes dialog boxes without owners)
    • Property sheets
    • Modeless progress dialogs
  • Avoid placing the following window types on the taskbar:
    • Modal dialog boxes
    • Modeless dialog boxes (other than property sheets and progress dialogs)
    • Programs that minimize to the notification area or as deskbands.
  • Restoring a primary window should also restore all its secondary windows, even if those secondary windows have their own taskbar button. When restoring, place secondary windows on top of the primary window.

Minimizing application windows to the notification area

To reduce taskbar clutter, provide the ability to minimize applications to the notification area only if all of the following apply:

  • The application can have only a single instance.
  • The application is run for an extended period of time.
  • The icon shows status.
  • The icon can be a notification source.
  • Doing so is optional and users must opt in.

If all these conditional apply, minimizing to an icon eliminates having two access points when only one is necessary.

For more guidelines and examples, see Notification Area.

Taskbar button flashing

  • Use taskbar flashing sparingly. Inactive programs should rarely require immediate attention. Make sure the interruption is justified because the user must do something immediately. If immediate action isn't required, such as to show changes in status, consider these alternatives:
    • Use a notification.
    • Just wait for users to attend to the issue the next time they activate the program.
  • If an inactive program requires immediate attention, flash its taskbar button three times to draw attention and leave it highlighted. Don't do anything else: don't restore or activate the window and don't play any sound effects. Instead, respect the user's window state selection and let the user activate the window when ready.
  • For secondary windows that have a taskbar button, flash its button instead of the primary window's taskbar button. Doing so allows users to attend to the window directly.
  • For secondary windows that don't have a taskbar button, flash the primary window's taskbar button and bring the secondary window on top of all the other windows for that program. Secondary windows that require attention must be topmost to ensure that users see them.
  • Correct:

    Incorrect:

    In the correct example, a dialog box that requires attention is shown on top of the primary window, but it doesn't steal focus.

  • Flash only one taskbar button for a program at a time. Flashing more than one button is unnecessary and too distracting.
  • Remove the taskbar button highlight once the program becomes active.
  • When the program becomes active, make sure there is something obvious to do. Typically, this objective is accomplished by displaying a dialog box that asks a question or initiates an action.

Quick Launch shortcuts

Put program shortcuts in the Quick Launch area only if users opt in.

Deskbands

  • Display deskbands only if users opt in. Offer to show deskbands in your program's setup and properties, but the option must be turned off by default.
  • Keep deskbands compact and simple. Don't include any features directly on deskband windows that aren't accessed by most users in most scenarios. However, you can use menus to give access to less commonly used features.
  • Don't display programs in the taskbar that minimize to deskbands.
  • Make sure that deskbands use screen space efficiently in both horizontal and vertical orientations. Doing so usually requires having orientation-specific layouts.
  • Correct:

    Incorrect:

    In the incorrect example, the deskband always uses same layout, resulting in an inefficient use of screen space in the vertical orientation.

Text

When choosing window titles, consider the title's appearance on the taskbar:

  • Optimize titles for display on the taskbar by concisely placing the distinguishing information first.
  • For modeless progress dialogs, first summarize the progress. Example: "66% Complete."
  • Avoid window titles that have awkward truncations.

    Incorrect:

    In this example, the truncated window title has unfortunate results.

Documentation

When referring to the taskbar:

  • Refer to the entire bar as the taskbar (a single compound word in lowercase).
  • Refer to items on the taskbar specifically by their label, or generally as taskbar buttons.
  • When possible, format the taskbar labels using bold text. Otherwise, put the label in quotation marks only if required to prevent confusion.

Guidelines feedback

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker