Existing selection APIs in IA2 are limited because they can only work with IA2Hypertext offsets.
<ul>
<li>item1</li>
<li>Item2</li>
</ul>
With the existing APIs it is not possible to select e.g. from the beginning of the list to the third character of the second list item. Only offset ranges within a single object were permissible.
We are proposing, together with screen reader vendors, the following API to be exposed on a new IAccessible2_4, or better, an IAccessibleDocument interface:
HRESULT SetSelectionRanges(IA2Range** ranges, LONG nRanges);
We should also implement the get_selectionRanges API from IAccessible2_3.
Note that Blink only supports one selection range for now, but for consistency with browsers that support multiple ranges and the selection web standards, we prefer the above method signiture.