tor-browser

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

nsIAccessibleRelation.idl (5665B)


      1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #include "nsISupports.idl"
      7 #include "nsIArray.idl"
      8 
      9 interface nsIAccessible;
     10 
     11 /**
     12 * This interface gives access to an accessible's set of relations.
     13 */
     14 [scriptable, builtinclass, uuid(55b308c4-2ae4-46bc-b4cd-4d4370e0a660)]
     15 interface nsIAccessibleRelation : nsISupports
     16 {
     17  /**
     18   * This object is labelled by a target object.
     19   */
     20  const unsigned long RELATION_LABELLED_BY = 0x00;
     21 
     22  /**
     23   * This object is label for a target object.
     24   */
     25  const unsigned long RELATION_LABEL_FOR = 0x01;
     26 
     27  /**
     28   * This object is described by the target object.
     29   */
     30  const unsigned long RELATION_DESCRIBED_BY = 0x02;
     31 
     32  /**
     33   * This object is describes the target object.
     34   */
     35  const unsigned long RELATION_DESCRIPTION_FOR = 0x3;
     36 
     37  /**
     38   * This object is a child of a target object.
     39   */
     40  const unsigned long RELATION_NODE_CHILD_OF = 0x4;
     41 
     42  /**
     43   * This object is a parent of a target object. A dual relation to
     44   * RELATION_NODE_CHILD_OF
     45   */
     46  const unsigned long RELATION_NODE_PARENT_OF = 0x5;
     47 
     48  /**
     49   * Some attribute of this object is affected by a target object.
     50   */
     51  const unsigned long RELATION_CONTROLLED_BY = 0x06;
     52 
     53  /**
     54   * This object is interactive and controls some attribute of a target object.
     55   */
     56  const unsigned long RELATION_CONTROLLER_FOR = 0x07;
     57 
     58  /**
     59   * Content flows from this object to a target object, i.e. has content that
     60   * flows logically to another object in a sequential way, e.g. text flow.
     61   */
     62  const unsigned long RELATION_FLOWS_TO = 0x08;
     63 
     64  /**
     65   * Content flows to this object from a target object, i.e. has content that
     66   * flows logically from another object in a sequential way, e.g. text flow.
     67   */
     68  const unsigned long RELATION_FLOWS_FROM = 0x09;
     69 
     70  /**
     71   * This object is a member of a group of one or more objects. When there is
     72   * more than one object in the group each member may have one and the same
     73   * target, e.g. a grouping object.  It is also possible that each member has
     74   * multiple additional targets, e.g. one for every other member in the group.
     75   */
     76  const unsigned long RELATION_MEMBER_OF = 0x0a;
     77 
     78  /**
     79   * This object is a sub window of a target object.
     80   */
     81  const unsigned long RELATION_SUBWINDOW_OF = 0x0b;
     82 
     83  /**
     84   * This object embeds a target object. This relation can be used on the
     85   * OBJID_CLIENT accessible for a top level window to show where the content
     86   * areas are.
     87   */
     88  const unsigned long RELATION_EMBEDS = 0x0c;
     89 
     90  /**
     91   * This object is embedded by a target object.
     92   */
     93  const unsigned long RELATION_EMBEDDED_BY = 0x0d;
     94 
     95  /**
     96   * This object is a transient component related to the target object. When
     97   * this object is activated the target object doesn't lose focus.
     98   */
     99  const unsigned long RELATION_POPUP_FOR = 0x0e;
    100 
    101  /**
    102   * This object is a parent window of the target object.
    103   */
    104  const unsigned long RELATION_PARENT_WINDOW_OF = 0x0f;
    105 
    106  /**
    107   * Part of a form/dialog with a related default button. It is used for
    108   * MSAA/XPCOM, it isn't for IA2 or ATK.
    109   */
    110  const unsigned long RELATION_DEFAULT_BUTTON = 0x10;
    111 
    112  /**
    113   * The target object is the containing document object.
    114   */
    115  const unsigned long RELATION_CONTAINING_DOCUMENT = 0x11;
    116 
    117  /**
    118   * The target object is the topmost containing document object in the tab pane.
    119   */
    120  const unsigned long RELATION_CONTAINING_TAB_PANE = 0x12;
    121 
    122  /**
    123   * The target object is the containing window object.
    124   */
    125  const unsigned long RELATION_CONTAINING_WINDOW = 0x13;
    126 
    127  /**
    128   * The target object is the containing application object.
    129   */
    130  const unsigned long RELATION_CONTAINING_APPLICATION = 0x14;
    131 
    132  /**
    133   * The target object provides the detailed, extended description for this
    134   * object. It provides more detailed information than would normally be
    135   * provided using the DESCRIBED_BY relation. A common use for this relation is
    136   * in digital publishing where an extended description needs to be conveyed in
    137   * a book that requires structural markup or the embedding of other technology
    138   * to provide illustrative content.
    139   */
    140  const unsigned long RELATION_DETAILS = 0x15;
    141 
    142  /**
    143   * This object provides the detailed, extended description for the target
    144   * object. See DETAILS relation.
    145   */
    146  const unsigned long RELATION_DETAILS_FOR = 0x16;
    147 
    148  /**
    149   * The target object is the error message for this object.
    150   */
    151  const unsigned long RELATION_ERRORMSG = 0x17;
    152 
    153  /**
    154   * This object is the error message for the target object.
    155   */
    156  const unsigned long RELATION_ERRORMSG_FOR = 0x18;
    157 
    158  /**
    159   * The target object is the anchor referenced by this link.
    160   */
    161  const unsigned long RELATION_LINKS_TO = 0x19;
    162 
    163  /**
    164   * This object is has an action associated with the target object.
    165   */
    166  const unsigned long RELATION_ACTION = 0x20;
    167 
    168  /**
    169   * This object is has an action that operates on the target object.
    170   */
    171  const unsigned long RELATION_ACTION_FOR = 0x21;
    172 
    173  /**
    174   * Returns the type of the relation.
    175   */
    176  readonly attribute unsigned long relationType;
    177 
    178  /**
    179   * Returns the number of targets for this relation.
    180   */
    181  readonly attribute unsigned long targetsCount;
    182 
    183  /**
    184   * Returns one accessible relation target.
    185   * @param index - 0 based index of relation target.
    186   */
    187  nsIAccessible getTarget(in unsigned long index);
    188 
    189  /**
    190   * Returns multiple accessible relation targets.
    191   */
    192  nsIArray getTargets();
    193 };