Skip to content

Windows 11 emoji panel: UIA element selected event is raised after the panel closes #16346

@josephsl

Description

@josephsl

Hi,

The following issue is addressed in Windows App Essentials add-on but not documented.

Background

NVDA supports emoji panel across both Windows 10 and 11. Whereas Windows 10 version relis on name change event (as it is an overlay), Windows 11's meoji panel moves system focus to itself when opened. However, when Windows 11 emoji panel closes, UIA element selected event is raised somehow.

Steps to reproduce:

Prerequisite: Windows 11 is in use.

  1. Focus any edit field (for simplicity, Notepad document will do).
  2. Press Windows+Period to open emoji panel.
  3. Use the arrow keys to move around the emoji panel.
  4. Press Escape to close the panel.

Actual behavior:

NVDA announces "most recently used" due to UIA element selected event being handled.

Expected behavior:

NVDA announces system focus.

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 23H2 beta (build 22635.3420)

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

None

Other information about your system:

Used as a development workstation

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

Additional information

The UIA element selected event is raised by an element with the Automation Id that starts with "navigation-menu-item". A fix is provided in Windows App Essentials add-on and requires focus redirection if element location is none. I'm sure this is caused by UIA event handler where elements are not checked for location info or disappeared ancestor element(s). Until then, I think an app module based solution would suffice unless others think a more general solution in UIA handler thread would be better.

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions