/*
 * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javax.accessibility;

import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

Class AccessibleRole determines the role of a component. The role of a component describes its generic function. (E.G., "push button," "table," or "list.")

The toDisplayString method allows you to obtain the localized string for a locale independent key from a predefined ResourceBundle for the keys defined in this class.

The constants in this class present a strongly typed enumeration of common object roles. A public constructor for this class has been purposely omitted and applications should use one of the constants from this class. If the constants in this class are not sufficient to describe the role of an object, a subclass should be generated from this class and it should provide constants in a similar manner.

Author: Willie Walker, Peter Korn, Lynn Monsanto
/** * <P>Class AccessibleRole determines the role of a component. The role of a * component describes its generic function. (E.G., * "push button," "table," or "list.") * <p>The toDisplayString method allows you to obtain the localized string * for a locale independent key from a predefined ResourceBundle for the * keys defined in this class. * <p>The constants in this class present a strongly typed enumeration * of common object roles. A public constructor for this class has been * purposely omitted and applications should use one of the constants * from this class. If the constants in this class are not sufficient * to describe the role of an object, a subclass should be generated * from this class and it should provide constants in a similar manner. * * @author Willie Walker * @author Peter Korn * @author Lynn Monsanto */
public class AccessibleRole extends AccessibleBundle { // If you add or remove anything from here, make sure you // update AccessibleResourceBundle.java.
Object is used to alert the user about something.
/** * Object is used to alert the user about something. */
public static final AccessibleRole ALERT = new AccessibleRole("alert");
The header for a column of data.
/** * The header for a column of data. */
public static final AccessibleRole COLUMN_HEADER = new AccessibleRole("columnheader");
Object that can be drawn into and is used to trap events.
See Also:
/** * Object that can be drawn into and is used to trap * events. * @see #FRAME * @see #GLASS_PANE * @see #LAYERED_PANE */
public static final AccessibleRole CANVAS = new AccessibleRole("canvas");
A list of choices the user can select from. Also optionally allows the user to enter a choice of their own.
/** * A list of choices the user can select from. Also optionally * allows the user to enter a choice of their own. */
public static final AccessibleRole COMBO_BOX = new AccessibleRole("combobox");
An iconified internal frame in a DESKTOP_PANE.
See Also:
/** * An iconified internal frame in a DESKTOP_PANE. * @see #DESKTOP_PANE * @see #INTERNAL_FRAME */
public static final AccessibleRole DESKTOP_ICON = new AccessibleRole("desktopicon");
An object containing a collection of Accessibles that together represents HTML content. The child Accessibles would include objects implementing AccessibleText, AccessibleHypertext, AccessibleIcon, and other interfaces.
See Also:
Since:1.6
/** * An object containing a collection of <code>Accessibles</code> that * together represents <code>HTML</code> content. The child * <code>Accessibles</code> would include objects implementing * <code>AccessibleText</code>, <code>AccessibleHypertext</code>, * <code>AccessibleIcon</code>, and other interfaces. * @see #HYPERLINK * @see AccessibleText * @see AccessibleHypertext * @see AccessibleHyperlink * @see AccessibleIcon * @since 1.6 */
public static final AccessibleRole HTML_CONTAINER = new AccessibleRole("htmlcontainer");
A frame-like object that is clipped by a desktop pane. The desktop pane, internal frame, and desktop icon objects are often used to create multiple document interfaces within an application.
See Also:
/** * A frame-like object that is clipped by a desktop pane. The * desktop pane, internal frame, and desktop icon objects are * often used to create multiple document interfaces within an * application. * @see #DESKTOP_ICON * @see #DESKTOP_PANE * @see #FRAME */
public static final AccessibleRole INTERNAL_FRAME = new AccessibleRole("internalframe");
A pane that supports internal frames and iconified versions of those internal frames.
See Also:
/** * A pane that supports internal frames and * iconified versions of those internal frames. * @see #DESKTOP_ICON * @see #INTERNAL_FRAME */
public static final AccessibleRole DESKTOP_PANE = new AccessibleRole("desktoppane");
A specialized pane whose primary use is inside a DIALOG
See Also:
  • DIALOG
/** * A specialized pane whose primary use is inside a DIALOG * @see #DIALOG */
public static final AccessibleRole OPTION_PANE = new AccessibleRole("optionpane");
A top level window with no title or border.
See Also:
/** * A top level window with no title or border. * @see #FRAME * @see #DIALOG */
public static final AccessibleRole WINDOW = new AccessibleRole("window");
A top level window with a title bar, border, menu bar, etc. It is often used as the primary window for an application.
See Also:
/** * A top level window with a title bar, border, menu bar, etc. It is * often used as the primary window for an application. * @see #DIALOG * @see #CANVAS * @see #WINDOW */
public static final AccessibleRole FRAME = new AccessibleRole("frame");
A top level window with title bar and a border. A dialog is similar to a frame, but it has fewer properties and is often used as a secondary window for an application.
See Also:
/** * A top level window with title bar and a border. A dialog is similar * to a frame, but it has fewer properties and is often used as a * secondary window for an application. * @see #FRAME * @see #WINDOW */
public static final AccessibleRole DIALOG = new AccessibleRole("dialog");
A specialized pane that lets the user choose a color.
/** * A specialized pane that lets the user choose a color. */
public static final AccessibleRole COLOR_CHOOSER = new AccessibleRole("colorchooser");
A pane that allows the user to navigate through and select the contents of a directory. May be used by a file chooser.
See Also:
  • FILE_CHOOSER
/** * A pane that allows the user to navigate through * and select the contents of a directory. May be used * by a file chooser. * @see #FILE_CHOOSER */
public static final AccessibleRole DIRECTORY_PANE = new AccessibleRole("directorypane");
A specialized dialog that displays the files in the directory and lets the user select a file, browse a different directory, or specify a filename. May use the directory pane to show the contents of a directory.
See Also:
  • DIRECTORY_PANE
/** * A specialized dialog that displays the files in the directory * and lets the user select a file, browse a different directory, * or specify a filename. May use the directory pane to show the * contents of a directory. * @see #DIRECTORY_PANE */
public static final AccessibleRole FILE_CHOOSER = new AccessibleRole("filechooser");
An object that fills up space in a user interface. It is often used in interfaces to tweak the spacing between components, but serves no other purpose.
/** * An object that fills up space in a user interface. It is often * used in interfaces to tweak the spacing between components, * but serves no other purpose. */
public static final AccessibleRole FILLER = new AccessibleRole("filler");
A hypertext anchor
/** * A hypertext anchor */
public static final AccessibleRole HYPERLINK = new AccessibleRole("hyperlink");
A small fixed size picture, typically used to decorate components.
/** * A small fixed size picture, typically used to decorate components. */
public static final AccessibleRole ICON = new AccessibleRole("icon");
An object used to present an icon or short string in an interface.
/** * An object used to present an icon or short string in an interface. */
public static final AccessibleRole LABEL = new AccessibleRole("label");
A specialized pane that has a glass pane and a layered pane as its children.
See Also:
/** * A specialized pane that has a glass pane and a layered pane as its * children. * @see #GLASS_PANE * @see #LAYERED_PANE */
public static final AccessibleRole ROOT_PANE = new AccessibleRole("rootpane");
A pane that is guaranteed to be painted on top of all panes beneath it.
See Also:
/** * A pane that is guaranteed to be painted on top * of all panes beneath it. * @see #ROOT_PANE * @see #CANVAS */
public static final AccessibleRole GLASS_PANE = new AccessibleRole("glasspane");
A specialized pane that allows its children to be drawn in layers, providing a form of stacking order. This is usually the pane that holds the menu bar as well as the pane that contains most of the visual components in a window.
See Also:
/** * A specialized pane that allows its children to be drawn in layers, * providing a form of stacking order. This is usually the pane that * holds the menu bar as well as the pane that contains most of the * visual components in a window. * @see #GLASS_PANE * @see #ROOT_PANE */
public static final AccessibleRole LAYERED_PANE = new AccessibleRole("layeredpane");
An object that presents a list of objects to the user and allows the user to select one or more of them. A list is usually contained within a scroll pane.
See Also:
/** * An object that presents a list of objects to the user and allows the * user to select one or more of them. A list is usually contained * within a scroll pane. * @see #SCROLL_PANE * @see #LIST_ITEM */
public static final AccessibleRole LIST = new AccessibleRole("list");
An object that presents an element in a list. A list is usually contained within a scroll pane.
See Also:
/** * An object that presents an element in a list. A list is usually * contained within a scroll pane. * @see #SCROLL_PANE * @see #LIST */
public static final AccessibleRole LIST_ITEM = new AccessibleRole("listitem");
An object usually drawn at the top of the primary dialog box of an application that contains a list of menus the user can choose from. For example, a menu bar might contain menus for "File," "Edit," and "Help."
See Also:
/** * An object usually drawn at the top of the primary dialog box of * an application that contains a list of menus the user can choose * from. For example, a menu bar might contain menus for "File," * "Edit," and "Help." * @see #MENU * @see #POPUP_MENU * @see #LAYERED_PANE */
public static final AccessibleRole MENU_BAR = new AccessibleRole("menubar");
A temporary window that is usually used to offer the user a list of choices, and then hides when the user selects one of those choices.
See Also:
/** * A temporary window that is usually used to offer the user a * list of choices, and then hides when the user selects one of * those choices. * @see #MENU * @see #MENU_ITEM */
public static final AccessibleRole POPUP_MENU = new AccessibleRole("popupmenu");
An object usually found inside a menu bar that contains a list of actions the user can choose from. A menu can have any object as its children, but most often they are menu items, other menus, or rudimentary objects such as radio buttons, check boxes, or separators. For example, an application may have an "Edit" menu that contains menu items for "Cut" and "Paste."
See Also:
/** * An object usually found inside a menu bar that contains a list * of actions the user can choose from. A menu can have any object * as its children, but most often they are menu items, other menus, * or rudimentary objects such as radio buttons, check boxes, or * separators. For example, an application may have an "Edit" menu * that contains menu items for "Cut" and "Paste." * @see #MENU_BAR * @see #MENU_ITEM * @see #SEPARATOR * @see #RADIO_BUTTON * @see #CHECK_BOX * @see #POPUP_MENU */
public static final AccessibleRole MENU = new AccessibleRole("menu");
An object usually contained in a menu that presents an action the user can choose. For example, the "Cut" menu item in an "Edit" menu would be an action the user can select to cut the selected area of text in a document.
See Also:
/** * An object usually contained in a menu that presents an action * the user can choose. For example, the "Cut" menu item in an * "Edit" menu would be an action the user can select to cut the * selected area of text in a document. * @see #MENU_BAR * @see #SEPARATOR * @see #POPUP_MENU */
public static final AccessibleRole MENU_ITEM = new AccessibleRole("menuitem");
An object usually contained in a menu to provide a visual and logical separation of the contents in a menu. For example, the "File" menu of an application might contain menu items for "Open," "Close," and "Exit," and will place a separator between "Close" and "Exit" menu items.
See Also:
/** * An object usually contained in a menu to provide a visual * and logical separation of the contents in a menu. For example, * the "File" menu of an application might contain menu items for * "Open," "Close," and "Exit," and will place a separator between * "Close" and "Exit" menu items. * @see #MENU * @see #MENU_ITEM */
public static final AccessibleRole SEPARATOR = new AccessibleRole("separator");
An object that presents a series of panels (or page tabs), one at a time, through some mechanism provided by the object. The most common mechanism is a list of tabs at the top of the panel. The children of a page tab list are all page tabs.
See Also:
  • PAGE_TAB
/** * An object that presents a series of panels (or page tabs), one at a * time, through some mechanism provided by the object. The most common * mechanism is a list of tabs at the top of the panel. The children of * a page tab list are all page tabs. * @see #PAGE_TAB */
public static final AccessibleRole PAGE_TAB_LIST = new AccessibleRole("pagetablist");
An object that is a child of a page tab list. Its sole child is the panel that is to be presented to the user when the user selects the page tab from the list of tabs in the page tab list.
See Also:
  • PAGE_TAB_LIST
/** * An object that is a child of a page tab list. Its sole child is * the panel that is to be presented to the user when the user * selects the page tab from the list of tabs in the page tab list. * @see #PAGE_TAB_LIST */
public static final AccessibleRole PAGE_TAB = new AccessibleRole("pagetab");
A generic container that is often used to group objects.
/** * A generic container that is often used to group objects. */
public static final AccessibleRole PANEL = new AccessibleRole("panel");
An object used to indicate how much of a task has been completed.
/** * An object used to indicate how much of a task has been completed. */
public static final AccessibleRole PROGRESS_BAR = new AccessibleRole("progressbar");
A text object used for passwords, or other places where the text contents is not shown visibly to the user
/** * A text object used for passwords, or other places where the * text contents is not shown visibly to the user */
public static final AccessibleRole PASSWORD_TEXT = new AccessibleRole("passwordtext");
An object the user can manipulate to tell the application to do something.
See Also:
/** * An object the user can manipulate to tell the application to do * something. * @see #CHECK_BOX * @see #TOGGLE_BUTTON * @see #RADIO_BUTTON */
public static final AccessibleRole PUSH_BUTTON = new AccessibleRole("pushbutton");
A specialized push button that can be checked or unchecked, but does not provide a separate indicator for the current state.
See Also:
/** * A specialized push button that can be checked or unchecked, but * does not provide a separate indicator for the current state. * @see #PUSH_BUTTON * @see #CHECK_BOX * @see #RADIO_BUTTON */
public static final AccessibleRole TOGGLE_BUTTON = new AccessibleRole("togglebutton");
A choice that can be checked or unchecked and provides a separate indicator for the current state.
See Also:
/** * A choice that can be checked or unchecked and provides a * separate indicator for the current state. * @see #PUSH_BUTTON * @see #TOGGLE_BUTTON * @see #RADIO_BUTTON */
public static final AccessibleRole CHECK_BOX = new AccessibleRole("checkbox");
A specialized check box that will cause other radio buttons in the same group to become unchecked when this one is checked.
See Also:
/** * A specialized check box that will cause other radio buttons in the * same group to become unchecked when this one is checked. * @see #PUSH_BUTTON * @see #TOGGLE_BUTTON * @see #CHECK_BOX */
public static final AccessibleRole RADIO_BUTTON = new AccessibleRole("radiobutton");
The header for a row of data.
/** * The header for a row of data. */
public static final AccessibleRole ROW_HEADER = new AccessibleRole("rowheader");
An object that allows a user to incrementally view a large amount of information. Its children can include scroll bars and a viewport.
See Also:
/** * An object that allows a user to incrementally view a large amount * of information. Its children can include scroll bars and a viewport. * @see #SCROLL_BAR * @see #VIEWPORT */
public static final AccessibleRole SCROLL_PANE = new AccessibleRole("scrollpane");
An object usually used to allow a user to incrementally view a large amount of data. Usually used only by a scroll pane.
See Also:
  • SCROLL_PANE
/** * An object usually used to allow a user to incrementally view a * large amount of data. Usually used only by a scroll pane. * @see #SCROLL_PANE */
public static final AccessibleRole SCROLL_BAR = new AccessibleRole("scrollbar");
An object usually used in a scroll pane. It represents the portion of the entire data that the user can see. As the user manipulates the scroll bars, the contents of the viewport can change.
See Also:
  • SCROLL_PANE
/** * An object usually used in a scroll pane. It represents the portion * of the entire data that the user can see. As the user manipulates * the scroll bars, the contents of the viewport can change. * @see #SCROLL_PANE */
public static final AccessibleRole VIEWPORT = new AccessibleRole("viewport");
An object that allows the user to select from a bounded range. For example, a slider might be used to select a number between 0 and 100.
/** * An object that allows the user to select from a bounded range. For * example, a slider might be used to select a number between 0 and 100. */
public static final AccessibleRole SLIDER = new AccessibleRole("slider");
A specialized panel that presents two other panels at the same time. Between the two panels is a divider the user can manipulate to make one panel larger and the other panel smaller.
/** * A specialized panel that presents two other panels at the same time. * Between the two panels is a divider the user can manipulate to make * one panel larger and the other panel smaller. */
public static final AccessibleRole SPLIT_PANE = new AccessibleRole("splitpane");
An object used to present information in terms of rows and columns. An example might include a spreadsheet application.
/** * An object used to present information in terms of rows and columns. * An example might include a spreadsheet application. */
public static final AccessibleRole TABLE = new AccessibleRole("table");
An object that presents text to the user. The text is usually editable by the user as opposed to a label.
See Also:
  • LABEL
/** * An object that presents text to the user. The text is usually * editable by the user as opposed to a label. * @see #LABEL */
public static final AccessibleRole TEXT = new AccessibleRole("text");
An object used to present hierarchical information to the user. The individual nodes in the tree can be collapsed and expanded to provide selective disclosure of the tree's contents.
/** * An object used to present hierarchical information to the user. * The individual nodes in the tree can be collapsed and expanded * to provide selective disclosure of the tree's contents. */
public static final AccessibleRole TREE = new AccessibleRole("tree");
A bar or palette usually composed of push buttons or toggle buttons. It is often used to provide the most frequently used functions for an application.
/** * A bar or palette usually composed of push buttons or toggle buttons. * It is often used to provide the most frequently used functions for an * application. */
public static final AccessibleRole TOOL_BAR = new AccessibleRole("toolbar");
An object that provides information about another object. The accessibleDescription property of the tool tip is often displayed to the user in a small "help bubble" when the user causes the mouse to hover over the object associated with the tool tip.
/** * An object that provides information about another object. The * accessibleDescription property of the tool tip is often displayed * to the user in a small "help bubble" when the user causes the * mouse to hover over the object associated with the tool tip. */
public static final AccessibleRole TOOL_TIP = new AccessibleRole("tooltip");
An AWT component, but nothing else is known about it.
See Also:
/** * An AWT component, but nothing else is known about it. * @see #SWING_COMPONENT * @see #UNKNOWN */
public static final AccessibleRole AWT_COMPONENT = new AccessibleRole("awtcomponent");
A Swing component, but nothing else is known about it.
See Also:
/** * A Swing component, but nothing else is known about it. * @see #AWT_COMPONENT * @see #UNKNOWN */
public static final AccessibleRole SWING_COMPONENT = new AccessibleRole("swingcomponent");
The object contains some Accessible information, but its role is not known.
See Also:
/** * The object contains some Accessible information, but its role is * not known. * @see #AWT_COMPONENT * @see #SWING_COMPONENT */
public static final AccessibleRole UNKNOWN = new AccessibleRole("unknown");
A STATUS_BAR is an simple component that can contain multiple labels of status information to the user.
/** * A STATUS_BAR is an simple component that can contain * multiple labels of status information to the user. */
public static final AccessibleRole STATUS_BAR = new AccessibleRole("statusbar");
A DATE_EDITOR is a component that allows users to edit java.util.Date and java.util.Time objects
/** * A DATE_EDITOR is a component that allows users to edit * java.util.Date and java.util.Time objects */
public static final AccessibleRole DATE_EDITOR = new AccessibleRole("dateeditor");
A SPIN_BOX is a simple spinner component and its main use is for simple numbers.
/** * A SPIN_BOX is a simple spinner component and its main use * is for simple numbers. */
public static final AccessibleRole SPIN_BOX = new AccessibleRole("spinbox");
A FONT_CHOOSER is a component that lets the user pick various attributes for fonts.
/** * A FONT_CHOOSER is a component that lets the user pick various * attributes for fonts. */
public static final AccessibleRole FONT_CHOOSER = new AccessibleRole("fontchooser");
A GROUP_BOX is a simple container that contains a border around it and contains components inside it.
/** * A GROUP_BOX is a simple container that contains a border * around it and contains components inside it. */
public static final AccessibleRole GROUP_BOX = new AccessibleRole("groupbox");
A text header
Since:1.5
/** * A text header * * @since 1.5 */
public static final AccessibleRole HEADER = new AccessibleRole("header");
A text footer
Since:1.5
/** * A text footer * * @since 1.5 */
public static final AccessibleRole FOOTER = new AccessibleRole("footer");
A text paragraph
Since:1.5
/** * A text paragraph * * @since 1.5 */
public static final AccessibleRole PARAGRAPH = new AccessibleRole("paragraph");
A ruler is an object used to measure distance
Since:1.5
/** * A ruler is an object used to measure distance * * @since 1.5 */
public static final AccessibleRole RULER = new AccessibleRole("ruler");
A role indicating the object acts as a formula for calculating a value. An example is a formula in a spreadsheet cell.
Since:1.5
/** * A role indicating the object acts as a formula for * calculating a value. An example is a formula in * a spreadsheet cell. * * @since 1.5 */
static public final AccessibleRole EDITBAR = new AccessibleRole("editbar");
A role indicating the object monitors the progress of some operation.
Since:1.5
/** * A role indicating the object monitors the progress * of some operation. * * @since 1.5 */
static public final AccessibleRole PROGRESS_MONITOR = new AccessibleRole("progressMonitor"); // The following are all under consideration for potential future use. // public static final AccessibleRole APPLICATION // = new AccessibleRole("application"); // public static final AccessibleRole BORDER // = new AccessibleRole("border"); // public static final AccessibleRole CHECK_BOX_MENU_ITEM // = new AccessibleRole("checkboxmenuitem"); // public static final AccessibleRole CHOICE // = new AccessibleRole("choice"); // public static final AccessibleRole COLUMN // = new AccessibleRole("column"); // public static final AccessibleRole CURSOR // = new AccessibleRole("cursor"); // public static final AccessibleRole DOCUMENT // = new AccessibleRole("document"); // public static final AccessibleRole IMAGE // = new AccessibleRole("Image"); // public static final AccessibleRole INDICATOR // = new AccessibleRole("indicator"); // public static final AccessibleRole RADIO_BUTTON_MENU_ITEM // = new AccessibleRole("radiobuttonmenuitem"); // public static final AccessibleRole ROW // = new AccessibleRole("row"); // public static final AccessibleRole TABLE_CELL // = new AccessibleRole("tablecell"); // public static final AccessibleRole TREE_NODE // = new AccessibleRole("treenode");
Creates a new AccessibleRole using the given locale independent key. This should not be a public method. Instead, it is used to create the constants in this file to make it a strongly typed enumeration. Subclasses of this class should enforce similar policy.

The key String should be a locale independent key for the role. It is not intended to be used as the actual String to display to the user. To get the localized string, use toDisplayString.

Params:
  • key – the locale independent name of the role.
See Also:
/** * Creates a new AccessibleRole using the given locale independent key. * This should not be a public method. Instead, it is used to create * the constants in this file to make it a strongly typed enumeration. * Subclasses of this class should enforce similar policy. * <p> * The key String should be a locale independent key for the role. * It is not intended to be used as the actual String to display * to the user. To get the localized string, use toDisplayString. * * @param key the locale independent name of the role. * @see AccessibleBundle#toDisplayString */
protected AccessibleRole(String key) { this.key = key; } }