Skip to content

Add support for Windows 11 Calculator #13212

@josephsl

Description

@josephsl

Hi,

A subtle follow-up to #9428:

Background:

One of the side-effects of Windows as a Service, or for that matter, universal apps, is the changing nature of apps. One of the changes is renamed executables, the best known case being Windows 10/11 Mail (hxmail -> hxoutlook). Another change is UIA tree for apps where the old tree traversal route will not work due to rearranged UIA tree for apps, the best example being emoji panel.

Is your feature request related to a problem? Please describe.

In #9428, NVDA introduced support for Windows 10 Calculator (calculator.exe), mostly to suppress UIA notification event announcement when entering expressions while speak typed characters is turned off. Windows 11 twists this in two ways:

  • Calculator app executable was renamed to calculatorapp.exe
  • UIA tree is different, so tree traversal to detect UIA notification announcement condition must be tweaked.

Describe the solution you'd like

Add support for Windows 11 Calculator through a new app module. There are two implementation strategies:

  1. Create a brand new Windows 11 Calculator app module that inherits from existing Windows 10 (modern) Calculator app module but tweaks UIA notification event handler's results tree traversal (in Windows 11 Calculator, one must move down one more level when fetching results element).
  2. Tweak existing Windows 10 Calculator app module's UIA notification event handler to account for UIA tree differences, then add an alias app module for Windows 11 Calculator.

Both approaches are being tested via Windows App Essentials add-on (currently the first approach is available for users, with the second approach being tested in private and a proof of concept will be deployed to dev channel users within the next 24 hours). The upcoming pull request will "transplant" code from Windows App Essentials add-on to NVDA Core (people reading add-on source code should notice what that PR would look like).

Describe alternatives you've considered

Leave it to add-ons to support Windows 11 Calculator.

Additional context

App modules for modern Windows apps are subject to change based on latest happenings with apps themselves, especially since apps can be updated anytime (this is the main reason why I wait for a while before proposing an app module for a modern Windows app to be included in NVDA Core). Also, Calculator app is now open-source, so anyone can contribute to it (repo is hosted on GitHub), with newer releases focusing on Windows 11.

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions