gecko/other-licenses/ia2/AccessibleRole.idl
Alexander Surkov 162d6d3e9c Bug 512424 - implement IAccessibleTable2, r=marcoz, davidb, sr=neil
--HG--
rename : accessible/src/atk/nsXULTreeAccessibleWrap.h => accessible/src/atk/nsXULTreeGridAccessibleWrap.h
rename : accessible/src/mac/nsXULTreeAccessibleWrap.h => accessible/src/mac/nsXULTreeGridAccessibleWrap.h
rename : accessible/src/msaa/nsXULTreeAccessibleWrap.cpp => accessible/src/msaa/nsXULTreeGridAccessibleWrap.cpp
rename : accessible/src/msaa/nsXULTreeAccessibleWrap.h => accessible/src/msaa/nsXULTreeGridAccessibleWrap.h
rename : accessible/src/other/nsXULTreeAccessibleWrap.h => accessible/src/other/nsXULTreeGridAccessibleWrap.h
rename : accessible/src/xul/nsXULSelectAccessible.cpp => accessible/src/xul/nsXULListboxAccessible.cpp
rename : accessible/src/xul/nsXULSelectAccessible.h => accessible/src/xul/nsXULListboxAccessible.h
rename : accessible/tests/mochitest/test_relations_table.html => accessible/tests/mochitest/test_table_headers.html
rename : accessible/tests/mochitest/test_nsIAccessibleTable_listboxes.xul => accessible/tests/mochitest/test_table_sels_listbox.xul
rename : accessible/tests/mochitest/test_elm_table.html => accessible/tests/mochitest/test_table_struct.html
2009-09-11 09:07:56 +08:00

257 lines
8.9 KiB
Plaintext

/*************************************************************************
*
* File Name (AccessibleRole.idl)
*
* IAccessible2 IDL Specification
*
* Copyright (c) Linux Foundation 2007, 2008
* Copyright (c) IBM Corp. 2006
* Copyright (c) Sun Microsystems, Inc. 2000, 2006
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
*
************************************************************************/
import "objidl.idl";
/** Collection of roles
This enumerator defines an extended set of accessible roles of objects implementing
the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
through the MSAA get_accRole method. Examples are 'footnote', 'heading', and
'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
*/
enum IA2Role {
/** Unknown role. The object contains some Accessible information, but its
role is not known.
*/
IA2_ROLE_UNKNOWN = 0,
/** An object that can be drawn into and to manage events from the objects
drawn into it. Also refer to ::IA2_ROLE_FRAME,
::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
*/
IA2_ROLE_CANVAS = 0x401,
/// A caption describing another object.
IA2_ROLE_CAPTION,
/// Used for check buttons that are menu items.
IA2_ROLE_CHECK_MENU_ITEM,
/// A specialized dialog that lets the user choose a color.
IA2_ROLE_COLOR_CHOOSER,
/// A date editor.
IA2_ROLE_DATE_EDITOR,
/** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
Also refer to ::IA2_ROLE_INTERNAL_FRAME.
*/
IA2_ROLE_DESKTOP_ICON,
/** A desktop pane. A pane that supports internal frames and iconified
versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
*/
IA2_ROLE_DESKTOP_PANE,
/** A directory pane. A pane that allows the user to navigate through
and select the contents of a directory. May be used by a file chooser.
Also refer to ::IA2_ROLE_FILE_CHOOSER.
*/
IA2_ROLE_DIRECTORY_PANE,
/** An editable text object in a toolbar.
<BR><B>Note:</B> This role has been deprecated. The edit bar role was meant
for a text area in a tool bar. However, to detect a text area in a tool bar
the AT can query the parent.
*/
IA2_ROLE_EDITBAR,
/// Embedded (OLE) object.
IA2_ROLE_EMBEDDED_OBJECT,
/// Text that is used as an endnote (footnote at the end of a chapter or section).
IA2_ROLE_ENDNOTE,
/** A file chooser. 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.
Also refer to ::IA2_ROLE_DIRECTORY_PANE.
*/
IA2_ROLE_FILE_CHOOSER,
/** A font chooser. A font chooser is a component that lets the user pick
various attributes for fonts.
*/
IA2_ROLE_FONT_CHOOSER,
/** Footer of a document page.
Also refer to ::IA2_ROLE_HEADER.
*/
IA2_ROLE_FOOTER,
/// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
IA2_ROLE_FOOTNOTE,
/** A container of form controls. An example of the use of this role is to
represent an HTML FORM tag.
*/
IA2_ROLE_FORM,
/** Frame role. A top level window with a title bar, border, menu bar, etc.
It is often used as the primary window for an application. Also refer to
::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
*/
IA2_ROLE_FRAME,
/** A glass pane. A pane that is guaranteed to be painted on top of all panes
beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
::IA2_ROLE_ROOT_PANE.
*/
IA2_ROLE_GLASS_PANE,
/** Header of a document page.
Also refer to ::IA2_ROLE_FOOTER.
*/
IA2_ROLE_HEADER,
/// Heading. Use the IAccessible2::attributes heading-level attribute to determine the heading level.
IA2_ROLE_HEADING,
/// A small fixed size picture, typically used to decorate components.
IA2_ROLE_ICON,
/** An image map object. Usually a graphic with multiple hotspots, where
each hotspot can be activated resulting in the loading of another document
or section of a document.
*/
IA2_ROLE_IMAGE_MAP,
/** An object which is used to allow input of characters not found on a keyboard,
such as the input of Chinese characters on a Western keyboard.
*/
IA2_ROLE_INPUT_METHOD_WINDOW,
/** An internal frame. 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.
Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
*/
IA2_ROLE_INTERNAL_FRAME,
/// An object used to present an icon or short string in an interface.
IA2_ROLE_LABEL,
/** A layered pane. 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.
Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
*/
IA2_ROLE_LAYERED_PANE,
/// An embedded note which is not visible until activated.
IA2_ROLE_NOTE,
/** A specialized pane whose primary use is inside a dialog.
Also refer to MSAA's dialog role.
*/
IA2_ROLE_OPTION_PANE,
/** An object representing a page of document content. It is used in documents
which are accessed by the user on a page by page basis.
*/
IA2_ROLE_PAGE,
/// A paragraph of text.
IA2_ROLE_PARAGRAPH,
/** A radio button that is a menu item.
Also refer to MSAA's button and menu item roles.
*/
IA2_ROLE_RADIO_MENU_ITEM,
/** An object which is redundant with another object in the accessible hierarchy.
ATs typically ignore objects with this role.
*/
IA2_ROLE_REDUNDANT_OBJECT,
/** A root pane. A specialized pane that has a glass pane and a layered pane
as its children.
Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
*/
IA2_ROLE_ROOT_PANE,
/** A ruler such as those used in word processors.
*/
IA2_ROLE_RULER,
/** A scroll pane. An object that allows a user to incrementally view a large
amount of information. Its children can include scroll bars and a viewport.
Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
*/
IA2_ROLE_SCROLL_PANE,
/** A container of document content. An example of the use of this role is to
represent an HTML DIV tag. A section may be used as a region. A region is a
group of elements that together form a perceivable unit. A region does not
necessarily follow the logical structure of the content, but follows the
perceivable structure of the page. A region may have an attribute in the set
of IAccessible2::attributes which indicates that it is "live". A live region
is content that is likely to change in response to a timed change, a user
event, or some other programmed logic or event.
*/
IA2_ROLE_SECTION,
/// Object with graphical representation used to represent content on draw pages.
IA2_ROLE_SHAPE,
/** A split pane. 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.
*/
IA2_ROLE_SPLIT_PANE,
/** An object that forms part of a menu system but which can be "undocked"
from or "torn off" the menu system to exist as a separate window.
*/
IA2_ROLE_TEAR_OFF_MENU,
/// An object used as a terminal emulator.
IA2_ROLE_TERMINAL,
/// Collection of objects that constitute a logical text entity.
IA2_ROLE_TEXT_FRAME,
/** A toggle button. A specialized push button that can be checked or unchecked,
but does not provide a separate indicator for the current state.
Also refer to MSAA's roles of push button, check box, and radio button.
<BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
*/
IA2_ROLE_TOGGLE_BUTTON,
/** A viewport. 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.
Also refer to ::IA2_ROLE_SCROLL_PANE.
*/
IA2_ROLE_VIEW_PORT
};