Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Never use UIA for Mozilla Gecko. #17694

Merged
merged 1 commit into from
Feb 14, 2025
Merged

Never use UIA for Mozilla Gecko. #17694

merged 1 commit into from
Feb 14, 2025

Conversation

jcsteh
Copy link
Contributor

@jcsteh jcsteh commented Feb 13, 2025

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:

  1. Enabled native UIA in Firefox by going to about:config, setting accessibility.uia.enable to true and restarting Firefox.
  2. Tabbed into the new page document. Navigated with the arrow keys and h to move by heading.
    • Before this change: Browse mode didn't work.
    • After this change: Browse mode works as expected.

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:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@coderabbitai summary

@jcsteh jcsteh requested a review from a team as a code owner February 13, 2025 05:03
@jcsteh jcsteh requested a review from SaschaCowley February 13, 2025 05:03
@seanbudd seanbudd merged commit 690103a into nvaccess:master Feb 14, 2025
5 checks passed
@github-actions github-actions bot added this to the 2025.1 milestone Feb 14, 2025
@jcsteh jcsteh deleted the geckoUia branch February 14, 2025 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants