Repository navigation
NVDA doesn't read contents of grandchild windows (Win32) #15432
Description
Steps to reproduce:
- Open a Win32 application which makes use of parent/child-window relationships.
- Open a child window of the main window (in this case a non-modal dialog).
- 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.
Activity
CyrilleB79 commentedon Sep 12, 2023
Hi @rkk-ableton
Just a question: is it working with Narrator?
rkk-ableton commentedon 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 commentedon Sep 13, 2023
rkk-ableton commentedon Sep 15, 2023
Hi @XLTechie. I'm working on creating a distributable .exe which demonstrates the bug. Thanks for your patience.
LeonarddeR commentedon Sep 15, 2023
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 commentedon Sep 16, 2023
@rkk-ableton Can you reproduce this with this try build?
rkk-ableton commentedon 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?
Fix more cases of grand child window focus failures (#15455)