Skip to content

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

Closed

Description

@rkk-ableton

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.

Activity

  1. CyrilleB79 commented on Sep 12, 2023

    @CyrilleB79
    Contributor

    Hi @rkk-ableton

    Just a question: is it working with Narrator?

  2. rkk-ableton commented on Sep 13, 2023

    @rkk-ableton
    Author

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

  3. XLTechie commented on Sep 13, 2023

    @XLTechie
    Collaborator
  4. rkk-ableton commented on Sep 15, 2023

    @rkk-ableton
    Author

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

  5. LeonarddeR commented on Sep 15, 2023

    @LeonarddeR
    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.

  6. LeonarddeR commented on Sep 16, 2023

    @LeonarddeR
    Collaborator

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

  7. rkk-ableton commented on Sep 18, 2023

    @rkk-ableton
    Author

    @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?

  8. added this to the 2023.3 milestone on Sep 18, 2023
  9. added
    p3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
    triagedHas been triaged, issue is waiting for implementation.
    on Sep 18, 2023
  10. added a commit that references this issue on Sep 20, 2023
    262b27c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    p3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions