Basic implementation of UIA navigation functions #11412
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Description
Adds a AutomationProvider for non-Root elements and enables the UIA client to navigate among our Fabric-based Component's UIA providers. This adds a very basic implementation for a few RN a11y props (accessibilityRole, name, and testId) to make the tree a little more interesting and unblock basic automated-test scenarios; however, since that was not the focus of this PR, work remains to be done here (e.g. UIA property change notifications, separating Control/Content/Raw trees). PR sent out now to keep the change small since there's a lot of work to be done, we'll keep iterating :)
Type of Change
Why
Right now, the only accessible element in the UIA tree is the RootView. This makes the rest of the tree accessible for AT users (albeit with very limited functionality).
What
Screenshots
Testing
Manually verified a few of the JS samples have reasonable a11y trees in Accessibility Insights
Microsoft Reviewers: Open in CodeFlow