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

NVDA doesn't read contents of grandchild windows (Win32) #15432

Closed
rkk-ableton opened this issue Sep 12, 2023 · 7 comments
Closed

NVDA doesn't read contents of grandchild windows (Win32) #15432

rkk-ableton opened this issue Sep 12, 2023 · 7 comments
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

@rkk-ableton
Copy link

rkk-ableton commented Sep 12, 2023

Steps to reproduce:

  1. Open a Win32 application which makes use of parent/child-window relationships.
  2. Open a child window of the main window (in this case a non-modal dialog).
  3. Open a child window of the child window of the main window (grandchild window) (in this case a floating pane).

Actual behavior:

NVDA does not follow focus or speak in response to events from the grandchild window.

Expected behavior:

NVDA works in the grandchild window as though it’s a normal window.

NVDA logs, crash dumps and other attachments:

Speech logs when opening a popup menu which is a child window of the main window:

Output Type  combo box  Ext. Out  collapsed
Ext. Out

Speech logs when opening an identical popup window which is a grandchild of the main window.

Language Selection  combo box  US-English  collapsed

In both cases, I pressed the “Enter” key to expand the focused combo box. NVDA does not say anything when navigating within the grandchild popup window. Both Narrator and JAWS work fine with these windows.

It’s clear to me that this is an issue of the popup menu being a grandchild, because when windows are hard-coded to not have parent/child relationships, NVDA reads the contents as expected. However, the application in question relies on the parent/child relationships of the Win32 framework, so this is not an acceptable solution.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2023.1

Windows version:

Windows 11 Version 22H2

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

Non-public prototype.

Other information about your system:

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.

I have tested with the latest release version, as well as running a recent commit on master locally. The behavior is the same.

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

I don’t have any NVDA add-ons installed.

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

Yes, the COM Registration Fixing Tool does not resolve this issue.

@CyrilleB79
Copy link
Collaborator

Hi @rkk-ableton

Just a question: is it working with Narrator?

@rkk-ableton
Copy link
Author

rkk-ableton commented Sep 13, 2023

Hi @CyrilleB79. Yes, Narrator reacts to focus events inside grandchild windows. Accessibility Insights for Windows also follows the focus events as expected.

@XLTechie
Copy link
Contributor

XLTechie commented Sep 13, 2023 via email

@rkk-ableton
Copy link
Author

Hi @XLTechie. I'm working on creating a distributable .exe which demonstrates the bug. Thanks for your patience.

@LeonarddeR
Copy link
Collaborator

I'm actually pretty sure that this is an incarnation of the Edge context menu issue. Tomorrow, I will try to provide a prototype pr to fix this.

@LeonarddeR
Copy link
Collaborator

@rkk-ableton Can you reproduce this with this try build?

@rkk-ableton
Copy link
Author

rkk-ableton commented Sep 18, 2023

@LeonarddeR the build you linked does indeed solve the issue!

While testing it, I found another issue that's present in 2023.2. I'll file that separately.

Can I support you in getting this tested and merged?

@seanbudd seanbudd added this to the 2023.3 milestone Sep 18, 2023
@seanbudd seanbudd added p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Sep 18, 2023
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

No branches or pull requests

5 participants