Never use UIA for Mozilla Gecko. #17694
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.
Link to issue number:
None.
Summary of the issue:
Firefox (and thus other applications based on it or Gecko) now has a native UI Automation implementation. It is not yet enabled by default. However, once it is (likely in a few months), NVDA will use it automatically. This is definitely undesirable because NVDA doesn't support browse mode for Firefox with UIA. Even if it did, IA2 is still more suitable for web content in most screen readers.
Description of user facing changes
Mozilla Firefox will work with NVDA the same as it always has, even once Firefox enables native UI Automation support.
Description of development approach
Added the window classes used by Gecko to
UIAHandler.badUIAWindowClassNames
.Testing strategy:
Known issues with pull request:
This doesn't include a change log entry, as I can't think of a way to explain this from a user perspective. Right now, it doesn't fix any user visible problem, since Firefox native UIA isn't enabled by default and enabling it is hidden behind an about:config pref. On the other hand, we do need to land this change now so that NVDA users upgrade before this gets enabled by default in Firefox. I'd be happy to add a change log entry with some guidance as to what it should say. Having something like this in Changes just seems overly technical and not helpful for users:
"NVDA now ignores the native UI Automation implementation in Mozilla Firefox, Mozilla Thunderbird and other applications which use the Gecko rendering engine."
Code Review Checklist:
@coderabbitai summary