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. | RELATION_CONTROLLED_BY | 
| NAVRELATION_CONTROLLER_FOR = 0x1001 | This object is interactive and controls some attribute of a target object. | RELATION_CONTROLLER_FOR | 
| NAVRELATION_DESCRIBED_BY = 0x100e | This object is described by the target object. | RELATION_DESCRIBED_BY | 
| NAVRELATION_DESCRIPTION_FOR = 0x100f | This object is describes the target object. | RELATION_DESCRIPTION_FOR | 
| NAVRELATION_EMBEDDED_BY= 0x100a | This object is embedded by a target object. | 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. | RELATION_EMBEDS | 
| NAVRELATION_FLOWS_FROM = 0x1007 | Content flows to this object from a target object. | RELATION_FLOWS_FROM | 
| NAVRELATION_FLOWS_TO = 0x1006 | Content flows from this object to a target object. | RELATION_FLOWS_TO | 
| NAVRELATION_LABEL_FOR = 0x1002 | This object is label for a target object. | RELATION_LABEL_FOR | 
| NAVRELATION_LABELLED_BY = 0x1003 | This object is labelled by a target object. | 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. | RELATION_MEMBER_OF | 
| NAVRELATION_NODE_CHILD_OF = 0x1005 | This object is a child of a target object. | RELATION_NODE_CHILD_OF | 
| NAVRELATION_PARENT_WINDOW_OF = 0x100c | This object is a parent window of the target object. | 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. | RELATION_POPUP_FOR | 
| NAVRELATION_SUBWINDOW_OF = 0x1008 | This object is a sub window of a target object. | RELATION_SUBWINDOW_OF | 
| NAVRELATION_DEFAULT_BUTTON = 0x100d | This object is a sub window of a target object. | RELATION_DEFAULT_BUTTON | 
| NAVDIR_DOWN(not currently supported) | Navigate to the sibling object located below the starting object. | 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. | 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. | nsIAccessible.lastChild | 
| NAVDIR_LEFT(not currently supported) | Navigate to the sibling object located to the left of the starting object. | nsIAccessible.getAccessibleToLeft() | 
| NAVDIR_NEXT | Navigate to the next logical object, generally a sibling to the starting object. | nsIAccessible.nextSibling | 
| NAVDIR_PREVIOUS | Navigate to the previous logical object, generally a sibling to the starting object. | nsIAccessible.previousSibling | 
| NAVDIR_RIGHT(not currently supported) | Navigate to the sibling object located to the right of the starting object. | nsIAccessible.getAccessibleToRight() | 
| NAVDIR_UP(not currently supported) | Navigate to the sibling object located above the starting object. | nsIAccessible.getAccessibleAbove() |