Feedback on Microsoft Pinyin Candidate List Issue after Windows 10 KB5043064 Update #17223
Replies: 4 comments
-
cc: @msftedad |
Beta Was this translation helpful? Give feedback.
-
cc @josephsl |
Beta Was this translation helpful? Give feedback.
-
Hi, There is no add-on specific to Korean IME (not that I know of). Also, try reproducing the issue WITHOUT the add-on and see if we can narrow this down further - NVDA issue, a recent change with IME interface, a combination of them, or neither. Thanks. |
Beta Was this translation helpful? Give feedback.
-
Thanks @josephsl |
Beta Was this translation helpful? Give feedback.
-
Issue: Installing Windows 10 update KB5043064 causes the candidate list in Microsoft Pinyin to stop refreshing correctly. This severely impacts the Chinese input experience for screen reader users, preventing them from knowing the real-time candidate character options.
This is a piece of feedback posted here to seek help from the community and would rather get a response from Microsoft.
I have reported this issue to Microsoft in Chinese.
See: https://aka.ms/AAsgszh
Testing Environment:
Because Windows' built-in Narrator screen reader lacks proper support for Chinese input with Microsoft Pinyin, this report uses the NVDA screen reader (https://github.com/nvaccess/nvda) for demonstration.
Steps to reproduce:
.nvda-addon
package to install the add-on. Follow the prompts to restart NVDA and complete the installation.Note: The IMEExpressive Add-on used in this case offers highly customized features for Chinese input, such as providing word descriptions for the current candidate. This add-on is not related to the issue itself.
Expected Behavior:
Note: NVDA announces these phrases to provide word descriptions for the first candidate character in the input candidate list, making it easier for screen reader users to understand the current candidate. This is an enhancement provided by the IMEExpressive add-on.
Actual Behavior:
Note: This happens because NVDA only receives the candidate list update event after the first key is pressed.
Note: If you uninstall this update it works as expected.
Preliminary Debugging Based on NVDA Source Code:**
Updating the input candidate list depends on the
handleInputCandidateListUpdate
function in NVDA:nvda/source/NVDAHelper.py
Line 427 in 1573904
Each time a key is pressed (and the candidate list updates), this function should be called. This allows NVDA to get information about the current candidate character, its index in the list, and the input method being used. However, adding debug statements to this function shows that it is only called once, even when multiple keys are pressed.
Although
handleInputCandidateListUpdate
is a higher-level Python wrapper, its core implementation resides in: https://github.com/nvaccess/nvda/blob/master/nvdaHelper/remote/ime.cppKey functions are implemented in the following locations:
handleCandidates
: https://github.com/nvaccess/nvda/blob/master/nvdaHelper/remote/ime.cpp#L320handleIMEWindowMessage
: https://github.com/nvaccess/nvda/blob/master/nvdaHelper/remote/ime.cpp#L455IME_getMessageHook
: https://github.com/nvaccess/nvda/blob/master/nvdaHelper/remote/ime.cpp#L537Beta Was this translation helpful? Give feedback.
All reactions