No longer classify (rich) edit classes as bad for UIA#15314
Merged
Conversation
See test results for failed build of commit 1fb6626c5f |
seanbudd
approved these changes
Aug 21, 2023
This was referenced Sep 5, 2023
seanbudd
pushed a commit
that referenced
this pull request
Sep 6, 2023
Reintroduces #14285 Fixes #15375 Fixes #15330 Reverts #15314 Summary of the issue: In #15314, edit and rich edit classes were no longer classified as bad for UIA. This caused the following issues: Read only edit fields in Explorer no longer read correctly, as they inherrit from both UIA and IAccessible UIA adds a redundant name of RichEdit Control to RichEdit controls. Generally spoken, removing these classes from the bad UIA classes list meant an API breaking change because Edit objects using UIA instead of legacy Edit support behave differently with regard to overriding and filtering texts, including LTR and RTL marks. Description of user facing changes Reverted #15314. Most notably, the lag as reported in #14285 will unfortunately be reintroduced for now. Description of development approach Re-add the bad UIA class names again. Addressed issues in the explorer appmodule as pointed out in Edit controls in explorer fail when they have a native UIA implementation #15375. Most notably, changed class inheritance from IAccessible to Edit Added some small checks to overlay selection to ensure SysListView overlays won't be added on SysListView objects that don't use MSAA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Link to issue number:
Fixes #14285
Summary of the issue:
There are reports of NVDA being sluggish in Rich Edit controls. In d5a3383bb2, rich edit classes were classified as bad for UIA for us to always use the win32 implementation. However, our support for UIA text editing is good enough for this restriction to be lifted, as this also solves the reported sluggishness.
Description of user facing changes
Using UIA instead of win32 API's under the hood.
Description of development approach
Testing strategy:
Known issues with pull request:
I'm not sure whether we should consider this API breaking. In theory, an app module could use IAccessible specific properties to match against a specific implementation of a control, but I think this risk is negligible.
Change log entries:
Changes
Bug fixes
Code Review Checklist: