IAccessible::accNavigate Method

[This is preliminary documentation and subject to change.]

The Navigate method, accessed by calling the IAccessible::accNavigate method, retrieves the next or previous sibling or child object in a specified direction.

This method returns S_OK if successful or one of the following values or a standard COM error code otherwise.

DISP_E_MEMBERNOTFOUND
E_INVALIDARG
S_FALSE

This method retrieves only objects that have a defined screen location. However, the object might be currently clipped or obscured by another object. This method does not change selection or focus. To change focus to or select an object, use the IAccessible::accSelect method. For more information, see Object Navigation.

The NAVDIR_NEXT and NAVDIR_PREVIOUS values will not cause looping. The method will fail, returning S_FALSE, after the last or first object is found.

Note Implementers: If the current object does not have any knowledge of peer objects, it should ask its parent object to perform the navigation. If the current object does not have any knowledge of its parent, it should return S_FALSE.

Active Accessibility do not always support navigation to invisible children. Remember that it is OK for an object to support the IAccessible::accNavigate and IAccessible::get_accChild methods for children that are invisible, but that clients cannot expect this. In the section where the proxies are implemented, that menus, menu items, and menu popups allow navigation to invisible children, but that other objects we create proxies for do not. You might not be able to navigate to all of an object's children, if they have the flag STATE_SYSTEM_INVISIBLE