Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The input method candidate list can not be announce in windows 8.1 #4011

Closed
nvaccessAuto opened this issue Mar 22, 2014 · 15 comments · Fixed by #8621
Closed

The input method candidate list can not be announce in windows 8.1 #4011

nvaccessAuto opened this issue Mar 22, 2014 · 15 comments · Fixed by #8621
Assignees
Labels
Asian character input bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone

Comments

@nvaccessAuto
Copy link

Reported by vgjh2005 on 2014-03-22 03:50
Hi:
My input methhd is microsoft pinyin. When I make some Inputing, NVDA cannot announce the candidate list. It can let me know which character I have typed, but I don't know which candidate is focused.
Thanks!

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2014-04-14 00:16
Windows 8.1 seems to have replaced the older candidate UI with a newer candidate UI using UI Automation. The root window class is Microsoft.IME.UIManager.CandidateWindow.Host.
There is a child window, and in that is a grouping, and in that are buttons representing each candidate.
We will have to write specific UIA NVDAObject classes, and consider moving reportSelectedCandidate out of NVDAObjects\IAccessible\mscandui.py into either inputComposition.py or as a classMethod on NVDAObjects.behaviors.CandidateItem.

@nvaccessAuto
Copy link
Author

Comment 2 by vgjh2005 on 2014-08-14 09:04
Hi:
This issue is still existing now. If this issue could be solved, then all Asian will able to use NVDA on Windows8 or higher. Windows 7 or lower version of Windows will be elimited quickly. We have to find other software to read it. I hope this problem should be solved. Thanks.

@nvaccessAuto
Copy link
Author

Comment 3 by jteh on 2014-08-14 10:38
Changes:
Milestone changed from None to next

@nvaccessAuto
Copy link
Author

Incubated in ae50718.

michaelDCurran added a commit that referenced this issue Dec 10, 2015
…bove for such input methods as Chinese Simplified Microsoft Pinyin).

Fixes #4145
Fixes #4011
michaelDCurran added a commit that referenced this issue Dec 10, 2015
…bove for such input methods as Chinese Simplified Microsoft Pinyin).

Fixes #4145
Fixes #4011
@nvaccessAuto
Copy link
Author

Incubated in 113cdda.

@vgjh2005
Copy link

Hi Michael:
My system is windows 10 professional 64bit.
I've used microsoft input method to make inputting test. But I just hear the letter that is typed, but not the selected candidate. Thanks!

@michaelDCurran
Copy link
Member

Some questions:

  1. Are you are using Chinese Simplified Microsoft Pinyin?
  2. Do you have the "Announce Selected Candidate" option in NVDA's Input
    Composition dialog switched on?
  3. What application are you testing this with?
  4. What is the exact version of NVDA you are testing with?

It works for me on my system. So if you are using Microsoft Pinyin and
you have the "Announce selected candidate" option on, then there may be
a technical difference in our language versions of Windows.

If you have some sight or can get assistance, please bring up the
candidate list by typing some Pinyin, and then move the mouse to one of
the candidates. Then move the navigator object to the mouse with
NVDA+numpadMultiply. Finally, press NVDA+f1 to show the developer info
for the navigator object in the log, and send me this information.

Thanks

On 12/12/2015 12:03 AM, vgjh2005 wrote:

Hi Michael:
My system is windows 10 professional 64bit.
I've used microsoft input method to make inputting test. But I just
hear the letter that is typed, but not the selected candidate. Thanks!


Reply to this email directly or view it on GitHub
#4011 (comment).

Michael Curran
Executive Director, NV Access Limited
Phone: +61 7 3149 3306
Website: http://www.nvaccess.org/
Twitter: @nvaccess
Facebook: http://www.facebook.com/NVAccess

@vgjh2005
Copy link

Hi:
Please restart your computer, then make test as soon as possible.

  1. Are you are using Chinese Simplified Microsoft Pinyin?
    Yes,My system language is simplified Chinese, so this input method is the default one.
  2. Do you have the "Announce Selected Candidate" option in NVDA's Input
    Composition dialog switched on?
    Yes, this switch is also on. I can hear the description with other input method.
  3. What application are you testing this with?
    Hi, I test it at start screen. Please press Windows key to enter the start screen. Please note: the Cortana server is opened.
  4. What is the exact version of NVDA you are testing with?
    NVDA version is next-12941,2fec940
    globalCommands.GlobalCommands.script_navigatorObject_devInfo (18:55:30):
Developer info for navigator object:
name: u'\u62ee\u636e\u7684\u62ee, \u62b5\u6297\u7684\u6297, \u836f\u5242\u7684\u5242'
role: ROLE_LISTITEM
states: STATE_READONLY, STATE_SELECTABLE, STATE_SELECTED
isFocusable: False
hasFocus: False
Python object: <NVDAObjects.Dynamic_ButtonModernCandidateUICandidateItemIAccessible object at 0x05077290>
Python class mro: (<class 'NVDAObjects.Dynamic_ButtonModernCandidateUICandidateItemIAccessible'>, <class 'NVDAObjects.IAccessible.Button'>, <class 'NVDAObjects.IAccessible.mscandui.ModernCandidateUICandidateItem'>, <class 'NVDAObjects.IAccessible.mscandui.BaseCandidateItem'>, <class 'NVDAObjects.behaviors.CandidateItem'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: u''
location: (61, 976, 124, 55)
value: u'\u62ee\u6297\u5242'
appModule: <'searchui' (appName u'searchui', process ID 6496) at address 53a9b50>
appModule.productName: u'Microsoft\xae Windows\xae Operating System'
appModule.productVersion: u'10.0.10586.17'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 852766
windowClassName: u'Microsoft.IME.CandidateWindow.View'
windowControlID: 0
windowStyle: 1442840576
windowThreadID: 7888
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0xbb7e208 at 53a7bc0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=852766, objectID=None, childID=0
IAccessible accName: u'\u62ee\u6297\u5242'
IAccessible accRole: ROLE_SYSTEM_PUSHBUTTON
IAccessible accState: STATE_SYSTEM_SELECTABLE, STATE_SYSTEM_SELECTED, STATE_SYSTEM_READONLY, STATE_SYSTEM_VALID (2097218)
IAccessible accDescription: exception: (-2147352573, '\xd5\xd2\xb2\xbb\xb5\xbd\xb3\xc9\xd4\xb1\xa1\xa3', (None, None, None, 0, None))
IAccessible accValue: u'\u62ee\u6297\u5242'

@vgjh2005
Copy link

Hi:
I find the regular. If you use the navagator object to move to the candidate list, then NVDA can read the candidate list item until you restart your computer.

@michaelDCurran
Copy link
Member

Looks like selection events are not being fired by MSAA on your system
when first started. This seems like a similar bug to search suggestions
not announcing in the Start Screen.

I shall do some further tests and then report this to Microsoft. Nothing
we can do about this in NVDA it seems.

On 12/12/2015 9:46 PM, vgjh2005 wrote:

Hi:
I find the regular. If you use the navagator object to move to the
candidate list, then NVDA can read the candidate list item until you
restart your computer.


Reply to this email directly or view it on GitHub
#4011 (comment).

Michael Curran
Executive Director, NV Access Limited
Phone: +61 7 3149 3306
Website: http://www.nvaccess.org/
Twitter: @nvaccess
Facebook: http://www.facebook.com/NVAccess

@vgjh2005
Copy link

Hi:
I find two difference:

  1. I make test in the desktop, it also cannot be announced.
  2. If I use the navagator object to rich to the candidate one time, though I use the arror key, the candidate list will still be normal. Why?
    If the reason is based MSAA, Why if I use the navagator object that can let it be read by arror keys?
    Whatever time I rich to candidate list, it always can be read all the time until I restart my system.
    Thanks Michael!

@michaelDCurran
Copy link
Member

After restarting your machine,
Could you please set your NVDA log level to input/output.
Then type some chinese input, to show that the candidate list does not read.
Then, fix the candidate list by moving the navigator object.
Then type some more chinese input, showing that the candidate list now
reads.
Finally, send me the log showing all of this.

thanks

On 14/12/2015 12:57 AM, vgjh2005 wrote:

Hi:
I find two difference:

  1. I make test in the desktop, it also cannot be announced.
  2. If I use the navagator object to rich to the candidate one time,
    the candidate list will be normal. Why?
    If the reason is based MSAA, Why if I use the navagator object that
    can let it be read?
    Whatever time I rich to candidate list, it always can be read all the
    time until I restart my system.


Reply to this email directly or view it on GitHub
#4011 (comment).

Michael Curran
Executive Director, NV Access Limited
Phone: +61 7 3149 3306
Website: http://www.nvaccess.org/
Twitter: @nvaccess
Facebook: http://www.facebook.com/NVAccess

@michaelDCurran
Copy link
Member

Also,

What is the exact version of Windows 10 you are running? Ensure that you
have applied all Windows updates.

Do you have any NVDA add-ons? If so, please try using the candidate list
with all add-ons disabled.

Thanks

On 14/12/2015 1:02 AM, Michael Curran wrote:

After restarting your machine,
Could you please set your NVDA log level to input/output.
Then type some chinese input, to show that the candidate list does not
read.
Then, fix the candidate list by moving the navigator object.
Then type some more chinese input, showing that the candidate list now
reads.
Finally, send me the log showing all of this.

thanks

On 14/12/2015 12:57 AM, vgjh2005 wrote:

Hi:
I find two difference:

  1. I make test in the desktop, it also cannot be announced.
  2. If I use the navagator object to rich to the candidate one time,
    the candidate list will be normal. Why?
    If the reason is based MSAA, Why if I use the navagator object that
    can let it be read?
    Whatever time I rich to candidate list, it always can be read all the
    time until I restart my system.


Reply to this email directly or view it on GitHub
#4011 (comment).

Michael Curran
Executive Director, NV Access Limited
Phone: +61 7 3149 3306
Website:http://www.nvaccess.org/
Twitter: @nvaccess
Facebook:http://www.facebook.com/NVAccess

Michael Curran
Executive Director, NV Access Limited
Phone: +61 7 3149 3306
Website: http://www.nvaccess.org/
Twitter: @nvaccess
Facebook: http://www.facebook.com/NVAccess

@vgjh2005
Copy link

Hi:
I try to restart NVDA one time without restart the system, the input method is
readable. The I/O log is uploaded.
My system version is Threshold 2 professional.
The system is up to day. Thanks!
nvda.txt

michaelDCurran added a commit that referenced this issue Jan 6, 2016
… 8 and above for such input methods as Chinese Simplified Microsoft Pinyin)."

Unincubates #4011

This reverts commit dbbaace.

Note that this still incubates #4145
@jcsteh jcsteh removed the incubating label Jan 6, 2016
@vgjh2005
Copy link

Hi Mic:
Windows 10 Anniversary Update will be release in next month. But TSF input method isn't still announced. All applications that downloaded in microsoft appstore cannot be doing typing. Microsoft Edge has also become more satisfactory now. So, it is seemed to be necessary. whether is it possible that the ticket will be updated in future? Thanks!

@jcsteh jcsteh removed this from the next milestone Jun 24, 2016
@nvaccessAuto nvaccessAuto added the p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority label Jul 5, 2016
larry801 pushed a commit to larry801/nvda that referenced this issue Aug 13, 2018
…bove for such input methods as Chinese Simplified Microsoft Pinyin).

Fixes nvaccess#4145
Fixes nvaccess#4011
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Jun 24, 2019
michaelDCurran pushed a commit that referenced this issue Jun 24, 2019
…and Microsoft Wubi (#8621)

* Support for the Modern IME candidate list UI (used in Windows 8 and above for such input methods as Chinese Simplified Microsoft Pinyin).

Fixes #4145
Fixes #4011

* Fix focus move issue

* Window handle of ModernCandidateUI destory event is not the same as host application.Use className CiceroUIWndFrame

* Move get windows class into first if

* Use another class name found in log for stability CireoWndFrame
sometimes does not appear

* Fix double reading after ending inputComposition

* Add Microsoft Quick support

* Correct focus in NVDAHelper since OBJ_HIDE events cannot be detected in NVDA find dialog

* fix strange double NVDAHelper.py

* fix confiicts caused by line ending

* Correct focus fix

* Turn off autocrlf

* fix line ending problem

* Restore old msaa focus correction

* Fix merge issue

* merge master

* Split long comments

Co-Authored-By: Leonard de Ruijter <leonardder@users.noreply.github.com>

* Split long if statement to lines

Co-Authored-By: Leonard de Ruijter <leonardder@users.noreply.github.com>

* Split comments

Co-Authored-By: Leonard de Ruijter <leonardder@users.noreply.github.com>

* Use standalone focus correction logic for ModernCandidate

* Call  _get_parent in NVDAObject.window directly

Co-Authored-By: Leonard de Ruijter <leonardder@users.noreply.github.com>

* Remove debug logging

* Merge two if statement and split into lines

* Fix missing imports

* Optimize imports

* Remove redundant import

* Add comment for why candidate window is considered bad

* Refresh candidate item on its own so that we do not touch property of other objects

* Fix line endings for NVDAHelper.py

* Fix line endings for NVDAObjects/IAccessible/__init__.py

* Fix line endings of NVDAObjects/IAccessible/mscandui.py

* Fix line endings for _UIAHandler.py

* Fix typo in comments

Co-Authored-By: Leonard de Ruijter <leonardder@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Asian character input bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
4 participants