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

Remove the setting for automatic focus focusable elements in browse mode completely from the GUI #15463

Closed
Adriani90 opened this issue Sep 17, 2023 · 10 comments · Fixed by #17598
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@Adriani90
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

In early issues NVDA had significant problems maintaining the virtual cursor at the same position, resulting in several bugs while browsing a document with the virtual cursor.
A setting has been added in NVDA, so the user can decide whether the system focus should follow the virtual cursor or not. When the system focus does not follow the virtual cursor, the navigation is much more stable and the cursor does not move around.
Enabling this setting in NVDA browse mode settings introduces many bugs such as loss of focus, unwanted actions performed while navigating through the web, and so on. Especially the fact that actions are triggered when this setting is enabled, poses a huge risk for users to open link or press buttons which they didn't intend to triggern.

Describe the solution you'd like

Let automatic movement of system focus to focusable elements disabled in browse mode settings and remove the setting completely from the GUI as well as the key stroke NVDA+8 from the global commands.

Describe alternatives you've considered

None

Additional context

n/a

@Brian1Gaff
Copy link

Brian1Gaff commented Sep 18, 2023 via email

@seanbudd seanbudd added p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Sep 18, 2023
@cary-rowen
Copy link
Contributor

Are you sure this setting has no positive side at all when checked?

As far as I know, some add-ons, such as UnSpoken, rely on this option because they use the gainFocus event.

@ABuffEr
Copy link
Contributor

ABuffEr commented Sep 19, 2023

I agree with to possibly move it to advanced settings, not with to remove it at all. I cannot point to specific cases, but I'm sure to have used it towaydays from time to time, in poorly designed websites, where the alternative would be to move and move and move manually the focus or the mouse pointer.

@Adriani90
Copy link
Collaborator Author

@ABuffEr I don't understand exactly the use case you describe. When you use a website with the mouse or in focus mode, there is no problem. In browse mode though you can call the system focus on demand by pressing tab, nvda+space bar or by routing the mouse to the virtual cursor with nvda+shift+m if needed.
I prefer this approach instead of NVDA opening links randomly or hovering the focus over area with actions without my intention. Because this is exactly what happens when you enable this setting for a longer time. We had some bug reports here that have been closed because NV Access does not recommend to enable this setting at all.

@Adriani90
Copy link
Collaborator Author

If your use case is limited to scrolling on websites etc., there is PR #9919 which adopts a different approach to solve this problem without the bugs we have now with automatic focus focusable elements.
However, that PR is abandoned and maybe someone has the skills and the time to take it over at a later stage.

@cary-rowen
Copy link
Contributor

@Adriani90 wrote:

If your use case is limited to scrolling on websites etc., there is PR #9919 which adopts a different approach to solve this problem without the bugs we have now with automatic focus focusable elements.

No, definitely not just the use case of page scrolling.
Some poorly designed web pages may require users to enable this option as a temporary solution. It may be the fault of the web developer, but having a temporary solution is far better than doing nothing.

You wrote:

Enabling this setting in NVDA browse mode settings introduces many bugs such as loss of focus, unwanted actions performed while navigating through the web, and so on. Especially the fact that actions are triggered when this setting is enabled, poses a huge risk for users to open link or press buttons which they didn't intend to triggern.

Of course, I would also like to hear what you have to say about the negative impact of this option when it is turned on, and whether there is a specific case that can reflect this.
The situation you describe is more like a bug that was introduced by Chromium in the past but it has long since been resolved.

Finally, this option is off by default.

Thanks

@brunoprietog
Copy link

Removing this setting would be terrible for me. I use the Object Location Tones add-on to hear a sound every time I move through focusable controls. This really helps me to know where an object is on the screen quickly, and helps me to be more efficient when scrolling through the interface. It also helps me get a picture in my head of the layout of the interface, just as I can do when I'm using a touch device like my mobile phone. Isn't it already enough that it's disabled by default? There are only drawbacks to this

@lukaszgo1
Copy link
Contributor

The fact that Object Location tones requires this option is caused by the deficiency in NVDA's core. I';d say this should be fixed before removing this option.

@XLTechie
Copy link
Collaborator

XLTechie commented Oct 26, 2023 via email

@XLTechie

This comment was marked as resolved.

@seanbudd seanbudd changed the title Remove the setting for automatic focus focusable elements in browse bode completely from the GUI Remove the setting for automatic focus focusable elements in browse mode completely from the GUI Oct 26, 2023
@github-actions github-actions bot added this to the 2025.1 milestone Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants