Giter VIP home page Giter VIP logo

nvda-browser-nav's People

Contributors

cary-rowen avatar mltony avatar surveyor123 avatar tmthywynn8 avatar vovamobile avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nvda-browser-nav's Issues

Beeps should be toggleable

I rarely interact with sites where BrowserNav's parent/child navigation is necessary, that is I don't often read reddit or hacker news, or much other commenting sites like that. As such, the beeps this add-on presents are mostly extraneous information, and on sites like this one actually can be somewhat painful, given how high the beeps get with some of the supposed levels around nav bars. I understand these are to convey the level relationship. But is it possible to have a gesture to disable this indication while still allowing the roter navigation? Perhaps it could be baked into site settings, so you could, say, turn beeps off globally but then turn them back on on some sites where they would be useful. At the moment I have to cludge this by setting beep volume to 0, which is a global setting and does not go through site settings in the slightest. @mltony

Jumping through multiple quick jump bookmarks is not supported

BrowserNav doesn't support having multiple bookmarks as quick jump bookmark. It allows multiple bookmarks to be a quick jump bookmark but only the first bookmark is used when pressing j in a document. Tested with BrowserNav 2.4 and NVDA 2022.2.

Steps to reproduce:

  1. Create a new website.
  2. Create two quick jump bookmarks with pattern match type set as substring paragraph match. (Pattern match type is probably irrelevant but this mirrors my setup.)
  3. Press j until there are no more matches. Only the first created bookmark is matched.
  4. Disable the first created bookmark.
  5. Press j again in the document until there are no more matches. Now only the second bookmark gets matched.

In my opinion BrowserNav should either:

  • Not allow creating another quick jump bookmark when creating a new one and there is already a quick jump bookmark
  • Merge all quick jump bookmarks together, meaning that j searches with all bookmarks set as quick jump bookmark and not just the first enabled one.

Chrome 100: BrowserNav V2.3 generates huge delays and hiccups on certain websites

With BrowserNav V2.3, moving around on some websites or simply typing characters into certain edit boxes makes NVDA silent or quite sluggish. For instance, do the following:

  1. Open https://www.merriam-webster.com
  2. Move to the first edit box: Search.
  3. We want to search for the word "language," so type l, a, and n.
  4. At this point, NVDA, regardless of its version, should be quite sluggish or unresponsive for a few seconds. Continuing typing will make it more sluggish even if it regains speech.
    This doesn't happen with BrowserNav disabled.
    As another, perhaps more obvious example, do the following:
  5. Go to the following page: https://www.baranbax.com/
  6. It's a Persian website, but it doesn't matter. As you land on the page and start navigating by H among headings, NVDA becomes quite sluggish, and even Chrome 100 displays the "Does not respond" message. Again, disabling BrowserNave takes care of the issue.
    Even using the Search facility in Chrome 100's History window, Control+H, generates such a delay as Chrome finds results based on what we type into the box.

Addon seems to depend on property that no longer exists

Just tried latest browsernav addon with latest NVDA alpha snapshot on latest Chrome Canary version.
Unfortunately, doing NVDA+E on a Jupyter cell gives the following output:
ERROR - scriptHandler.executeScript (00:53:30.003) - MainThread (20916):
error executing script: <bound method GlobalPlugin.injectBrowseModeKeystrokes.. of <globalPlugins.NVDAExtensionGlobalPlugin.browseModeEx.virtualBuffersEx.ChromeVBufEx object at 0x08880A30>> with gesture 'NVDA+e'
Traceback (most recent call last):
File "scriptHandler.pyc", line 208, in executeScript
File "C:\Users\flori\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav.py", line 1266, in
script=lambda selfself, gesture: self.script_editJupyter(gesture, selfself),
File "C:\Users\flori\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav.py", line 857, in script_editJupyter
obj = selfself._lastFocusableObj
AttributeError: 'ChromeVBufEx' object has no attribute '_lastFocusableObj'

I do believe some of these methods were altered or removed recently, so perhaps you just need to retrieve a different value to make it work again. Figured I'd let you know, as I would really love this to work again :)

Add-On Compatibility information not updated on Community Add-Ons Page (https://addons.nvda-project.org/addons/browsernav.en.html)

Tony,

Although BrowserNav Version 2.4 is what downloads on both the Community Add-Ons Site and from the Spanish Add-On Catalog, the compatibility information on the Community Add-Ons site still reads:

NVDA compatibility: from 2018.1 to 2019.1

I thought you might like to know this. I don't know who actually does the updating, but I figure a nudge from you would move things along.

Brian

UpArrow and downArrow not working in browseMode

Steps to reproduce

  1. I have a fresh new install of latest versions of NVDA and Browser nav. See below for all my software info.
  2. Open browser (firefox or chrome) to any site, like https://www.nvaccess.org/download/
  3. In browse mode, try pressing the arrow keys upArrow or downArrow. For me, they don't seem to do anything (no movement nor speech). The leftArrow and rightArrow seem to work properly, speaking the characters.
  4. Also try starting "say all" (NVDA+a). I have the skim reading feature enabled, so pressing upArrow/downArrow moves lines while continuing the sayAll. Interestingly, when in sayAll, the upArrow and downArrow seem to work fine.
  5. I also tried changing between laptop keyboard layout and desktop keyboard laptop, but still fails on both.
  6. Once I disable browserNav and restart NVDA, the up/downArrow regain their normal functionality. So I presume something's wrong with browserNav.

My current workaround is to go back to NVDA 2022.4 and install all the older versions of add-ons.

Software info:

  • NVDA version 2023.1
  • BrowserNav v2.5. Downloaded from NVAccess site (https://addons.nvda-project.org/addons/browsernav.en.html). Used first link because second link is broken.
  • Windows 11 Home
  • NVDA add-ons: only Browser Nav is enabled.
  • In NVDA advanced settings, ensured that custom scripts in scratchpad directory are not enabled.

Version 2.2 doesn't work on NVDA 2020.4

Hello,
I'm using version 2020.4 of NVDA because on my office I haven't the admin rights to update NVDA.

I downloaded Browsernav, it is enabled from the addon list but it appears that no keystrokes are active.
I found this error on the log file:
ERROR - globalPluginHandler.listPlugins (16:24:27.750) - MainThread (6708):
Error importing global plugin browserNav
Traceback (most recent call last):
File "globalPluginHandler.pyc", line 23, in listPlugins
File "importlib_init_.pyc", line 127, in import_module
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in call_with_frames_removed
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav_init
.py", line 58, in
from . import quickJump
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 463, in
globalConfig = loadConfig()
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 450, in loadConfig
return QJConfig(json.loads(rulesConfig))
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 414, in init
for item in d['sites']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 414, in
for item in d['sites']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 361, in init
for bookmarkDict in d['bookmarks']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 361, in
for bookmarkDict in d['bookmarks']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 307, in init
for attrDict in d['attributes']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 307, in
for attrDict in d['attributes']
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 255, in init
object.setattr(self, 'attribute', QJAttribute(d['attribute']))
File "D:\Users\MI09424\AppData\Roaming\nvda\addons\browsernav\globalPlugins\browserNav\quickJump.py", line 183, in init
value = controlTypes.Role(value)
AttributeError: module 'controlTypes' has no attribute 'Role'

Can you fix it or version 2020.4 is not supported?

Add BrowserNav in the translation system

Hello Tony

There is a recent discussion on the add-on mailing list regarding the add-on translation and the automatic translation system.
More specifically in this discussion, it appears that there is a will to have BrowserNav translated.

From what I have seen, here is the (non exhaustive) status:

  1. The content of the locale folder is out-of-date. It contains old translations of IndentNav; probably here since BrowserNav's spin-off from IndentNav. This out-of-date content needs to be removed.
  2. Not all strings are translatable. You will need to make them all translatable. @Surveyor123 had made a PR for this (#2), but it is out-of-date. If you lack of time to do the job, maybe he would accept to update his PR or to create a new one.
    For whoever do this job, also think to translator comments. It's not mandatory for add-ons but it may be a plus for translators.
  3. You should update pythonSources in the buildVars.py to get all translatable strings in the .pot.
  4. You finally have to ask for integration in the translation system on the add-on mailing list and when the nvdaaddons fork is created, you need to create an issue in nvaccess/mrconfig to ask for the add-on's inclusion in the translation system. See here for more details.

If you need assistance or lack of time, you may ask for help on the add-on mailing list. I hope someone can help.
Personally, I can provide advices, but do not have so much time to help more. If you ask for help and no one answers positively, I can reconsider to help more, provided you confirm that you will be interested (i.e. I do not want to lose my time).

PS: Nothing to do with this issue. But while at it, can you take care of updating the style.css to last versions as you did for your other add-ons (e.g. Tony's enhancements)? Thanks.

Request to add bookmark type that sets element to a Live region

A number of web pages contain dynamically updated content that isn't automatically spoken. By setting an element to have an Live region the screen reader will announce it when it changes. it would be useful to define this as a type of bookmark in Browsernav, or even have a hotkey to toggle the current element's state.

Request to add bookmark type that changes an element's presentation

Some web pages display poorly-named elements, unlabelled buttons etc, or are very wordy or not wordy enough. A bookmark type that let you adjust how that element is displayed to NVDA would be very useful. Especially if you could use the current label in some form, perhaps regexp backreferences? so you could really adjust your listening experience on a per-page basis.

For example, one of my grocery websites has a button with a value of "increase quantity of Milk to 2". I'd love just to hear "2 milk". if you listen to this hundreds of times each week when shopping it gets frustrating in the extreme. Reinterpreting the value of elements presented to screen readers would be a very personal, but useful, addition.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.