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

Windows 11 Version 24H2 (2024 Update)/preview: cannot use mouse and/or touch interaction to interact with quick settings interface and variations #16348

Closed
josephsl opened this issue Mar 30, 2024 · 1 comment · Fixed by #16370
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@josephsl
Copy link
Collaborator

Hi,

IMPORTANT: the following issue describes changes in Windows Insider Preview builds and is subject to change without notice (footnote 1, 2).

Background

In Windows 11 Version 24H2 (2024 Update)/Server 2025 preview, quick settings (Windows+A), cast (Windows+K), and volume mixer (Control+Windows+V) were separated from shell experience host into a separate shell host process. Among other things, this allows quick settings to show scrollable settings. However, the top-level window (window class name: ControlCenterWindow) is an XAML Islands window as evidenced by use of "DesktopWindowXamlSource" as its name, preventing mouse and touch interaction.

Steps to reproduce:

Prerequisite: must be running Windows Insider Preview (canary/dev) with mouse tracking on (NVDA+M):

  1. Press Windows+A to open quick settings.
  2. Use the mouse and/or touch interaction to navigate and/or interact with quick settings controls.

Actual behavior:

NVDA does not announce anything when navigating quick settings via mouse and/or touch interaction.

Expected behavior:

NVDA announces screen elements when navigating with mouse and/or touch.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-31515,38efb1cf

Windows version:

Windows 11 preview (build 26090)

Name and version of other software in use when reproducing the issue:

None

Other information about your system:

Tested on a Windows Insider Preview virtual machine

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes - reproducible in 2023.x and 2024.1 RC

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Not applicable

Solution

As with other Windows 11 XAML Islands/WinUI workarounds such as #13506 and friends, reclassifying ControlCenterWindow to UIA element fixes it. This is implemented in Windows App Essentials add-on.

Note on potential pull request

A pull request is planned to close his issue, to be submitted once Microsoft finalizes Windows 11 2024 Update/Server 2025 RTM (release to manufacturing) build (rumors point to April 2024 as RTM sign-off). Rumor is that OEM's (original equipment manufacturers) will install ARM64 build as early as June, with AMD64 version to follow later. Therefore, the pull request will not be submitted until May as part of a series of PR's to prepare NVDA to support Windows 11 2024 Update/Server 2025 changes.

Footnotes:

  1. Windows Insider Preview (WIP) builds are work in progress builds. Therefore things can come, change, and go without notice.
  2. Normally I wait until the next feature update build is known/released to Insiders before posting issue/PR pairs. However, for quick settings mouse/touch interaction issue, I'm posting the issue early as a solution is part of an add-on.

Thanks.

@michaelDCurran michaelDCurran added p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Apr 1, 2024
@mzanm
Copy link
Contributor

mzanm commented Apr 3, 2024

Hello. Is it possible to classify some windows as transparent i.e. they don't provide real location information, but an object below them does, based on some generic identifier like the name. It would provide a universal solution to this reoccurring problem, which isn't possible to fix in every app do to XAML being a common framework. It does happen with Windows Terminal and "CASCADIA_HOSTING_WINDOW_CLASS" as a window that blocks mouse interaction as another example to this issue. Thanks.

josephsl added a commit to josephsl/nvda that referenced this issue Apr 6, 2024
…d UIA window, enabling mouse and touch interaction. Re nvaccess#16348.

Mark 'ControlCenterWindow' as good UIA window to enable mouse and touch interaction. This is yet another case of Windows 11 UI interaction issue due to XAML window source element.
josephsl added a commit to josephsl/nvda that referenced this issue Apr 6, 2024
josephsl added a commit to josephsl/nvda that referenced this issue Apr 6, 2024
michaelDCurran pushed a commit that referenced this issue Apr 7, 2024
… UIA window (#16370)

Closes #16348

Summary of the issue:
In Windows 11 Version 24H2 (2024 Update and Server 2025), mouse and touch interaction cannot be used in quick settings (Windows+A).

Description of user facing changes
Mouse and touch interaction can be used to navigate and interact with quick settings, cast, and similar elements.

Description of development approach
Quick settings component (including cast) was separated from ShellExperienceHost.exe (now ShellHost.exe) in Windows 11 Version 24H2. Therefore, an app alias will be used to handle this case - "ControlCenterWindow" is marked as UIA, allowing mouse and touch interaction.
@nvaccessAuto nvaccessAuto modified the milestone: 2024.2 Apr 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants