Selecting Child Objects

[This is preliminary documentation and subject to change.]

Applications call the IAccessible::accSelect method to modify selection or keyboard focus among the child object(s) within the current object. The flags you specify with the call define the operation you want to perform.

The following list describes how you can use IAccessible::accSelect to perform complex selection operations.

To simulate a click:
Specify the SELFLAG_TAKEFOCUS flag.
To simulate ctrl + click:
To select the target item, specify a combination of the SELFLAG_TAKEFOCUS and SELFLAG_ADDSELECTION flags. Or, to cancel selection of the target item, call the method specifying a combination of the SELFLAG_TAKEFOCUS and SELFLAG_REMOVESELECTION flags.
To simulate shift + click:
Call ::accSelect, specifying a combination of the SELFLAG_TAKEFOCUS and SELFLAG_EXTENDSELECTION flags.
To select a range of objects:
This requires two calls: in the first, specify SELFLAG_TAKEFOCUS on the starting object; in the second, specify a combination of SELFLAG_EXTENDSELECTION and SELFLAG_TAKEFOCUS on the last object.
To cancel selection of all objects:
Specify a combination of SELFLAG_REMOVESELECTION and SELFLAG_TAKEFOCUS.