You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Tab Widget Requirements

Written by danm
Last modified by danm on 15 Mar 99


This document is a list of features planned for implementation in the tab widget. The tab widget is our name for that well-known control which allows the display of more than one set of content in just one window display rectangle. The different sets of content available for display are listed in a line of buttons made to look like labels on notebook dividers.


  • The widget maintains a tree of children, each child subtree corresponding to a tab's contents. The widget controls a layout rectangle. Only the subtree corresponding to the currently selected tab is visible.
  • Responds to these style settings
    • Font for tab label text
    • Height and width of tab buttons
    • Background colour

Possible Requirements

(think of these as excluded, though the author is more willing to consider putting them in than features in the "excluded" list)

  • Mouse feedback while punching a tab -- most controls have mouse feedback, but this seems optional in tab controls (generally, Windows tab controls offer no feedback).
  • Icons in the tab labels, rather than just text
  • Responding to these style settings
    • Configurable background image
    • Configurable (platform-specific) behaviour -- whether each tab triggers on mousedown or mouseup.
    • Rollover feedback

Excluded Features

The authors at this time specifically do not intend to implement these arguably desirable features

  • vertical tabs
  • multiple rows of tabs
  • scrolling tabs
  • inline editing of the tab text (hey, we're trying to be complete!)

Questions, comments, or concerns about this document should go to netscape.public.mozilla.xpfe