tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

AccessibleRole.idl (13281B)


      1 /*************************************************************************
      2 *
      3 *  File Name (AccessibleRole.idl)
      4 *
      5 *  IAccessible2 IDL Specification
      6 *
      7 *  Copyright (c) 2007-2018 Linux Foundation
      8 *  Copyright (c) 2006 IBM Corporation
      9 *  Copyright (c) 2000, 2006 Sun Microsystems, Inc.
     10 *  All rights reserved.
     11 *
     12 *
     13 *  Redistribution and use in source and binary forms, with or without
     14 *  modification, are permitted provided that the following conditions
     15 *  are met:
     16 *
     17 *   1. Redistributions of source code must retain the above copyright
     18 *      notice, this list of conditions and the following disclaimer.
     19 *
     20 *   2. Redistributions in binary form must reproduce the above
     21 *      copyright notice, this list of conditions and the following
     22 *      disclaimer in the documentation and/or other materials
     23 *      provided with the distribution.
     24 *
     25 *   3. Neither the name of the Linux Foundation nor the names of its
     26 *      contributors may be used to endorse or promote products
     27 *      derived from this software without specific prior written
     28 *      permission.
     29 *
     30 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
     31 *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
     32 *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     33 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     34 *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
     35 *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     36 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     37 *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     38 *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     39 *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     40 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     41 *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     42 *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     43 *
     44 *  This BSD License conforms to the Open Source Initiative "Simplified
     45 *  BSD License" as published at:
     46 *  http://www.opensource.org/licenses/bsd-license.php
     47 *
     48 *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
     49 *  mark may be used in accordance with the Linux Foundation Trademark
     50 *  Policy to indicate compliance with the IAccessible2 specification.
     51 *
     52 ************************************************************************/
     53 
     54 import "objidl.idl";
     55 
     56 /** Collection of roles
     57 
     58  This enumerator defines an extended set of accessible roles of objects implementing
     59  the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
     60  through the MSAA get_accRole method.  Examples are 'footnote', 'heading', and
     61  'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
     62 */
     63 enum IA2Role {
     64 
     65  /** Unknown role. The object contains some Accessible information, but its
     66   role is not known.
     67  */
     68  IA2_ROLE_UNKNOWN = 0,
     69 
     70  /** An object that can be drawn into and to manage events from the objects
     71   drawn into it.  Also refer to ::IA2_ROLE_FRAME,
     72   ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
     73  */
     74  IA2_ROLE_CANVAS = 0x401,
     75 
     76  /// A caption describing another object.
     77  IA2_ROLE_CAPTION,
     78 
     79  /// Used for check buttons that are menu items.
     80  IA2_ROLE_CHECK_MENU_ITEM,
     81 
     82  /// A specialized dialog that lets the user choose a color.
     83  IA2_ROLE_COLOR_CHOOSER,
     84 
     85  /// A date editor.
     86  IA2_ROLE_DATE_EDITOR,
     87 
     88  /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
     89   Also refer to ::IA2_ROLE_INTERNAL_FRAME.
     90  */
     91  IA2_ROLE_DESKTOP_ICON,
     92 
     93  /** A desktop pane. A pane that supports internal frames and iconified
     94   versions of those internal frames.  Also refer to ::IA2_ROLE_INTERNAL_FRAME.
     95  */
     96  IA2_ROLE_DESKTOP_PANE,
     97 
     98  /** A directory pane. A pane that allows the user to navigate through
     99   and select the contents of a directory. May be used by a file chooser.
    100   Also refer to ::IA2_ROLE_FILE_CHOOSER.
    101  */
    102  IA2_ROLE_DIRECTORY_PANE,
    103 
    104  /** An editable text object in a toolbar. <b>Deprecated.</b>
    105   The edit bar role was meant for a text area in a tool bar. However, to detect
    106   a text area in a tool bar the AT can query the parent.
    107  */
    108  IA2_ROLE_EDITBAR,
    109 
    110  /// Embedded (OLE) object.
    111  IA2_ROLE_EMBEDDED_OBJECT,
    112 
    113  /// Text that is used as an endnote (footnote at the end of a chapter or section).
    114  IA2_ROLE_ENDNOTE,
    115 
    116  /** A file chooser. A specialized dialog that displays the files in the
    117   directory and lets the user select a file, browse a different directory,
    118   or specify a filename. May use the directory pane to show the contents of
    119   a directory.
    120   Also refer to ::IA2_ROLE_DIRECTORY_PANE.
    121  */
    122  IA2_ROLE_FILE_CHOOSER,
    123 
    124  /** A font chooser. A font chooser is a component that lets the user pick
    125   various attributes for fonts.
    126  */
    127  IA2_ROLE_FONT_CHOOSER,
    128 
    129  /** Footer of a document page.
    130   Also refer to ::IA2_ROLE_HEADER.
    131  */
    132  IA2_ROLE_FOOTER,
    133 
    134  /// Text that is used as a footnote.  Also refer to ::IA2_ROLE_ENDNOTE.
    135  IA2_ROLE_FOOTNOTE,
    136 
    137  /** A container of form controls.  An example of the use of this role is to
    138   represent an HTML FORM tag.
    139  */
    140  IA2_ROLE_FORM,
    141 
    142  /** Frame role. A top level window with a title bar, border, menu bar, etc.
    143   It is often used as the primary window for an application.  Also refer to
    144   ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
    145  */
    146  IA2_ROLE_FRAME,
    147 
    148  /** A glass pane. A pane that is guaranteed to be painted on top of all panes
    149   beneath it.  Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
    150   ::IA2_ROLE_ROOT_PANE.
    151  */
    152  IA2_ROLE_GLASS_PANE,
    153 
    154  /** Header of a document page.
    155   Also refer to ::IA2_ROLE_FOOTER.
    156  */
    157  IA2_ROLE_HEADER,
    158 
    159  /// Heading.  Use the IAccessible2::attributes level attribute to determine the heading level.
    160  IA2_ROLE_HEADING,
    161 
    162  /// A small fixed size picture, typically used to decorate components.
    163  IA2_ROLE_ICON,
    164 
    165  /** An image map object.  Usually a graphic with multiple hotspots, where
    166   each hotspot can be activated resulting in the loading of another document
    167   or section of a document.
    168  */
    169  IA2_ROLE_IMAGE_MAP,
    170 
    171  /** An object which is used to allow input of characters not found on a keyboard,
    172   such as the input of Chinese characters on a Western keyboard.
    173  */
    174  IA2_ROLE_INPUT_METHOD_WINDOW,
    175 
    176  /** An internal frame. A frame-like object that is clipped by a desktop pane.
    177   The desktop pane, internal frame, and desktop icon objects are often used to
    178   create multiple document interfaces within an application.
    179   Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
    180  */
    181  IA2_ROLE_INTERNAL_FRAME,
    182 
    183  /// An object used to present an icon or short string in an interface.
    184  IA2_ROLE_LABEL,
    185 
    186  /** A layered pane. A specialized pane that allows its children to be drawn
    187   in layers, providing a form of stacking order. This is usually the pane that
    188   holds the menu bar as  well as the pane that contains most of the visual
    189   components in a window.
    190   Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
    191  */
    192  IA2_ROLE_LAYERED_PANE,
    193 
    194  /** A section whose content is parenthetic or ancillary to the main content
    195   of the resource.
    196  */
    197  IA2_ROLE_NOTE,
    198 
    199 /** A specialized pane whose primary use is inside a dialog.
    200   Also refer to MSAA's dialog role.
    201  */
    202  IA2_ROLE_OPTION_PANE,
    203 
    204  /** An object representing a page of document content.  It is used in documents
    205   which are accessed by the user on a page by page basis.
    206  */
    207  IA2_ROLE_PAGE,
    208 
    209  /// A paragraph of text.
    210  IA2_ROLE_PARAGRAPH,
    211 
    212  /** A radio button that is a menu item.
    213   Also refer to MSAA's button and menu item roles.
    214  */
    215  IA2_ROLE_RADIO_MENU_ITEM,
    216 
    217  /** An object which is redundant with another object in the accessible hierarchy.
    218   ATs typically ignore objects with this role.
    219  */
    220  IA2_ROLE_REDUNDANT_OBJECT,
    221 
    222  /** A root pane. A specialized pane that has a glass pane and a layered pane
    223   as its children.
    224   Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
    225  */
    226  IA2_ROLE_ROOT_PANE,
    227 
    228  /** A ruler such as those used in word processors.
    229  */
    230  IA2_ROLE_RULER,
    231 
    232  /** A scroll pane. An object that allows a user to incrementally view a large
    233   amount of information.  Its children can include scroll bars and a viewport.
    234   Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
    235  */
    236  IA2_ROLE_SCROLL_PANE,
    237 
    238  /** A container of document content.  An example of the use of this role is to
    239   represent an HTML DIV tag.  A section may be used as a region.  A region is a
    240   group of elements that together form a perceivable unit.  A region does not
    241   necessarily follow the logical structure of the content, but follows the
    242   perceivable structure of the page.  A region may have an attribute in the set
    243   of IAccessible2::attributes which indicates that it is "live".  A live region
    244   is content that is likely to change in response to a timed change, a user
    245   event, or some other programmed logic or event.
    246  */
    247  IA2_ROLE_SECTION,
    248 
    249  /// Object with graphical representation used to represent content on draw pages.
    250  IA2_ROLE_SHAPE,
    251 
    252  /** A split pane. A specialized panel that presents two other panels at the
    253   same time. Between the two panels is a divider the user can manipulate to make
    254   one panel larger and the other panel smaller.
    255  */
    256  IA2_ROLE_SPLIT_PANE,
    257 
    258  /** An object that forms part of a menu system but which can be "undocked"
    259   from or "torn off" the menu system to exist as a separate window.
    260  */
    261  IA2_ROLE_TEAR_OFF_MENU,
    262 
    263  /// An object used as a terminal emulator.
    264  IA2_ROLE_TERMINAL,
    265 
    266  /// Collection of objects that constitute a logical text entity.
    267  IA2_ROLE_TEXT_FRAME,
    268 
    269  /** A toggle button. A specialized push button that can be checked or unchecked,
    270   but does not provide a separate indicator for the current state.
    271   Also refer to MSAA's roles of push button, check box, and radio button.
    272   <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used.  Instead, use MSAA's
    273   ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
    274  */
    275  IA2_ROLE_TOGGLE_BUTTON,
    276 
    277  /** A viewport. An object usually used in a scroll pane. It represents the
    278   portion of the entire data that the user can see. As the user manipulates
    279   the scroll bars, the contents of the viewport can change.
    280   Also refer to ::IA2_ROLE_SCROLL_PANE.
    281  */
    282  IA2_ROLE_VIEW_PORT,
    283 
    284  /** An object containing content which is complementary to the main content of
    285   a document, but remains meaningful when separated from the main content.  There
    286   are various types of content that would appropriately have this role.  For example,
    287   in the case where content is delivered via a web portal to a web browser, this may
    288   include but not be limited to show times, current weather, related articles, or
    289   stocks to watch.  The complementary role indicates that contained content is relevant
    290   to the main content.  If the complementary content is completely separable main
    291   content, it may be appropriate to use a more general role.
    292  */
    293  IA2_ROLE_COMPLEMENTARY_CONTENT,
    294 
    295  /** An object representing a navigational landmark, a region on a page to
    296   which the user may want quick access, such as a navigation area, a search
    297   facility or the main content of a page.
    298  */
    299  IA2_ROLE_LANDMARK,
    300 
    301  /**
    302   * A bar that serves as a level indicator to, for instance, show
    303   * the strength of a password or the charge of a battery.
    304   */
    305  IA2_ROLE_LEVEL_BAR,
    306 
    307  /** Content previously deleted or proposed for deletion, e.g. in revision
    308   history or a content view providing suggestions from reviewers.
    309  */
    310  IA2_ROLE_CONTENT_DELETION,
    311 
    312  /** Content previously inserted or proposed for insertion, e.g. in revision
    313   history or a content view providing suggestions from reviewers.
    314  */
    315  IA2_ROLE_CONTENT_INSERTION,
    316 
    317  /// A section of content that is quoted from another source.
    318  IA2_ROLE_BLOCK_QUOTE,
    319 
    320  /** A run of content that is marked or highlighted, such as for reference
    321   purposes, or to call it out as having a special purpose that is clear from
    322   context. If the mark is used in conjuction with a related content section
    323   in the document, then IA2_RELATION_DETAILS should be used to link the
    324   related content (and the reverse relation IA2_RELATION_DETAILS_FOR should
    325   link back to the IA2_ROLE_MARK object). If the mark has related information
    326   in a tooltip, or as hidden text, then accDescription should be used to
    327   provide this information.
    328  */
    329  IA2_ROLE_MARK,
    330 
    331  /** A grouping for content that is called out as a proposed change from the
    332   current version of the document, such as by a reviewer of the content.
    333   Should include as children one or both of:
    334   IA2_ROLE_CONTENT_DELETION and IA2_ROLE_CONTENT_INSERTION, in any order,
    335   to indicate what the actual change is.
    336   If the suggestion is accepted, the implementation should change the role to
    337   a generic one such as IA2_ROLE_SECTION or IA2_ROLE_TEXT_FRAME.
    338  */
    339  IA2_ROLE_SUGGESTION,
    340 
    341  /** A single comment, typically user-generated content. Supports reply
    342  hierarchies via descendant structure, e.g. a child comment is a reply
    343  to the parent comment. Supports groupPosition() method to determine
    344  reply level (top comment is 1), as well as set size and position in set
    345  within that level.
    346  */
    347  IA2_ROLE_COMMENT  
    348 };