Navigation Menu

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

NVDA does not allow for navigation within the misspelled word area of spell checker in outlook 2010 #4463

Open
nvaccessAuto opened this issue Sep 16, 2014 · 10 comments

Comments

@nvaccessAuto
Copy link

Reported by Xonic on 2014-09-16 12:12
When the spell checker of Outlook 2010 is activated by using f7, NVDA does not allow a user to navigate through the misspelled word and surrounding text.

Steps to recreate:

  1. Load NVDA and outlook 2010.

  2. Compose a new email in outlook 2010. In the message field, write a misspelled word, for example cattt

  3. Press the f7 key to open the spell checker. NVDA should announce the misspelled word and when the tab key is pressed, NVDA should read out the suggestions. However, it is also possible to edit the misspelled word to correct it yourself without suggestions.
    this area can be navigated via the arrow keys and can be reached by pressing the shift and tab keys once in the suggestion list, or by simply staying where you are once the f7 key is pressed.

    NVDA announces carrage return, each time the left or right arrow is pressed, and blank, each time the up and down arrows are pressed, rather than the letters of the misspelled word.

Please note, this behavior does not occur in MS word 2010.

@LeonarddeR
Copy link
Collaborator

I wonder whether this is also reproducible in Word, which makes this a part of #3482.

@bhavyashah
Copy link

In response to @LeonarddeR's #4463 (comment):
The last line of the ticket body explicitly states that the reported issue is not experienced in Word 2010. Interestingly enough, this is not true according to my brief testing with the Spelling and Grammar dialog in Word 2010 using NVDA 2017.3 on a Windows 8.1 system. I am able to reproduce the reported issues of navigation in described editable area of said dialog, but quite inconsistently. NVDA verbalizes navigation most of the times, but in some cases, arrowing around causes NVDA to repeat only one character or just carriage returned. Below is a relevant log snippet of a time when this issue was reproducible and NVDA only repeated "t" in "cattt" when I arrowed left and right in the Not In Dictionary area of the dialog:
Input: kb(laptop):rightArrow
DEBUG - editableText.EditableText._hasCaretMoved (12:03:34.719):
Caret didn't move before timeout. Elapsed: 100 ms
IO - speech._speakSpellingGen (12:03:34.733):
Speaking character u't'
DEBUG - queueHandler.registerGeneratorObject (12:03:34.733):
Adding generator 22369
DEBUG - queueHandler.pumpAll (12:03:34.750):
generator 22369 finished

@Adriani90
Copy link
Collaborator

@xonic, @bhavyashah are you still able to reproduce the issue?

@Adriani90
Copy link
Collaborator

I cannot reproduce the issue in Outlook 2016.

@Adriani90
Copy link
Collaborator

Adriani90 commented Jan 15, 2019

But I can reproduce it in Outlook 2010. Here is part of the log file after pressing f7:

IO - inputCore.InputManager.executeGesture (14:46:45.401):
Input: kb(laptop):f7
IO - speech.speak (14:46:45.887):
Speaking [LangChangeCommand (u'de'), u'Rechtschreibung und Grammatik: Deutsch (Deutschland)  Dialogfeld  Nicht im W\xf6rterbuch:']
DEBUGWARNING - NVDAObjects.window.winword.WordDocument_WwN._get_WinwordWindowObject (14:46:45.901):
Unable to get activePane
IO - speech.speak (14:46:45.901):
Speaking [LangChangeCommand (u'de'), u'Nicht im W\xf6rterbuch:  Eingabefeld']
IO - speech.speak (14:46:45.901):
Speaking [LangChangeCommand (u'de'), u'Hello']
IO - speech._speakSpellingGen (14:46:45.901):
Speaking character u'H'
IO - speech._speakSpellingGen (14:46:45.901):
Speaking character u'e'
IO - speech._speakSpellingGen (14:46:45.901):
Speaking character u'l'
IO - speech._speakSpellingGen (14:46:45.901):
Speaking character u'l'
IO - speech._speakSpellingGen (14:46:45.901):
Speaking character u'o'
DEBUG - queueHandler.registerGeneratorObject (14:46:45.901):
Adding generator 587
DEBUG - queueHandler.pumpAll (14:46:45.917):
generator 587 finished
IO - inputCore.InputManager.executeGesture (14:46:49.762):
Input: kb(laptop):leftArrow
DEBUG - editableText.EditableText._hasCaretMoved (14:46:49.980):
Caret didn't move before timeout. Elapsed: 100 ms
IO - speech._speakSpellingGen (14:46:49.980):
Speaking character u'H'
DEBUG - queueHandler.registerGeneratorObject (14:46:49.980):
Adding generator 588
DEBUG - queueHandler.pumpAll (14:46:49.996):
generator 588 finished
IO - inputCore.InputManager.executeGesture (14:46:50.434):
Input: kb(laptop):rightArrow
DEBUG - editableText.EditableText._hasCaretMoved (14:46:50.621):
Caret didn't move before timeout. Elapsed: 100 ms
IO - speech._speakSpellingGen (14:46:50.621):
Speaking character u'H'
DEBUG - queueHandler.registerGeneratorObject (14:46:50.621):
Adding generator 589
DEBUG - queueHandler.pumpAll (14:46:50.637):
generator 589 finished
IO - inputCore.InputManager.executeGesture (14:46:50.934):
Input: kb(laptop):leftArrow
DEBUG - editableText.EditableText._hasCaretMoved (14:46:51.121):
Caret didn't move before timeout. Elapsed: 100 ms
IO - speech._speakSpellingGen (14:46:51.121):
Speaking character u'H'
DEBUG - queueHandler.registerGeneratorObject (14:46:51.121):
Adding generator 590
DEBUG - queueHandler.pumpAll (14:46:51.137):
generator 590 finished
IO - inputCore.InputManager.executeGesture (14:46:51.448):
Input: kb(laptop):control+leftArrow
DEBUG - editableText.EditableText._hasCaretMoved (14:46:51.637):
Caret didn't move before timeout. Elapsed: 100 ms

cc: @michaelDCurran

@Adriani90
Copy link
Collaborator

And here is the developer info:

INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (14:49:46.358):
Developer info for navigator object:
name: u'Nicht im W\xf6rterbuch:'
role: ROLE_EDITABLETEXT
states: STATE_MULTILINE, STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x0AE5A370>
Python class mro: (<class 'NVDAObjects.IAccessible.winword.SpellCheckErrorField'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.winword.WordDocument_WwN'>, <class 'NVDAObjects.window.winword.WordDocument'>, <class 'NVDAObjects.behaviors.EditableTextWithoutAutoSelectDetection'>, <class 'editableText.EditableTextWithoutAutoSelectDetection'>, <class 'NVDAObjects.behaviors.EditableText'>, <class 'editableText.EditableText'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (578, 383, 361, 79)
value: u'Hello'
appModule: <'outlook' (appName u'outlook', process ID 2692) at address 666dd10>
appModule.productName: u'Microsoft Outlook'
appModule.productVersion: u'14.0.7226.5000'
TextInfo: <class 'NVDAObjects.window.winword.WordDocumentTextInfo'>
windowHandle: 656282
windowClassName: u'_WwN'
windowControlID: 18
windowStyle: 1344274432
windowThreadID: 232
windowText: u''
displayText: u'Hello'
IAccessibleObject: <POINTER(IAccessible) ptr=0x93ec710 at 6663260>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=656282, objectID=-4, childID=0
IAccessible accName: u'Nicht im W\xf6rterbuch:'
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: u'Hello'
IAccessible accValue: u'Hello'

@Adriani90
Copy link
Collaborator

In MS Word and MS Excel 2010 this isue is not reproducible. Only in MS Outlook.

@Adriani90
Copy link
Collaborator

Testing with NVDA 2017.3. I will test with NVDA 2018.4.1 soon.

@Adriani90
Copy link
Collaborator

Testing with last Alpha 16557,318aaa5b

the issue is still reproducible in Outlook 2010. I get following in the log:

IO - inputCore.InputManager.executeGesture (21:34:24.855):
Input: kb(laptop):f7
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.174):
Error binding script caret_changeSelection in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.190):
Error binding script caret_changeSelection in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.209):
Error binding script caret_moveByLine in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.227):
Error binding script caret_moveByLine in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.244):
Error binding script caret_changeSelection in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
ERROR - baseObject.ScriptableObject.bindGestures (21:34:25.263):
Error binding script caret_changeSelection in <NVDAObjects.IAccessible.winword.SpellCheckErrorField object at 0x059E8310>
IO - speech.speak (21:34:25.440):
Speaking [u'Spelling and Grammar: English (U.S.)  Dialogfeld  Not in Dictionary:']
DEBUGWARNING - NVDAObjects.window.winword.WordDocument_WwN._get_WinwordWindowObject (21:34:25.454):
Unable to get activePane
IO - speech.speak (21:34:25.463):
Speaking [u'Not in Dictionary:  Eingabefeld']
IO - speech.speak (21:34:25.463):
Speaking [u'Hallole']
IO - speech._speakSpellingGen (21:34:25.464):
Speaking character u'H'
DEBUG - queueHandler.registerGeneratorObject (21:34:25.464):
Adding generator 1
IO - speech._speakSpellingGen (21:34:28.230):
Speaking character u'a'
IO - speech._speakSpellingGen (21:34:28.232):
Speaking character u'l'
IO - speech._speakSpellingGen (21:34:28.233):
Speaking character u'l'
IO - speech._speakSpellingGen (21:34:28.234):
Speaking character u'o'
IO - speech._speakSpellingGen (21:34:28.236):
Speaking character u'l'
IO - speech._speakSpellingGen (21:34:28.237):
Speaking character u'e'
DEBUG - queueHandler.pumpAll (21:34:28.247):
generator 1 finished
IO - inputCore.InputManager.executeGesture (21:34:29.032):
Input: kb(laptop):leftArrow
IO - inputCore.InputManager.executeGesture (21:34:29.683):
Input: kb(laptop):rightArrow
IO - inputCore.InputManager.executeGesture (21:34:29.862):
Input: kb(laptop):rightArrow
IO - inputCore.InputManager.executeGesture (21:34:30.184):
Input: kb(laptop):leftArrow
IO - inputCore.InputManager.executeGesture (21:34:30.411):
Input: kb(laptop):tab
IO - speech.speak (21:34:30.538):
Speaking [u'Dictionary language:  Kombinationsfeld  English (U.S.)']

@Adriani90
Copy link
Collaborator

I have to correct myself, in Outlook 2016 the issue is still reproducible with NVDA 2022.3.1. In fact NVDA does not report anything when navigating through the edit field with the misspelled word.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants