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

Visual highlight of focus, browse or caret location being read. #971

Closed
nvaccessAuto opened this issue Oct 7, 2010 · 21 comments
Closed

Visual highlight of focus, browse or caret location being read. #971

nvaccessAuto opened this issue Oct 7, 2010 · 21 comments

Comments

@nvaccessAuto
Copy link

@nvaccessAuto nvaccessAuto commented Oct 7, 2010

Reported by expressABLE on 2010-10-07 23:01
NVDA focus, caret or browse location to be visually highlighted on the word, character or other feature of a webpage, menu or document, etc. that is currently being read or focused on.
Other software that has such a feature include Supernova, Zoomtext, Read and Write Gold, Kurzweil, free ReadPlease, and supposedly Apple Voiceover.
As a sighted assistive tech specialist using NVDA the last two years, I believe this would be very helpful for sighted guides teaching NVDA, those with low vision, website developers trying to improve accessibility (without having the time to learn the whole screenreader), and folks with dyslexia and other reading disabilities as well.
This idea received positive response on the NVDA users list.
NVDA is now featured in a learning disabilities software suite called MyStudyBar.
For low vision, it would be great if the highlight could be adjustable in preferences for size, and color, perhaps even changing color for each particular mode. For example: blue with yellow font for browse; light blue with black letters for focus.
Is there already something like this that could work in
conjunction with NVDA?
Thank you for the consideration. I don't know how to program but
would be gung-ho to work with somebody, provide clarification of intent, details or any other field experience feedback.
Thank you.
Sincerely,
Chris Johnson,
Assistive Technology Specialist

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Oct 7, 2010

Comment 1 by expressABLE on 2010-10-07 23:06
In Zoomtext the feature is called Focus Enhancement, which can in turn be customized with various "Schemes", under the Magnifier toolbar heading. A 60-day demo of Zoomtext is available from AI Squared here: http://aisquared.com/zoomtext/more/download_zoomtext_trial/

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Aug 27, 2013

Comment 2 by jteh on 2013-08-27 02:40
@nishimotz: I recently learnt about your focus highlight add-on, which covers much of this functionality. Would you be interested in getting this integrated into the core? Failing that, are you happy for us to do it based on your code?

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Aug 27, 2013

Comment 3 by nishimotz on 2013-08-27 05:03
Please use my focus highlight add-on code for enhancement of NVDA core.

My implementation sometimes fail to follow current focus or navigator object, and I think it would be nice to be integrated with core system for further improvements.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Aug 27, 2013

Comment 4 by briang1 on 2013-08-27 07:42
The version of the add on as downloaded from the web site produced continuous nvda errors, but the tweaked version as on the dropbox link seemed to stop that. I myself cannot see how well it actually works though, so some sightded input might be worthwhile here before its merged into the main code I think.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Aug 27, 2013

Comment 5 by nishimotz on 2013-08-27 07:51
Work around the issue is as follows:

https://bitbucket.org/nishimotz/focushighlight/commits/d30e9de2d58e7e9975122a88403fe7fb1d1287a8

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Aug 27, 2013

Comment 6 by k_kolev1985 on 2013-08-27 08:05
Hello Mr. Nishimoto,

After my e-mail to you from yesterday, I've found another bug. It seams that reading of opened combo-boxes is broken if using the "Focus Highlight" add-on. Examples of such combo-boxes are the ones in NVDA's interface (settings) and the ones for choosing a output file type in a "Save as" dialog (I think - no matter in witch application). Actually, it may as well affect all combo-boxes - I haven't managed to test.

@feerrenrut
Copy link
Member

@feerrenrut feerrenrut commented Jul 13, 2016

See also: #6172

@leonardder
Copy link
Collaborator

@leonardder leonardder commented May 12, 2018

@feerrenrut: Is there still interest in having this integrated into NVDA core?

@nishimotz: I recall having some issues with screen review while using focus highlight, but it could have to do with the fact that I was using an older version. Could you elaborate on the what, the why and the how things have been changed in your add-on since your last comment of around 5 years ago?

@nishimotz
Copy link
Contributor

@nishimotz nishimotz commented May 13, 2018

The stateChange and valueChange events, regarding ComboBox windows, are specially handled in current focusHighlight add-on to avoid the issues.
However, I am not sure it is always safe.

Regarding display resolution and multiple monitors, the version 5.0 uses physical coordinates consistently in NVDA, as discussed in #7065.

So far, focusHighlight uses its own thread and message loop.
The event mechanism of NVDA can be improved for better implementation.
I cannot remember, but there are discussions regarding this.

Lastly, I have selected the colors of red and green.
It was not the best choice in terms of color universal design, so I am using dotted lines in addition to colors.

@Brian1Gaff
Copy link

@Brian1Gaff Brian1Gaff commented May 14, 2018

@leonardder
Copy link
Collaborator

@leonardder leonardder commented May 24, 2018

@nishimotz: Thanks for your information. I also read that you are now using GDI Plus since version 5, but what were you using before?

Have you considered using wx to draw the rectangles? That way, you can avoid interfacing with GDI at the library level, and if that works, I'd really prefer that for a core implementation.

@nishimotz
Copy link
Contributor

@nishimotz nishimotz commented May 25, 2018

@leonardder before using GDI plus, I have been using legacy Win32 API, such as CreateWindow and FillRect.
In order to use physical coordinates consistently, I thought GDI Plus is preferable.
I have not tried using wx so far.

@towebo
Copy link

@towebo towebo commented May 27, 2018

A screen-reader isn't only for the blind and I think that beeing able to see where on the screen focus is should be a part of the core product. It isn't a special feature for a certain application and should therefore qualify as a core feature.
I'm happy that I found the add-in. VoiceOver has its VoiceOver cursor that is a great help when partially sighted and the same goes for the focus highlight in ZoomText that I've been using set to inverted color.

@leonardder
Copy link
Collaborator

@leonardder leonardder commented May 28, 2018

I think there is some consensus within the developer space that a highlight feature should be part of NVDA core. Therefore I'm marking this as feature. Personally, I'd vote for exploring how we could do this with WXPython, since it is much more pythonic than interfacing with GDI or GDI Plus directly.

CC @feerrenrut

@leonardder
Copy link
Collaborator

@leonardder leonardder commented Jun 4, 2018

@nishimotz: From what I've seen, I think using wx might be the most elegant way within NVDA's core.

Instead of using one window per highlight, have you also considered using only one window that contains the several highlights, thus one transparent window that doesn't have to be repositioned, only cleared and painted again?

@nishimotz
Copy link
Contributor

@nishimotz nishimotz commented Jun 4, 2018

@leonardder I am investigating how to use GDIPlus from wxPython.

@leonardder
Copy link
Collaborator

@leonardder leonardder commented Jul 31, 2018

Ok, yet wx it will be. I have a prototype implementation that will be released later this year as part of a bigger vision framework that also adds a screen curtain.

@nishimotz
Copy link
Contributor

@nishimotz nishimotz commented Dec 17, 2018

I am aware that my FocusHighlight add-on doesn't work with NVDA 2018.4 anymore, regarding navigator object within the Web browsers, such as Chrome and Firefox.
FocusHighlight just shows focuses on the web browsers even in the browse mode.
Until NVDA 2018.3.2, FocusHighlight could show both the navigator object and focus on the web contents.

As far as I have investigated, #8678 is related.
I don't think it is the regression of NVDA side because NVDA doesn't have visual highlighter itself.
I would rather think a more robust method is needed.

New vision framework i.e. PR #9064 snapshot is working regarding this as expected.

feerrenrut added a commit that referenced this issue Aug 12, 2019
…object and browse mode caret highlighting (PR #9064)

Foundations of framework to enable:

- #7857: Making the screen black (i.e. a screen curtain) while NVDA is active, mainly for privacy reasons
- #971: Visual highlight of focus, review or browse mode caret location
- Basic screen magnification facility within NVDA.

This pr intends to lay the base of a vision framework that can be used to implement such functionality in the core of NVDA. Though there is no GUI in the current pull request, the framework is functional.
@Adriani90
Copy link
Collaborator

@Adriani90 Adriani90 commented Aug 12, 2019

Now that #9064 has been merged, thanks to Leonard, Reef and Takuya for their good work on this, I think the basis for this feature is implemented. I am closing this issue now but please feel free to create new issues or new discussion based on the current implementation on last NVDA Alpha.

@feerrenrut
Copy link
Member

@feerrenrut feerrenrut commented Aug 13, 2019

@Adriani90 I think I would prefer to keep this open until the Gui is implemented. While it is possible to enable this at the moment if you make the right changes in the config file, it is not really usable.
This should be addressed with #10082

@feerrenrut feerrenrut reopened this Aug 13, 2019
@leonardder
Copy link
Collaborator

@leonardder leonardder commented Aug 13, 2019

@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Nov 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants