Skip to content

Bug: Opening an HTML dialog nested in a shadow root more than once causes controls inside it to become non-clickable #17398

Open
@mra11yx

Description

@mra11yx

Steps to reproduce:

  1. Open https://codepen.io/mra11yx/pen/VwoRwKq (forking this and opening in debug mode would be ideal) in either Chrome or Edge.
  2. Navigate to the "example 2 (dialog inside shadow root)" button with NVDA running, and activate it
  3. Close the dialog
  4. Reopen it and observe that the close button can no longer be activated
  5. Observe that this does not occur in example 1, which is fully in the light DOM.
  6. Attempt to reproduce this in Firefox and observe that the issue does not occur.

Actual behavior:

Nesting a native HTML dialog in a shadow DOM root causes buttons inside the dialog to be no longer clickable in NVDA if the dialog has been closed and then reopened. This occurs in Edge and Chrome, but not Firefox.

I believe it to be a Chromium bug, and raised a separate report in the Chromium bug tracker, but am logging here as well in case it's an issue with NVDA itself.

Issue does not occur with JAWS or VoiceOver.

Expected behavior:

Users should be able to reliably interact with controls.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

NVDA installed on a Windows 11 VM for ARM on macOS. Confirmed issue occurs on Windows for x86 as well.

NVDA version:

2024.4.1

Windows version:

11

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

Chrome or Edge

Other information about your system:

Windows 11 VM in Parallels Desktop; confirmed this also occurs on a real Intel PC

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.

No

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?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    app/chromeblocked/needs-external-fixp3https://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

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions