Skip to content

Windows 11 clipboard history: redirect NVDA focus if Windows Input Experience window receives focus when clipboard history window closes#16534

Merged
seanbudd merged 3 commits into
nvaccess:masterfrom
josephsl:i16347w11EmojiPanelFocusRedirect
May 13, 2024
Merged

Conversation

@josephsl

Copy link
Copy Markdown
Contributor

Link to issue number:

Closes #16347

Summary of the issue:

In Windows 11, Windows Input Experience window receives focus when clipboard history closes.

Description of user facing changes

NVDA will no longer appear to get stuck when closing Windows 11 clipboard history.

Description of development approach

In emoji panel app module, added again focus event handler that will check if Windows Input Experience window receives focus in Windows 11, and if yes and if no events are pending, will queue gain focus on system focus control (obj.objectWithFocus()).

Testing strategy:

Manual testing: in Windows 11, open clipboard history, then press Escape to close it.

Known issues with pull request:

This is raised when 32-bit AccEvent is run but not while using 64-bit AccEvent, so this issue should be revisited as part of #16304. For now, the PR works.

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

josephsl added 2 commits May 12, 2024 19:29
…n focus event appears when closing clipboard history. Re nvaccess#16347.

When closing Wndows 11 clipboard history, Windows Input Experience window receives focus (as recorded by NVDA). This causes keyboard commands not appear to work when in fact clipboard history window is offscreen. Thankfully, a reference to the actual system focus control can be obtained via obj.objectWithFocus() function, therefore move NVDA's 'focus' to system focus.
@josephsl josephsl requested a review from a team as a code owner May 13, 2024 01:58
@josephsl josephsl requested a review from SaschaCowley May 13, 2024 01:58
Comment thread user_docs/en/changes.md Outdated
@seanbudd seanbudd merged commit 7bb415d into nvaccess:master May 13, 2024
@josephsl josephsl deleted the i16347w11EmojiPanelFocusRedirect branch May 13, 2024 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Windows 11 clipboard history: focus gets stuck in input experience window when clipboard history closes

2 participants