Windows 11 IME: announce visible candidates when the IME interface opens#16541
Merged
seanbudd merged 5 commits intoMay 14, 2024
Merged
Conversation
…Automation Id check to end of the event handler. Re nvaccess#14023. When modern IME interface opens, NVDA does not report visible IME candidates, caused by element selected event returning early if running on Windows 11, checking for Automation Id, and to avoid gain focus event/repetitions. To allow reporting of IME candidates, move Windows 11 and Automatoin Id checks to just before reportFocus call so visible IME candidates can be announced. This, together with the next commit (focus entered event), allows NVDA to announce IME candidates in Windows 11.
…candidates. Re nvaccess#14023. Prior to IME candidate receiving gain focus event, focus entered event is received by IME interface. This gives it a chance to ask IME candidate to perform its element selected event, hopefully announcing visible candidates. However, candiate item's element selected event handler's navigator objec check occurs, and because navigator object is indeed the focused candidate item, visible candidates are not announced. Therefore, announce visible candidates (if told to do so) from focus entered event.
See test results for failed build of commit c20476fd60 |
seanbudd
approved these changes
May 14, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link to issue number:
Closes #14023
Summary of the issue:
NVDA does not announce visible IME candidates in Windows 11.
Description of user facing changes
NVDA wil once again announce visible IME candidates when Windows 11 modern IME interface opens.
Description of development approach
Modern keyboard app module changes:
Testing strategy:
Manual testing (requires presence of IME interface language(s) such as Chinese, Japanese, and Korean):
Known issues with pull request:
Visible IME candidates could be announced twice when the IME interface first opens - this is because element selected event is fired prior to focus entered/gain focus event. Thankfully, the app module holds visible candidates for the first page, so IME candidates list will not be repeated if the candidates list are the same. Also, if the visible IME candidates are less than 9, NVDA will just announce candidate number instead of entries (perhaps this could be a separate issue).
Code Review Checklist: