Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 169300 of MSAA Relations

  • Revision slug: Accessibility/AT-APIs/MSAA/Relations
  • Revision title: MSAA Relations
  • Revision id: 169300
  • Created:
  • Creator: Aaronlev
  • Is current revision? No
  • Comment /* Introduction */

Revision Content

{{template.BackToPage("Accessibility:AT-APIs#Supported_Relations", "AT APIs Support")}}

Introduction

Mapping for MSAA Relations and additional relations to Gecko relations. Use IAccessible::accNavigate method to get relations.

Relations List

MSAA Relation Description Gecko Relation
NAVRELATION_CONTROLLED_BY = 0x1000 Some attribute of this object is affected by a target object. {{template.A11yRelationRef("RELATION_CONTROLLED_BY")}}
NAVRELATION_CONTROLLER_FOR = 0x1001 This object is interactive and controls some attribute of a target object. {{template.A11yRelationRef("RELATION_CONTROLLER_FOR")}}
NAVRELATION_DESCRIBED_BY = 0x100e This object is described by the target object. {{template.A11yRelationRef("RELATION_DESCRIBED_BY")}}
NAVRELATION_DESCRIPTION_FOR = 0x100f This object is describes the target object. {{template.A11yRelationRef("RELATION_DESCRIPTION_FOR")}}
NAVRELATION_EMBEDDED_BY= 0x100a This object is embedded by a target object. {{template.A11yRelationRef("RELATION_EMBEDDED_BY")}}
NAVRELATION_EMBEDS = 0x1009 This object embeds a target object. This relation can be used on the OBJID_CLIENT accessible for a top level window to show where the content areas are. {{template.A11yRelationRef("RELATION_EMBEDS")}}
NAVRELATION_FLOWS_FROM = 0x1007 Content flows to this object from a target object. {{template.A11yRelationRef("RELATION_FLOWS_FROM")}}
NAVRELATION_FLOWS_TO = 0x1006 Content flows from this object to a target object. {{template.A11yRelationRef("RELATION_FLOWS_TO")}}
NAVRELATION_LABEL_FOR = 0x1002 This object is label for a target object. {{template.A11yRelationRef("RELATION_LABEL_FOR")}}
NAVRELATION_LABELLED_BY = 0x1003 This object is labelled by a target object. {{template.A11yRelationRef("RELATION_LABELED_BY")}}
NAVRELATION_MEMBER_OF = 0x1004 This object is a member of a group of one or more objects. When there is more than one object in the group each member may have one and the same target, e.g. a grouping object. It is also possible that each member has multiple additional targets, e.g. one for every other member in the group. {{template.A11yRelationRef("RELATION_MEMBER_OF")}}
NAVRELATION_NODE_CHILD_OF = 0x1005 This object is a child of a target object. {{template.A11yRelationRef("RELATION_NODE_CHILD_OF")}}
NAVRELATION_PARENT_WINDOW_OF = 0x100c This object is a parent window of the target object. {{template.A11yRelationRef("RELATION_PARENT_WINDOW_OF")}}
NAVRELATION_POPUP_FOR = 0x100b This object is a transient component related to the target object. When this object is activated the target object doesn't loose focus. {{template.A11yRelationRef("RELATION_POPUP_FOR")}}
NAVRELATION_SUBWINDOW_OF = 0x1008 This object is a sub window of a target object. {{template.A11yRelationRef("RELATION_SUBWINDOW_OF")}}
NAVRELATION_DEFAULT_BUTTON = 0x100d This object is a sub window of a target object. {{template.A11yRelationRef("RELATION_DEFAULT_BUTTON")}}
NAVDIR_DOWN (not currently supported) Navigate to the sibling object located below the starting object. {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleBelow" ])}}
NAVDIR_FIRSTCHILD Navigate to the first child of this object. When using this flag, the lVal member of the varStart parameter must be CHILDID_SELF. {{wiki.template('Interface-attribute', [ "nsIAccessible", "firstChild" ])}}
NAVDIR_LASTCHILD Navigate to the last child of this object. When using this flag, the lVal member of the varStart parameter must be CHILDID_SELF. {{wiki.template('Interface-attribute', [ "nsIAccessible", "lastChild" ])}}
NAVDIR_LEFT (not currently supported) Navigate to the sibling object located to the left of the starting object. {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleToLeft" ])}}
NAVDIR_NEXT Navigate to the next logical object, generally a sibling to the starting object. {{wiki.template('Interface-attribute', [ "nsIAccessible", "nextSibling" ])}}
NAVDIR_PREVIOUS Navigate to the previous logical object, generally a sibling to the starting object. {{wiki.template('Interface-attribute', [ "nsIAccessible", "previousSibling" ])}}
NAVDIR_RIGHT (not currently supported) Navigate to the sibling object located to the right of the starting object. {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleToRight" ])}}
NAVDIR_UP (not currently supported) Navigate to the sibling object located above the starting object. {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleAbove" ])}}

Revision Source

<p> 
</p><p>{{template.BackToPage("Accessibility:AT-APIs#Supported_Relations", "AT APIs Support")}}
</p>
<h2 name="Introduction">Introduction</h2>
<p>Mapping for <a class="external" href="https://msdn2.microsoft.com/en-us/library/ms697230(VS.85).aspx">MSAA Relations</a> and additional relations to Gecko relations. Use <a class="external" href="https://msdn2.microsoft.com/en-us/library/ms696145(VS.85).aspx">IAccessible::accNavigate</a> method to get relations.
</p>
<h2 name="Relations_List">Relations List</h2>
<table class="standard-table">
<tbody><tr>
<th> MSAA Relation
</th><th> Description
</th><th> Gecko Relation
</th></tr>
<tr>
<td> <code>NAVRELATION_CONTROLLED_BY = 0x1000</code>
</td><td> Some attribute of this object is affected by a target object.
</td><td> {{template.A11yRelationRef("RELATION_CONTROLLED_BY")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_CONTROLLER_FOR = 0x1001</code>
</td><td> This object is interactive and controls some attribute of a target object.
</td><td> {{template.A11yRelationRef("RELATION_CONTROLLER_FOR")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_DESCRIBED_BY = 0x100e</code>
</td><td> This object is described by the target object.
</td><td> {{template.A11yRelationRef("RELATION_DESCRIBED_BY")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_DESCRIPTION_FOR = 0x100f</code>
</td><td> This object is describes the target object.
</td><td> {{template.A11yRelationRef("RELATION_DESCRIPTION_FOR")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_EMBEDDED_BY= 0x100a</code>
</td><td> This object is embedded by a target object.
</td><td> {{template.A11yRelationRef("RELATION_EMBEDDED_BY")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_EMBEDS = 0x1009</code>
</td><td> This object embeds a target object. This relation can be used on the OBJID_CLIENT accessible for a top level window to show where the content areas are.
</td><td> {{template.A11yRelationRef("RELATION_EMBEDS")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_FLOWS_FROM = 0x1007</code>
</td><td> Content flows to this object from a target object.
</td><td> {{template.A11yRelationRef("RELATION_FLOWS_FROM")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_FLOWS_TO = 0x1006</code>
</td><td> Content flows from this object to a target object.
</td><td> {{template.A11yRelationRef("RELATION_FLOWS_TO")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_LABEL_FOR = 0x1002</code>
</td><td> This object is label for a target object.
</td><td> {{template.A11yRelationRef("RELATION_LABEL_FOR")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_LABELLED_BY = 0x1003</code>
</td><td> This object is labelled by a target object.
</td><td> {{template.A11yRelationRef("RELATION_LABELED_BY")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_MEMBER_OF = 0x1004</code>
</td><td> This object is a member of a group of one or more objects. When there is more than one object in the group each member may have one and the same target, e.g. a grouping object.  It is also possible that each member has multiple additional targets, e.g. one for every other member in the group.
</td><td> {{template.A11yRelationRef("RELATION_MEMBER_OF")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_NODE_CHILD_OF = 0x1005</code>
</td><td> This object is a child of a target object.
</td><td> {{template.A11yRelationRef("RELATION_NODE_CHILD_OF")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_PARENT_WINDOW_OF = 0x100c</code>
</td><td> This object is a parent window of the target object.
</td><td> {{template.A11yRelationRef("RELATION_PARENT_WINDOW_OF")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_POPUP_FOR = 0x100b</code>
</td><td> This object is a transient component related to the target object. When this object is activated the target object doesn't loose focus.
</td><td> {{template.A11yRelationRef("RELATION_POPUP_FOR")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_SUBWINDOW_OF = 0x1008</code>
</td><td>  This object is a sub window of a target object.
</td><td> {{template.A11yRelationRef("RELATION_SUBWINDOW_OF")}}
</td></tr>
<tr>
<td> <code>NAVRELATION_DEFAULT_BUTTON = 0x100d</code>
</td><td> This object is a sub window of a target object.
</td><td> {{template.A11yRelationRef("RELATION_DEFAULT_BUTTON")}}
</td></tr>
<tr>
<td> <code>NAVDIR_DOWN</code> (not currently supported)
</td><td> Navigate to the sibling object located below the starting object.
</td><td> {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleBelow" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_FIRSTCHILD</code>
</td><td> Navigate to the first child of this object. When using this flag, the lVal member of the varStart parameter must be CHILDID_SELF.
</td><td> {{wiki.template('Interface-attribute', [ "nsIAccessible", "firstChild" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_LASTCHILD</code>
</td><td> Navigate to the last child of this object. When using this flag, the lVal member of the varStart parameter must be CHILDID_SELF.
</td><td> {{wiki.template('Interface-attribute', [ "nsIAccessible", "lastChild" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_LEFT</code> (not currently supported)
</td><td> Navigate to the sibling object located to the left of the starting object.
</td><td> {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleToLeft" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_NEXT</code>
</td><td> Navigate to the next logical object, generally a sibling to the starting object.
</td><td> {{wiki.template('Interface-attribute', [ "nsIAccessible", "nextSibling" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_PREVIOUS</code>
</td><td> Navigate to the previous logical object, generally a sibling to the starting object.
</td><td> {{wiki.template('Interface-attribute', [ "nsIAccessible", "previousSibling" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_RIGHT</code> (not currently supported)
</td><td> Navigate to the sibling object located to the right of the starting object.
</td><td> {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleToRight" ])}}
</td></tr>
<tr>
<td> <code>NAVDIR_UP</code> (not currently supported)
</td><td> Navigate to the sibling object located above the starting object.
</td><td> {{wiki.template('Interface-method', [ "nsIAccessible", "getAccessibleAbove" ])}}
</td></tr></tbody></table>
Revert to this revision