Skip to content

UIA handler: introduce UIA drag/drop event handlers for use with announcing items that were rearranged on screen #12271

@josephsl

Description

@josephsl

Hi,

I believe the following was asked before, but figured it would be best to put it in a systematic way:

Background:

When rearranging UIA objects such as Start menu tiles and Action Center items (Windows 10), UIA can raise drag drop events. This is checked by Narrator (at least) to announce the new object location. For example, when rearranging Action Center items by pressing Alt+Shift+left/right arrow keys, screen readers may announce the new location of the just dragged object. This feature will become useful in future Windows 10 releases as latest Windows Insider Preview build allows one to rearragne virtual desktops and UIA drag drop events are fired.

Is your feature request related to a problem? Please describe.

Currently NVDA does not announce items or new locations when items are rearranged. Technially, it does through windows 10 app Essentials add-on, but it would be better to bring this to core.

Describe the solution you'd like

Let NVDA listen to UIA drag/drop events and announce the rearrange item and new location by calling obj.reportFocus method.

Describe alternatives you've considered

Leave it up to add-ons to do this.

Additional context

For a practical example and justifications, see:
https://blogs.windows.com/windows-insider/2021/03/17/announcing-windows-10-insider-preview-build-21337/

Implementation strategy:

UIA drag/drop event handler code from Windows 10 App Essentials add-on will be ported to NVDA Core and will correspond to gain focus event unless folks believe a separate set of UIA events should be created. There are six events related to drag and drop, but the events we are interested in are "drag dropped" and "drag complete".

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    api/uiaFeature or bug requires an understanding of UIAapp/windows-interfaceInteractions between NVDA and the default Windows GUIp4https://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

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions