react-native-windows
react-native-windows copied to clipboard
Add support for ISelectionProvider UIA Interface
Documentation
https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.itextprovider?view=windowsdesktop-8.0
Behavior
Exposes methods and properties to support UI Automation client access to controls that act as containers for a collection of individual, selectable child items. The children of this control must implement ISelectionItemProvider.
Controls of control type Tab should always implement the ISelectionProvider. Controls of control type Tree, Spinner, Slider, List, DataGrid, Calendar should conditionally support the ISelectionProvider. See here for documentation.
Note any children of a control which implements ISelectionProvider must implement ISelectionItemProvider.
Implementation Plan
We should:
- Implement the ISelectionProvider APIs in CompositionDynamicAutomationProvider.
- Set the list of controls who implement the ISelectionProvider to match the behavior describe above. To get more information on the conditions visit the page for the individual UIA control types.
For additional reference, see other provider implementations on Fabric: https://github.com/microsoft/react-native-windows/pull/11874