The following table lists the XUL user interface controls. For a step-by-step guide on how to use these controls, see the XUL Tutorial. For more reference information, see the XUL Reference.


A button that can be pressed by the user.

<button label="Save" accesskey="S"/>
<button type="menu">

A button that has a drop down menu attached to it. Pressing the button opens the menu.

<button type="menu" label="View">
    <menuitem label="List"/>
    <menuitem label="Details"/>
<button type="menu-button">

A button that that has a separate arrow button with a menu attached to it. Unlike with the 'menu' type, a separate action may be performed when the main part of the button is pressed.

<button type="menu-button" label="New">
    <menuitem label="New Document"/>
    <menuitem label="New Image"/>

A control that may be turned on and off, typically used to create options which may be enabled or disabled.

<checkbox label="Show Toolbar Labels" checked="true"/>

A control that may be used to select a color.

<colorpicker color="#FF0000"/>
<colorpicker type="button">

A specialized type of color picker which shows only a button. Pressing the button displays a color picker popup window.

<colorpicker type="button" color="#CC0080"/>

A set of textboxes which may be used to allow the entry of a date.

<datepicker value="2007/03/26"/>
<datepicker type="grid">

A datepicker which displays a calendar grid for selecting a date.

<datepicker type="grid" value="2007/02/20"/>
<datepicker type="popup" >

A datepicker which displays a set of textboxes for date entry, but also has a button for displaying a popup calendar grid.

<datepicker type="popup" value="2008/08/24"/>

The description element is used for descriptive text.

  Select a time for the event to start

A groupbox displays a labelled box around other user interface controls.

  <caption label="Network"/>

Allows the user to select a file.

  • Filefield Reference

An image specified by a URL.

<image src="start.png"/>

Adds a text label to a nearby control.

<label control="volume" value="Volume:"/>

The listbox is used to select an item from a list of labelled items.

  <listitem label="Chocolate"/>
  <listitem label="Jelly Beans"/>

A menulist (or combobox) is used to create a control with a drop down to select a value.

    <menuitem label="Lions" value="l"/>
    <menuitem label="Tigers" value="t"/>
    <menuitem label="Bears" value="b"/>
<menulist editable="true">

An editable menulist is like a standard menulist except that the selected value is displayed in a textbox where it may be modified directly or values not in the popup list may be entered.

<menulist editable="true">
    <menuitem label="Elephants"/>
    <menuitem label="Kangaroos"/>
    <menuitem label="Bats"  />

A progress meter is used to display the progress of a lengthy task.

<progressmeter value="40"/>

A radio button is used when only one of a set of options may be selected at a time.

  <radio label="Light" value="light"/>
  <radio label="Heavy" value="heavy"/>
<radio label="Heay" value="hea"/>

The richlistbox displays a list of items where one or more may selected. Unlike the listbox which is designed to display fixed size rows, the richlistbox may display any type of content.

    <image src="happy.png"/>
    <image src="sad.png"/>
    <image src="angry.png"/>

A scale displays a bar with a thumb that may be slid across the bar to select between a range of values.

<scale min="1" max="10"/>

Allows the user to adjust the division of space between elements.

<splitter collapse="before">

Description goes here.

<tab label="firefox"/>

A textbox which allows a single line of text to be entered.

<textbox value="firefox"/>
<textbox multiline="true">

A textbox which allows multiple lines of text to be entered.

<textbox multiline="true"/>
<textbox type="autocomplete">

A textbox that provides a dropdown showing matches that would complete what the user types. The user can select one to have it filled into the textbox.

<textbox type="autocomplete" autocompletesearch="history"/>
<textbox type="number">

A textbox for entering numbers. Two arrow buttons are displayed for cycling through values.

<textbox type="number" min="1" max="20"/>
<textbox type="password">

A textbox that hides the characters typed, used for entering passwords.

<textbox type="password"/>
<textbox type="search">

A textbox for searching.

<textbox type="search"/>
<textbox type="timed">

Deprecated in Gecko 1.9.1

A textbox for responding to user input. The command event is fired after the user stops typing, or if the user tabs away or hits Enter.

<textbox type="timed"/>

A timepicker displays a set of textboxes for entering a time.

<timepicker value="12:05"/>

A button that is displayed on a toolbar.

<toolbarbutton label="Reload"/>
<toolbarbutton type="menu">

A button that is displayed on a toolbar with a drop down menu attached to it.

<toolbarbutton type="menu" label="Show">
    <menuitem label="Toolbars"/>
    <menuitem label="Status Bar"/>
<toolbarbutton type="menu-button">

A button on a toolbar that that has a separate arrow button with a menu attached to it. Unlike with the 'menu' type, a separate action may be performed when the main part of the button is pressed.

<toolbarbutton type="menu-button" label="Open">
    <menuitem label="Open Changed Files"/>
    <menuitem label="Open All"/>

A tree displays a hierarchy of items in multiple columns.

    <treecol label="Name" flex="1"/>
    <treecol label="Size" flex="1"/>
        <treecell label="Popcorn"/>
        <treecell label="Large"/>
        <treecell label="Root Beer"/>
        <treecell label="Small"/>