Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Allow users to disable browse mode by default #8846
Link to issue number:
Summary of the issue:
On every page load, browse mode is enabled by default, even when you explicitly disable it with NVDA+space. This is undesirable behavior for some users, particular magnifier users, who are able to navigate the web primarily using magnification.
Description of how this pull request fixes the issue:
Tested enabling and disabling the browse mode settings options, behavior as expected. When enabled, browse mode enabled itself on every page load, when disabled, browse mode was off on every page load.
Known issues with pull request:
Though I've tested this and it did not happen, in excel, there might be redundant focus mode pass through reports when moving from a browse mode enabled browser to an excel sheet. The previous behavior was way worse, though.
Change log entry:
If browse mode on page load is disabled, tree interceptor situations such as in Firefox or other browsers do not create a tree interceptor by default. If people want to manually enable browse mode when browse mode on page load is disabled, they will have to press NVDA+space (i.e. this script) to have the interceptor created on demand. However in that case, when we skip objects that have shouldCreateTreeInterceptor set to True (which is the default for objects), this will result in no tree interceptor being created at all, and thus the script does not work. IN short, this script assumed that, if invoked, either there was always a tree interceptor on the focus object, or shouldCreateTreeInterceptor on the object ought to be False (such as in Word). The first assumption is no longer met when browse mode on page load is off.