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

Indication of focusmode erratic when new page loaded #4328

Closed
nvaccessAuto opened this issue Jul 26, 2014 · 9 comments
Closed

Indication of focusmode erratic when new page loaded #4328

nvaccessAuto opened this issue Jul 26, 2014 · 9 comments

Comments

@nvaccessAuto
Copy link

Reported by briang1 on 2014-07-26 12:47
It seems for some time now that the sound or focus mode depending on the selected warning, does not occur when the new page has it focus directly on the edit area. It is very hit and miss.
Also on this very page it happened, and so its not that unusual.
Mostly noticed on searche engines such as https://startpage.com

Its a minor irritation but sometimes you can be caught out when you type and the mode is not focus mode when you thought it should have been.

@nvaccessAuto
Copy link
Author

Comment 1 by briang1 on 2014-07-26 15:21
Just to be clear, this also is still the same on snapshots and has been on official builds for a while.
I could not find an existing ticket for it so i raised one.

@nvaccessAuto
Copy link
Author

Comment 2 by jteh on 2014-07-27 23:30
The mode is indicated whenever it changes, but that could include a previous document. For example, if you have two documents open and they're both in focus mode, you won't hear anything when you switch between them. Indicating the mode every time you land in a document would get rather annoying.

Does this clarify what you're seeing?

@nvaccessAuto
Copy link
Author

Comment 3 by briang1 on 2014-07-28 08:03
Well I've been careful not to have more than one tab orframe or page open at the same time, but what you say might explain it. Here is a log fragment from launching Firefox 28 with a search engine as home page.
IO - inputCore.InputManager.executeGesture (08:47:48):
Input: kb(desktop):m
IO - speech._speakSpellingGen (08:47:48):
Speaking character u'm'
DEBUG - queueHandler.registerGeneratorObject (08:47:48):
Adding generator 19
IO - speech.speak (08:47:48):
Speaking ('en_GB'), u'Mozilla Firefox 12 of 60'
DEBUG - queueHandler.pumpAll (08:47:48):
generator 19 finished
IO - inputCore.InputManager.executeGesture (08:47:51):
Input: kb(desktop):enter
IO - speech.speak (08:47:58):
Speaking ('en_GB'), u'Startpage Search Engine - Mozilla Firefox'
IO - speech.speak (08:47:58):
Speaking ('en_GB'), u'Startpage Search Engine - Mozilla Firefox'
IO - speech.speak (08:47:58):
Speaking ('en_GB'), u'unknown'
DEBUG - treeInterceptorHandler.update (08:47:59):
Adding new treeInterceptor to runningTable: <virtualBuffers.gecko_ia2.Gecko_ia2 object at 0x03E85A50>
IO - speech.speak (08:47:59):
Speaking ('en_GB'), u'Startpage Search Engine - Mozilla Firefox'
IO - speech.speak (08:47:59):
Speaking ('en_GB'), u'Startpage Search Engine document'
IO - speech.speak (08:48:00):
Speaking ('en_GB'), u'Startpage Search Engine - Mozilla Firefox'
IO - speech.speak (08:48:00):
Speaking ('en_GB'), u'Startpage Search Engine document'
IO - speech.speak (08:48:00):
Speaking ('en_GB'), u'edit'
IO - speech.speak (08:48:00):
Speaking ('en_GB'), u'blank'
IO - inputCore.InputManager.executeGesture (08:48:37):
Input: kb(desktop):downArrow
IO - speech.speak (08:48:37):
Speaking ('en_GB'), u'align center', u'enhanced by\n'
IO - speech.speak (08:48:37):
Speaking ('en_GB'), u'browse mode'
IO - inputCore.InputManager.executeGesture (08:48:39):
Input: kb(desktop):upArrow
IO - speech.speak (08:48:39):
Speaking ('en_GB'), u'edit', u'align default', u'2 space', u'button'
IO - speech.speak (08:48:39):
Speaking ('en_GB'), u'focus mode'
IO - inputCore.InputManager.executeGesture (08:48:47):
Input: kb(desktop):control+alt+r
INFO - core.main (08:48:47):

It looks like the page almost launches twice, but the info is truncated. Could it be that it detects focus mode, but never gets to say it the first time, then of course the second time is just like tabbing to another edit field?
Personally, I'd be happy with it confirming its still in focus mode each time.
PS the time jumps in the log are where watchdog is doing its usual messing about and confusing everyone.

@nvaccessAuto
Copy link
Author

Comment 4 by briang1 on 2014-07-28 08:25
This next log although from the latest snap, is of the same thing happening in IE8. Its a bit more messy with warnings all over the place, but a lot are presumably not connected to the issue.
IO - speech.speak (09:15:13):
Speaking ('en_GB'), u'Internet Explorer 5 of 60'
IO - inputCore.InputManager.executeGesture (09:15:16):
Input: kb(desktop):enter
DEBUGWARNING - RPC process 3964 (iexplore.exe) (09:15:17):
Thread 4084, build\x86\remote\tsf.cpp, TsfSink::Initialize, 181:
Cannot register ITfInputProcessorProfileActivationSink, trying ITfActiveLanguageProfileNotifySink instead

IO - speech.speak (09:15:17):
Speaking ('en_GB'), u'Windows Internet Explorer'
IO - speech.speak (09:15:19):
Speaking ('en_GB'), u'https://startpage.com/do/mypage.pl?prfh=lang_homepageEEEs/black/eng/N1Nenable_post_methodEEE0N1 - Windows Internet Explorer'
IO - speech.speak (09:15:19):
Speaking ('en_GB'), u'pane'
DEBUG - treeInterceptorHandler.update (09:15:21):
Adding new treeInterceptor to runningTable: <virtualBuffers.MSHTML.MSHTML object at 0x04112D50>
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'table'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'row 1 column 1'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'table'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'table'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'table'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'edit'
IO - speech.speak (09:15:21):
Speaking ('en_GB'), u'blank'
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):
oleacc.AccessibleObjectFromEvent with window 590468, objectID 7 and childID 0: -2147467259 Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):
oleacc.AccessibleObjectFromEvent with window 590468, objectID 8 and childID 0: -2147467259 Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):
oleacc.AccessibleObjectFromEvent with window 590468, objectID 9 and childID 0: -2147467259 Unspecified error
IO - inputCore.InputManager.executeGesture (09:15:33):
Input: kb(desktop):downArrow
IO - speech.speak (09:15:34):
Speaking ('en_GB'), u'align center', u'enhanced by', u'\n'
IO - speech.speak (09:15:34):
Speaking ('en_GB'), u'browse mode'
IO - inputCore.InputManager.executeGesture (09:15:37):
Input: kb(desktop):upArrow
IO - speech.speak (09:15:37):
Speaking ('en_GB'), u'edit', u'align left', u'2 space', u'button'
IO - speech.speak (09:15:37):
Speaking ('en_GB'), u'focus mode'
IO - inputCore.InputManager.executeGesture (09:15:43):
Input: kb(desktop):control+alt+r
INFO - core.main (09:15:44):

In this case it seems to be obsessed with a table that Firefox did not see.

@nvaccessAuto
Copy link
Author

Comment 5 by briang1 (in reply to comment 4) on 2014-08-01 10:55

I think I have the problem figured out here.
What also happens is that not only does it remember the last mode between pages, but it does so between internet sessions as well, thus, say you closed the p browser while the cursor was on an edit fiield and in focus mode. Then later on you open it again, it still remembers an does not say focus mode. However, if on moves out of the edit field, then closes the browser, the next time it opens, say on my search page, it says focus mode as it should.
Might be worth a mod to make sure the last remembered mode when a new browser session starts is browse mode then this hopefully won't occur.
Persoonally, I'd prefer it to say the mode changes and to reiterate the mode when you move to another field. Maybe a new option in browse mode property sheet?Replying to briang1:

This next log although from the latest snap, is of the same thing happening in IE8. Its a bit more messy with warnings all over the place, but a lot are presumably not connected to the issue.

IO - speech.speak (09:15:13):

Speaking ('en_GB'), u'Internet Explorer 5 of 60'

IO - inputCore.InputManager.executeGesture (09:15:16):

Input: kb(desktop):enter

DEBUGWARNING - RPC process 3964 (iexplore.exe) (09:15:17):

Thread 4084, build\x86\remote\tsf.cpp, TsfSink::Initialize, 181:

Cannot register ITfInputProcessorProfileActivationSink, trying ITfActiveLanguageProfileNotifySink instead

IO - speech.speak (09:15:17):

Speaking ('en_GB'), u'Windows Internet Explorer'

IO - speech.speak (09:15:19):

Speaking ('en_GB'), u'https://startpage.com/do/mypage.pl?prfh=lang_homepageEEEs/black/eng/N1Nenable_post_methodEEE0N1 - Windows Internet Explorer'

IO - speech.speak (09:15:19):

Speaking ('en_GB'), u'pane'

DEBUG - treeInterceptorHandler.update (09:15:21):

Adding new treeInterceptor to runningTable: <virtualBuffers.MSHTML.MSHTML object at 0x04112D50>

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'table'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'row 1 column 1'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'table'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'table'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'table'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'edit'

IO - speech.speak (09:15:21):

Speaking ('en_GB'), u'blank'

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):

oleacc.AccessibleObjectFromEvent with window 590468, objectID 7 and childID 0: -2147467259 Unspecified error

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):

oleacc.AccessibleObjectFromEvent with window 590468, objectID 8 and childID 0: -2147467259 Unspecified error

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (09:15:21):

oleacc.AccessibleObjectFromEvent with window 590468, objectID 9 and childID 0: -2147467259 Unspecified error

IO - inputCore.InputManager.executeGesture (09:15:33):

Input: kb(desktop):downArrow

IO - speech.speak (09:15:34):

Speaking ('en_GB'), u'align center', u'enhanced by', u'\n'

IO - speech.speak (09:15:34):

Speaking ('en_GB'), u'browse mode'

IO - inputCore.InputManager.executeGesture (09:15:37):

Input: kb(desktop):upArrow

IO - speech.speak (09:15:37):

Speaking ('en_GB'), u'edit', u'align left', u'2 space', u'button'

IO - speech.speak (09:15:37):

Speaking ('en_GB'), u'focus mode'

IO - inputCore.InputManager.executeGesture (09:15:43):

Input: kb(desktop):control+alt+r

INFO - core.main (09:15:44):

In this case it seems to be obsessed with a table that Firefox did not see.

@nvaccessAuto
Copy link
Author

Comment 6 by briang1 on 2014-08-03 06:38
If as has been said in the development group, nvda has no concept of sessions, could the last mode recorded be set to browse when an app module for any virtual buffer software is triggered?

At least then it would be consistant.

@Adriani90
Copy link
Collaborator

@briang1, @Brian1Gaff is this still an issue for you?

@Adriani90
Copy link
Collaborator

@Brian1Gaff are you still available?

@Adriani90
Copy link
Collaborator

This is not reproducible in NVDA 2019.1.1 and Firefox 66.0.3 or Chrome 74. In IE, focus mode is often not automatically enabled when system focus changes. But it is properly working if system cursor changes. So if you enable both checkboxes in NVDA menu / browse mode settings, everything works well also in IE. I am closing this as works for me. Please comment on it if it is still an issue for you and we can reopen the discussion. Thanks!

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

3 participants