problem using escape to exit spell check in Jarte in the 2015.3 rc1. I noticed this problem about two weeks ago in the test versions. #5302

Closed
nvaccessAuto opened this Issue Aug 20, 2015 · 7 comments

1 participant

@nvaccessAuto

Reported by kb8aey on 2015-08-20 01:11
When using the Jarte word processor if a mis spelled word is found and you pick one of the replacements everything works fine. But if you look at the replacements using the arrow keys and then decide to just press escape to exit Nvda won't speak any of the text in your document using the arrow keys until you either tab away from Jarte and back or press the windows key to leave Jarte and then press it again to go back to Jarte.
Blocked by #5462

@nvaccessAuto

Comment 1 by jteh on 2015-08-20 01:54
When this occurs, what exactly does NVDA say when you press escape?

Does this occur with NVDA 2015.2?

@nvaccessAuto

Comment 2 by briang1 on 2015-08-21 09:53
Hi, nvda says nothing at all, and the old stable version works properly. Here is a log snippet from the latest RC1.

2015.3 RC1
IO - inputCore.InputManager.executeGesture (10:28:08):
Input: kb(desktop):enter
IO - speech.speak (10:28:08):
Speaking ('en_GB'), u'Context menu'
IO - inputCore.InputManager.executeGesture (10:28:14):
Input: kb(desktop):escape
IO - inputCore.InputManager.executeGesture (10:28:29):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (10:28:29):
Input: kb(desktop):upArrow
IO - inputCore.InputManager.executeGesture (10:28:30):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (10:28:30):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (10:28:34):
Input: kb(desktop):control+NVDA+f1
IO - speech.speak (10:28:34):
Speaking ('en_GB'), u'Currently running application is Jarte.exe'
IO - inputCore.InputManager.executeGesture (10:28:48):
Input: kb(desktop):NVDA+f1
DEBUGWARNING - watchdog.watcher (10:28:48):
Trying to recover from freeze, core stack:
File "nvda.pyw", line 167, in
File "core.pyo", line 371, in main
File "wx_core.pyo", line 8657, in MainLoop
File "wx_core.pyo", line 7952, in MainLoop
File "core.pyo", line 342, in Notify
File "queueHandler.pyo", line 83, in pumpAll
File "queueHandler.pyo", line 50, in flushQueue
File "scriptHandler.pyo", line 144, in queueScriptCallback
File "scriptHandler.pyo", line 186, in executeScript
File "globalCommands.pyo", line 1312, in script_navigatorObject_devInfo
File "logging__init
.pyo", line 1165, in info
File "logHandler.pyo", line 101, in log
File "gui\logViewer.pyo", line 99, in activate
File "gui\logViewer.pyo", line 44, in __init_

File "gui\logViewer.pyo", line 53, in refresh
File "wx_core.pyo", line 13101, in AppendText

INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (10:28:49):
Developer info for navigator object:
name: u'Context'
role: ROLE_POPUPMENU
states: STATE_INVISIBLE
isFocusable: False
hasFocus: False
Python object:
Python class mro: (, , , , , )
description: None
location: (0, 0, 0, 0)
value: None
appModule: <'appModuleHandler' (appName u'jarte', process ID 688) at address 33111b0>
appModule.productName: u'Jarte'
appModule.productVersion: u'5.3'
TextInfo:
windowHandle: 1573988
windowClassName: u'#32768'
windowControlID: 0
windowStyle: 0
windowThreadID: 860
windowText: u''
displayText: u''
IAccessibleObject:
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=1573988, objectID=-4, childID=0
IAccessible accName: u'Context'
IAccessible accRole: ROLE_SYSTEM_MENUPOPUP
IAccessible accState: STATE_SYSTEM_INVISIBLE, STATE_SYSTEM_VALID (32768)
IAccessible accDescription: None
IAccessible accValue: None

Its running in xp here, and it seems to think its still in a menu when its actually on the document. Could some of the speed up bits have caused this?
If you want it to get back to reading the document you need to either open and close a menu or do as the original reporter did. Note using Jarte latest version, the .3 version. Not tried earlier ones.

Seems to be a regression.

@nvaccessAuto

Comment 3 by jteh on 2015-08-21 10:23
Oh, I see, it's a context menu. Likely a regression introduced by #3831.

Not major enough to block 2015.3.
Changes:
Milestone changed from None to 2015.4

@nvaccessAuto

Comment 4 by briang1 on 2015-08-21 14:21
On opening spellcheck menu with f7
IO - inputCore.InputManager.executeGesture (15:01:54):
Input: kb(desktop):f7
IO - speech.speak (15:01:55):
Speaking ('en_GB'), u'Context menu'
IO - inputCore.InputManager.executeGesture (15:01:57):
Input: kb(desktop):downArrow
IO - speech.speak (15:01:57):
Speaking ('en_GB'), u'Misspelling = Clattern, capital C, l, a, t, t, e, r, n, unavailable 1 of 17'
IO - inputCore.InputManager.executeGesture (15:02:18):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:02:18):
Developer info for navigator object:
name: u'Misspelling = Clattern, capital C, l, a, t, t, e, r, n,'
role: ROLE_MENUITEM
states: STATE_UNAVAILABLE, STATE_FOCUSED
isFocusable: False
hasFocus: True
Python object:
Python class mro: (, , , , , , )
description: None
location: (93, 308, 397, 23)
value: None
appModule: <'appModuleHandler' (appName u'jarte', process ID 2116) at address 31a6c30>
appModule.productName: u'Jarte'
appModule.productVersion: u'5.3'
TextInfo:
windowHandle: 524776
windowClassName: u'#32768'
windowControlID: 0
windowStyle: -1803550720
windowThreadID: 1700
windowText: u''
displayText: u''
IAccessibleObject:
IAccessibleChildID: 1
IAccessible event parameters: windowHandle=524776, objectID=-4, childID=1
IAccessible accName: u'Misspelling = Clattern, capital C, l, a, t, t, e, r, n,'
IAccessible accRole: ROLE_SYSTEM_MENUITEM
IAccessible accState: STATE_SYSTEM_HOTTRACKED, STATE_SYSTEM_UNAVAILABLE, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (133)
IAccessible accDescription: exception: (-2147352573, 'Member not found.', (None, None, None, 0, None))
IAccessible accValue: None

Note exception.. The object reported when you look at the fault screen seems to differ at times, as below. However it looks as if its not seeing that the menu or context menu has closed and to do anything like looking at the current display to get new data.

Speaking ('en_GB'), u'Clattering, capital C, l, a, t, t, e, r, i, n, g, 5 of 17'
IO - inputCore.InputManager.executeGesture (15:11:40):
Input: kb(desktop):escape
IO - inputCore.InputManager.executeGesture (15:11:45):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (15:11:47):
Input: kb(desktop):upArrow
IO - inputCore.InputManager.executeGesture (15:11:57):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:11:57):
Developer info for navigator object:
name: u'Clattering, capital C, l, a, t, t, e, r, i, n, g,'
role: ROLE_MENUITEM
states:
isFocusable: False
hasFocus: False
Python object:
Python class mro: (, , , , , , )
description: None
location: (0, 0, 0, 0)
value: None
appModule: <'appModuleHandler' (appName u'jarte', process ID 2116) at address 2e87c10>
appModule.productName: u'Jarte'
appModule.productVersion: u'5.3'
TextInfo:
windowHandle: 262514
windowClassName: u'#32768'
windowControlID: 0
windowStyle: 0
windowThreadID: 1700
windowText: u''
displayText: u''
IAccessibleObject:
IAccessibleChildID: 5
IAccessible event parameters: windowHandle=262514, objectID=-4, childID=5
IAccessible accName: u'Clattering, capital C, l, a, t, t, e, r, i, n, g,'
IAccessible accRole: ROLE_SYSTEM_MENUITEM
IAccessible accState: (0)
IAccessible accDescription: exception: (-2147352573, 'Member not found.', (None, None, None, 0, None))
IAccessible accValue: None

@nvaccessAuto

Comment 5 by James Teh <jamie@... on 2015-10-21 03:16
In commit 523ab49:
Merge branch 't5302' into next

Incubates #5302.
Changes:
Added labels: incubating

@nvaccessAuto

Comment 6 by James Teh <jamie@... on 2015-11-04 00:11
In commit 1ce1750:
Merge branch 't5302' into next: Fix loss of focus when returning to Firefox from a secure desktop.

Incubates #5302. Fixes #5462.

@nvaccessAuto

Comment 8 by James Teh <jamie@... on 2015-11-09 00:05
In commit b0eceb5:
NVDA now correctly reports the focus when dismissing a context menu in some applications such as Jart.

It seems that some applications fire menuEnd on an invalid/non-foreground/non-topmost window, so just allow menuEnd (and some other events which behave similarly) unconditionally in eventHandler.shouldAcceptEvent and let IAccessibleHandler do the filtering/translation.
Fixes #5302.
Changes:
Removed labels: incubating
State: closed

@nvaccessAuto nvaccessAuto added this to the 2015.4 milestone Nov 10, 2015
@jcsteh jcsteh added a commit that referenced this issue Nov 23, 2015
@jcsteh jcsteh NVDA now correctly reports the focus when dismissing a context menu i…
…n some applications such as Jart.

It seems that some applications fire menuEnd on an invalid/non-foreground/non-topmost window, so just allow menuEnd (and some other events which behave similarly) unconditionally in eventHandler.shouldAcceptEvent and let IAccessibleHandler do the filtering/translation.
Fixes #5302.
b0eceb5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment