accessible/public/nsIAccessibleRelation.idl

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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/. */
     6 #include "nsISupports.idl"
     7 #include "nsIArray.idl"
     9 interface nsIAccessible;
    11 /**
    12  * This interface gives access to an accessible's set of relations.
    13  */
    14 [scriptable, 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;
    22   /**
    23    * This object is label for a target object.
    24    */
    25   const unsigned long RELATION_LABEL_FOR = 0x01;
    27   /**
    28    * This object is described by the target object.
    29    */
    30   const unsigned long RELATION_DESCRIBED_BY = 0x02;
    32   /**
    33    * This object is describes the target object.
    34    */
    35   const unsigned long RELATION_DESCRIPTION_FOR = 0x3;
    37   /**
    38    * This object is a child of a target object.
    39    */
    40   const unsigned long RELATION_NODE_CHILD_OF = 0x4;
    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;
    48   /**
    49    * Some attribute of this object is affected by a target object.
    50    */
    51   const unsigned long RELATION_CONTROLLED_BY = 0x06;
    53   /**
    54    * This object is interactive and controls some attribute of a target object.
    55    */
    56   const unsigned long RELATION_CONTROLLER_FOR = 0x07;
    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;
    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;
    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;
    78   /**
    79    * This object is a sub window of a target object.
    80    */
    81   const unsigned long RELATION_SUBWINDOW_OF = 0x0b;
    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;
    90   /**
    91    * This object is embedded by a target object.
    92    */
    93   const unsigned long RELATION_EMBEDDED_BY = 0x0d;
    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;
   101   /**
   102    * This object is a parent window of the target object.
   103    */
   104   const unsigned long RELATION_PARENT_WINDOW_OF = 0x0f;
   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;
   112   /**
   113    * The target object is the containing document object.
   114    */
   115   const unsigned long RELATION_CONTAINING_DOCUMENT = 0x11;
   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;
   122   /**
   123    * The target object is the containing application object.
   124    */
   125   const unsigned long RELATION_CONTAINING_APPLICATION = 0x14;
   127   /**
   128    * Returns the type of the relation.
   129    */
   130   readonly attribute unsigned long relationType;
   132   /**
   133    * Returns the number of targets for this relation.
   134    */
   135   readonly attribute unsigned long targetsCount;
   137   /**
   138    * Returns one accessible relation target.
   139    * @param index - 0 based index of relation target.
   140    */
   141   nsIAccessible getTarget(in unsigned long index);
   143   /**
   144    * Returns multiple accessible relation targets.
   145    */
   146   nsIArray getTargets();
   147 };

mercurial