Tony's add-ons: updates and new features


Tony Malykh
 

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony



Rui Fontes
 

Hello!


I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...


I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...


Rui Fontes


Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony



Aravind R
 

thank you very much sir. We will use and give our feedbacks

On 04/01/2022, Tony Malykh <anton.malykh@...> wrote:
Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty
long email, so I marked sections as level 1 and level 2 headings for
ease of navigation. Any feedback and suggestions are welcome!


BrowserNav v2.2

·Website: https://github.com/mltony/nvda-browser-nav/

·Download:
https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now
configure bookmarks and this simplifies navigation around websites that
you frequently use. Bookmarks can be configured either for a specific
URL or for the entire domain. Bookmark itself can be configured either
as matching text on the page, or a regular expression. There are many
more options to customize bookmarks, please refer to github page for a
full list of options.

There are four types of bookmarks in BrowserNav:


QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing
either J or Shift+J in browse mode. BrowserNav comes with default
configuration that you can use as an example of configuring bookmarks,
and that example includes some QuickJump bookmarks for amazon.com: you
can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” –
these are just examples of information that I often need to find on
Amazon pages while shopping, but you can of course configure your own
bookmarks.


SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav
to skip certain text while navigating either by paragraph (with
Control+Up/Down) or by line (with Up/Down). Most common example of this
is skipping blank lines – and this one is included in the default
configuration. Other examples can include skipping timestamps or
frequently repeated elements on the webpage (think of repeating buttons
on Facebook website: Reply, React, Like, …). SkipClutter mode can be
turned off temporarily when you do want to access those elements by
pressing / or Control+/.


QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to
bookmark, you can click buttons or links without moving your cursor. For
example, on youtube.com you might want to have an easy way to play/pause
video. In fact this QuickClick bookmark is included in the default
configuration for reference. So, you just need to press Alt+J to click
all QuickClick bookmarks on the page. Another example of where I find
QuickClick especially useful is expanding collapsed elements of the
page, e.g. on Facebook you might want to automatically expand links “See
more”, “View 5 more comments”, etc.


Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree
where each successive level of reply is indented more and more to the
right. Hierarchical bookmarks is the most convenient way to browse such
comment trees for screenreader users. BrowserNav can announce the level
of current comment, or alternatively, you can jump to next/previous
comment of a given level, similar to built-in function of jumping to
heading of given level. You just need to capture some element of a
comment in a bookmark (such as upvote or downvote buttons) and
BrowserNav will automatically compute levels based on horizontal offset
of each match. I have included sample configuration for hacker news and
old reddit. You can try it yourself once you have BrowserNav v2.2
installed:

·Old reddit:
https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·Alt+` or Alt+Shift+`: jump to next/previous comment and announce its
level.

·Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·Alt+number or Alt+Shift+number: jumpt to next/previous comment at
corresponding level.

Please note that in both reddit and hacker news the bookmark also
matches the original post. As a result, on reddit original post
corresponds to level 2, so all the comments have levels 1,3,4,5 ….
Skipping level 2.


Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure
websites and bookmarks. For ease of use I added options to create a new
entry for current website, and create a new bookmark from current
paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences
> Settings dialog.


Website options

There are a few options that can be configured on per website level:

·Block focus events: some websites misuse focus events: e.g. they focus
some elements when trying to scroll, thus making the website hard or
impossible to use for screenreader users. You can disable handling of
focus events for such websites. In this case focus events will be
ignored and your cursor will not jump around.

·Block live region announcements. Similarly, some websites misuse live
regions. BrowserNav allows to selectively block them.

·Auto QuickClick. Once you configured QuickClick bookmarks ona website,
you can tell BrowserNav to click those bookmarks automatically when
website is fully loaded.


Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much
faster in Chromium-based browsers and Firefox.


Recap of other BrowserNav functions

·Vertical navigation: allows to find objects on a web page that are
directly underneath by pressing NVDA+Alt+Down/Up.

·Navigation by font size: allows to find text written in the same font
size or font style.

·More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.


Notes

·I am aware of Placemarkers add-on existence. BrowserNav bookmarks is
however different in many ways: more flexible website definition, more
flexible bookmark definition, more functionality around different types
of bookmarks. I know NVDA community is typically wary of add-ons that
are similar in functionality, but I didn’t have any intention to compete
against PlaceMarkers. The function of regular expression search was in
BrowserNav since many years ago and developing proper bookmarks was a
natural extension of it. It would also be totally impractical for me to
upgrade Placemarkers add-on, since the changes that I implemented would
require rewriting probably 90% of Placemarkers, so this is not justified.

·I can split off bookmarks into a separate add-on if there is enough
interest. As long as community doesn’t mind given concerns of being too
similar to Placemarks add-on.


Tony’s Enhancements v1.13

·Website: https://github.com/mltony/nvda-tonys-enhancements

·Download:
https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time
I added a few interesting ones.


Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using
stereo headphones this would make all NVDA sounds to go to right
channel, while all application sounds will go to left channel (or vice
versa). This could be handy if you have to attend long and boring
meetings over VC. Additionally you can adjust NVDA volume and
applications volume separately via NVDA+Control+PageUp/PageDown and
NVDA+Alt+PageUp/PageDown keystrokes.


Copying tables

Many people on NVDA mailing list complained that there was no good way
in NVDA to copy a table from a webpage. Now there is a way! Press
NVDA+Alt+T while on a table and you’ll be presented with a few options:
you can either copy the whole table, or current row or column. The table
will be copied with preserving formatting information about its cells,
so that you can paste it into Microsoft Word or any other rich text
editor, and it will still appear as a table.


Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In
particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring
mouse cursor over the link that I would like to click. These scripts are
my attempt to solve this. The feature is experimental, in the sense that
there are still cases where it doesn’t work as expected. Yet it already
can be very useful in some cases, so I decided to still include it in
the release. Keystrokes:

·NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current
object, clicks left/right mouse button, then moves mouse pointer back to
where it was. Additionally it tries to check if there are any other
windows on the way (e.g. topmost windows) and tries to get them out of
the way.

·Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and
scroll up/down. This can be useful to load more content in infinite
scroll websites.

·Alt+NumPadDelete: move mouse pointer to top left corner of the screen.
This can be useful for websites that make excessive use of mouse hover
information to show popup windows.


Recap of other functions of Tony’s enhancements

·Enhanced table navigation commands, such as jump to first/last row/column.

·Automatic language switching based on Unicode character set.

·QuickSearch – similar to BrowserNav QuickJump bookmark, but works in
text editors.

·Dynamic keystrokes: allows to configure announcing current line after
certain keystrokes.

·Showing and hiding any application windows.

·Detecting insert/overwrite mode in text editors to prevent accidentally
overwriting text.

·Adjusting system priority of NVDA process for better responsiveness.


Bluetooth Audio v1.4

·Website: https://github.com/mltony/nvda-bluetooth-audio

·Download:
https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft
white noise as long as NVDA is active. Many Bluetooth headphones and
speakers enter standby mode after a few seconds of inactivity. Then when
NVDA speaks next utterance, the first word or two might be lost.
Bluetooth Audio prevents these devices from entering standby mode by
keeping audio stream open and constantly playing some sound. In fact,
Bluetooth audio has been reported to improve audio quality on other
types of audio devices: RF wireless headphones and even some wired
speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a
result, it was hard to tell whether it is working or not. In fact, it
seems that it wasn’t working, or at least not always working – one of
NVDA updates in 2020 seems to have broken it, and even I didn’t catch
it. To avoid this in the future I added an option to play soft white
noise instead of silence, so that you can hear when Bluetooth audio is
working. Another feature I added is dynamically changing output device
when NVDA configuration changes – previously that required a restart.


IndentNav v1.13

·Website: https://github.com/mltony/nvda-indent-nav/

·Download:
https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows
better navigation around indented source code files in text editors.
This new version works much faster, especially in VSCode. Here are some
keystrokes to try (please read github page for a complete list):

·NVDA+Alt+Up/Down: jump to next/previous line with the same indentation
level within current block.

·NVDA+Alt+Left/Right: jump to parent/first child line, where parent and
child are defined as line with lesser/greater indentation level.

·NVDA+Control+I: select current block (e.g. function).

·NVDA+V: indent-paste, that is paste with adjusting indentation level of
clipboard content to match current line.


Phonetic punctuation v1.6

·Website: https://github.com/mltony/nvda-phonetic-punctuation/

·Download:
https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory
icons (earcons). In general, it allows to replace any regular expression
configured substring with an auditory icon, which can be great for
getting rid of timestamps and other frequently repeated fragments. It
also allows to change prosody parameters for parts of speech, but only a
few synthesizers support this. This new version allows to adjust volume
of each individual auditory icon and has several bugfixes.


WordNav v1.7

·Website: https://github.com/mltony/nvda-word-nav/

·Download:
https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces
built in Control+Left/Right keystrokes with custom scripts. It makes
behavior of these keystrokes consistent across all applications and adds
multiple options on its behavior.

In this last version I spent quite some time to work around Google
Chrome bug in its IAccessible implementation
<https://bugs.chromium.org/p/chromium/issues/detail?id=1260726>, but in
the end I made it to work correctly in Chrome.


SentenceNav v2.12

·Website: https://github.com/mltony/nvda-sentence-nav/

·Download:
https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes.
This new version includes some bugfixes.


TextNav v1.6

·Website: https://github.com/mltony/nvda-text-nav/

·Download:
https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable
text written in complete sentences, on any webpage. You can
automatically skip most of the clutter, such as menus, images, metadata
and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This
latest version only updates compatibility flag.


Console toolkit v1.2

·Website: https://github.com/mltony/nvda-console-toolkit/

·Download:
https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application,
such as Windows command prompt and Windows Terminal. This new version
adds better support for Putty. Here are some features:

·Control+V can now be used for pasting.

·Speech becomes more real-time in a console that actively prints new
messages.

·You can edit current command by pressing NVDA+e in an accessible window.


Notes

·Versions have not been updated on the official NVDA add-ons website
yet. I sent a pull request, and it is subject to approval by NVAccess.
Until then, feel free to download latest versions using links I provided
above.

·All the add-ons were tested with NVDA alpha build 24399. Some
compatibility issues have been fixed, however, it is still possible that
something will change and compatibility will break again by the time
NVDA 2022 is released. The author however has very limited time to work
on add-ons, in fact the only time of year when I have time to maintain
my add-ons is the winter break around Christmas and New Year. So, I
release my add-ons as is. I might try to find some time to fix
compatibility mid-year, but I cannot commit to it. Which brings me to my
second point:

·Volunteers needed. I currently have 9 add-ons and they require some
maintenance and as my life gets more and more busy every year, I am
struggling to find time for that, while users ask for compatibility,
translations, etc. I don’t want to let my users down. So, I’m looking
for someone who is familiar with add-on development process to help me
with that. Please contact me off-list if you’re interested. Typical
maintenance tasks are: dealing with compatibility flags and releases,
dealing with translations, optionally fixing bugs.

·


Best regards

--Tony







--


--
--
nothing is difficult unless you make it appear so.

r. aravind,

manager
Department of sales
bank of baroda specialised mortgage store, Chennai.
mobile no: +91 9940369593,
email id : aravind_069@..., aravind.andhrabank@....
aravind.rajendran@....


William
 

Tony thanks for the amazing work, I need another year to learn about the new features:p


Rui Fontes 於 4/1/2022 8:16 寫道:

Hello!


I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...


I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...


Rui Fontes


Às 23:07 de 03/01/2022, Tony Malykh escreveu:
Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony



Michael Micallef at FITA
 

Goodmorning,

 

I just download the nvda add-on called: BrowserNav v2.2 and installed but I didn’t manage to understand exactly how it works. I read the help file but I ffound it difficult to understand, I’m mostly interested in few steps how to create a bookmark on a website I understand this feature is similar to the one that jaws has to make web markers.

 

I sincerely appreciate if someone send me the steps how to create website bookmarks on website using the nvda.

 

Thanks,

Michael micallef

 

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William via groups.io
Sent: Tuesday, 04 January 2022 06:51
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Tony thanks for the amazing work, I need another year to learn about the new features:p

 

Rui Fontes 4/1/2022 8:16 寫道:

Hello!

 

I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...

 

I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...

 

Rui Fontes

 

Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


William
 

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"


Thanks,

William



Tony Malykh 於 4/1/2022 7:07 寫道:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony



Sarah k Alawami
 

Because an email is not technically a website, I’m not sure that feature will work as you want it to. You can  either use a say all or junp to text after block of links key stroke. Good luck.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William
Sent: Tuesday, January 4, 2022 2:23 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"

 

Thanks,

William

 

 

Tony Malykh 4/1/2022 7:07 寫道:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Gene
 

If all e-mails from this place will have the reply line in exactly the same place perhaps the feature will work.  The designer will, I hope, correct me if I’m wrong, but I would  think that having text in exactly the same place is necessary. 
 
This may be an example of where using the actual software would be much more reliable and efficient.  You should be able to quickly search the message for the word reply.
 
Gene

-----Original Message-----
Sent: Tuesday, January 04, 2022 9:58 AM
Subject: Re: [nvda] Tony's add-ons: updates and new features
 

Because an email is not technically a website, I’m not sure that feature will work as you want it to. You can  either use a say all or junp to text after block of links key stroke. Good luck.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William
Sent: Tuesday, January 4, 2022 2:23 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"

 

Thanks,

William

 

 

Tony Malykh 4/1/2022 7:07 寫道:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Sarah k Alawami
 

Not necessarily. Some of my emails I get say “in reply to …” and some are not even in English. Some don’t have a reply header, and some have both. Soi it is best ot learn how to use your software in this case.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Gene
Sent: Tuesday, January 4, 2022 8:10 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

If all e-mails from this place will have the reply line in exactly the same place perhaps the feature will work.  The designer will, I hope, correct me if I’m wrong, but I would  think that having text in exactly the same place is necessary. 

 

This may be an example of where using the actual software would be much more reliable and efficient.  You should be able to quickly search the message for the word reply.

 

Gene

-----Original Message-----

Sent: Tuesday, January 04, 2022 9:58 AM

Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Because an email is not technically a website, I’m not sure that feature will work as you want it to. You can  either use a say all or junp to text after block of links key stroke. Good luck.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William
Sent: Tuesday, January 4, 2022 2:23 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"

 

Thanks,

William

 

 

Tony Malykh 4/1/2022 7:07 寫道:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Gene
 

I don’t mean for different messages from different people.  If this message is some sort of form message and reply is always in the same place, this feature might work but as you say, it won’t work from message to message.
 
Gene

-----Original Message-----
Sent: Tuesday, January 04, 2022 10:50 AM
Subject: Re: [nvda] Tony's add-ons: updates and new features
 

Not necessarily. Some of my emails I get say “in reply to …” and some are not even in English. Some don’t have a reply header, and some have both. Soi it is best ot learn how to use your software in this case.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Gene
Sent: Tuesday, January 4, 2022 8:10 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

If all e-mails from this place will have the reply line in exactly the same place perhaps the feature will work.  The designer will, I hope, correct me if I’m wrong, but I would  think that having text in exactly the same place is necessary. 

 

This may be an example of where using the actual software would be much more reliable and efficient.  You should be able to quickly search the message for the word reply.

 

Gene

-----Original Message-----

Sent: Tuesday, January 04, 2022 9:58 AM

Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Because an email is not technically a website, I’m not sure that feature will work as you want it to. You can  either use a say all or junp to text after block of links key stroke. Good luck.

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William
Sent: Tuesday, January 4, 2022 2:23 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"

 

Thanks,

William

 

 

Tony Malykh 4/1/2022 7:07 寫道:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


mystragical@...
 

Anyone managed to assign a bookmark to skip adds button on youtube? Is it possible with this addon?


Sarah k Alawami
 

You would have to find the skip button. If it is located in the same place every time that should not be a deal braker.

 

Good luck.


 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of mystragical@...
Sent: Tuesday, January 4, 2022 12:09 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

Anyone managed to assign a bookmark to skip adds button on youtube? Is it possible with this addon?


Tony Malykh
 

Thanks for feedback. I guess writing documentation is not one of my strengths :) But let me try again. Here are the steps.

First you need to define website. Site is identified by URL address or its part. For example for YouTube you would want to match any url from youtube.com domain. Best way to achieve this would be to go to any YouTube video and then press NVDA+J > Websites > Create new website for domain www.youtube.com. Optionally (but recommendedd) is to give this website a legible name - tab to Display Name edit box and type something that you can easily recognize, e.g. "YouTube". Press OK.

2. Then go to paragraph you would like to bookmark. Press NVDA+J > Bookmarks > Create new bookmark from current paragraph for site Youtube. Dialog window will open.

3. For QuickJump bookmark just  click OK. If oy you would like to configure a different kind of bookmark - you need to configure it in this window - please refer to  documentation for this.

LMK if you have any other questions!

--Tony


On 1/3/2022 11:37 PM, Michael Micallef at FITA wrote:

Goodmorning,

 

I just download the nvda add-on called: BrowserNav v2.2 and installed but I didn’t manage to understand exactly how it works. I read the help file but I ffound it difficult to understand, I’m mostly interested in few steps how to create a bookmark on a website I understand this feature is similar to the one that jaws has to make web markers.

 

I sincerely appreciate if someone send me the steps how to create website bookmarks on website using the nvda.

 

Thanks,

Michael micallef

 

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William via groups.io
Sent: Tuesday, 04 January 2022 06:51
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Tony thanks for the amazing work, I need another year to learn about the new features:p

 

Rui Fontes 4/1/2022 8:16 寫道:

Hello!

 

I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...

 

I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...

 

Rui Fontes

 

Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Tony Malykh
 

Yes, it is possible, I just tried that and it seems to work. It's a little ttricky to configure since this button tends to disappear quickly.
On quirk is that sometimes this button is called:
Skip Ads
and sometimes
Skip Ad
So you would need to either create two separate bookmarks, or use regular expression in the pattern to capture both like:
^Skip Ads?$


On 1/4/2022 12:09 PM, mystragical@... wrote:
Anyone managed to assign a bookmark to skip adds button on youtube? Is it possible with this addon?


Rowen Cary
 

Hello,

Thanks Tony, your add-on is very useful to me, thank you for your great creation. For sound segmentation, is it possible to place the NVDA sound separately on the left or right channel without changing the multimedia sound? This is useful for enjoying stereo resources.

Thanks again


 

Well technically a website is basically a page of links and other data that has all the information you use.

So thats everything from a search engine to youtube or something, to a blog to even ftp sites if they are viewed in a brouser over https which a lot are.

There are other types so maybe you need to be spaciffic about what sub catigry of site you mean is probably.

Even a forum is a site.

A url is a shortcut really or a link though that can be confused.

Website is quite generic as a word though.

I forgot the actual deffinition but it was really for the place the information you wanted out was stored back in the day where it was just a server with it on.

With everything on the cloud well who knows.

The net is a really old beast now.



On 5/01/2022 10:24 am, Tony Malykh wrote:

Thanks for feedback. I guess writing documentation is not one of my strengths :) But let me try again. Here are the steps.

First you need to define website. Site is identified by URL address or its part. For example for YouTube you would want to match any url from youtube.com domain. Best way to achieve this would be to go to any YouTube video and then press NVDA+J > Websites > Create new website for domain www.youtube.com. Optionally (but recommendedd) is to give this website a legible name - tab to Display Name edit box and type something that you can easily recognize, e.g. "YouTube". Press OK.

2. Then go to paragraph you would like to bookmark. Press NVDA+J > Bookmarks > Create new bookmark from current paragraph for site Youtube. Dialog window will open.

3. For QuickJump bookmark just  click OK. If oy you would like to configure a different kind of bookmark - you need to configure it in this window - please refer to  documentation for this.

LMK if you have any other questions!

--Tony


On 1/3/2022 11:37 PM, Michael Micallef at FITA wrote:

Goodmorning,

 

I just download the nvda add-on called: BrowserNav v2.2 and installed but I didn’t manage to understand exactly how it works. I read the help file but I ffound it difficult to understand, I’m mostly interested in few steps how to create a bookmark on a website I understand this feature is similar to the one that jaws has to make web markers.

 

I sincerely appreciate if someone send me the steps how to create website bookmarks on website using the nvda.

 

Thanks,

Michael micallef

 

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William via groups.io
Sent: Tuesday, 04 January 2022 06:51
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Tony thanks for the amazing work, I need another year to learn about the new features:p

 

Rui Fontes 4/1/2022 8:16 寫道:

Hello!

 

I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...

 

I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...

 

Rui Fontes

 

Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Tony Malykh
 

In BrowserNav site refers to a way of telling which bookmarks belong where. For example, you might want to have a bookmark on a single specific URL, or on a whole domain, or on domain with all of its subdomains. Or you might want to have a fancy regular expression that defines the set of URLs where you wish to apply your bookmark. That set of all URLs is called "site" in BrowserNav. Maybe I shouldn't call this site to avoid confusion. Could you come up with a better name?

On 1/4/2022 3:47 PM, Shaun Everiss wrote:

Well technically a website is basically a page of links and other data that has all the information you use.

So thats everything from a search engine to youtube or something, to a blog to even ftp sites if they are viewed in a brouser over https which a lot are.

There are other types so maybe you need to be spaciffic about what sub catigry of site you mean is probably.

Even a forum is a site.

A url is a shortcut really or a link though that can be confused.

Website is quite generic as a word though.

I forgot the actual deffinition but it was really for the place the information you wanted out was stored back in the day where it was just a server with it on.

With everything on the cloud well who knows.

The net is a really old beast now.



On 5/01/2022 10:24 am, Tony Malykh wrote:

Thanks for feedback. I guess writing documentation is not one of my strengths :) But let me try again. Here are the steps.

First you need to define website. Site is identified by URL address or its part. For example for YouTube you would want to match any url from youtube.com domain. Best way to achieve this would be to go to any YouTube video and then press NVDA+J > Websites > Create new website for domain www.youtube.com. Optionally (but recommendedd) is to give this website a legible name - tab to Display Name edit box and type something that you can easily recognize, e.g. "YouTube". Press OK.

2. Then go to paragraph you would like to bookmark. Press NVDA+J > Bookmarks > Create new bookmark from current paragraph for site Youtube. Dialog window will open.

3. For QuickJump bookmark just  click OK. If oy you would like to configure a different kind of bookmark - you need to configure it in this window - please refer to  documentation for this.

LMK if you have any other questions!

--Tony


On 1/3/2022 11:37 PM, Michael Micallef at FITA wrote:

Goodmorning,

 

I just download the nvda add-on called: BrowserNav v2.2 and installed but I didn’t manage to understand exactly how it works. I read the help file but I ffound it difficult to understand, I’m mostly interested in few steps how to create a bookmark on a website I understand this feature is similar to the one that jaws has to make web markers.

 

I sincerely appreciate if someone send me the steps how to create website bookmarks on website using the nvda.

 

Thanks,

Michael micallef

 

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William via groups.io
Sent: Tuesday, 04 January 2022 06:51
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Tony thanks for the amazing work, I need another year to learn about the new features:p

 

Rui Fontes 4/1/2022 8:16 寫道:

Hello!

 

I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...

 

I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...

 

Rui Fontes

 

Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Tony Malykh
 

I think BrowserNav should work in Outlook, although I didn't test it thoroughly.

First you need to define a site. The problem here is that in browsers sites are deduced from URL, and there is no URL in Outlook. In fact when I try to query URL it returns an empty string. So we need to match an empty string. Somehow I made a condition that prohibits empty string. So a quick workaround would be to use regular expression. So you may enter:

URL:

^$

Match Type: Regex match of URL

This would match all pages with empty URL, such as all pages in Outlook.

Then for this site you can create bookmarks.

One bug that I just found while trying this is that when you define a bookmark, setting it to "exact paragraph match" doesn't appear to work. So you'd need to set it to "Substring paragraph match" or regular expression if you know how to use them. I should fix this in the next release.

HTH


On 1/4/2022 2:22 AM, William wrote:

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"


Thanks,

William



Tony Malykh 於 4/1/2022 7:07 寫道:
Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony



Michael Micallef at FITA
 

Dear tony

 

Thanks for the below explanation but one thing I’m not sure how to go about it and this is How to define a website? Do I need to performa particular command?

Thank you

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Shaun Everiss via groups.io
Sent: Wednesday, 05 January 2022 00:47
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Well technically a website is basically a page of links and other data that has all the information you use.

So thats everything from a search engine to youtube or something, to a blog to even ftp sites if they are viewed in a brouser over https which a lot are.

There are other types so maybe you need to be spaciffic about what sub catigry of site you mean is probably.

Even a forum is a site.

A url is a shortcut really or a link though that can be confused.

Website is quite generic as a word though.

I forgot the actual deffinition but it was really for the place the information you wanted out was stored back in the day where it was just a server with it on.

With everything on the cloud well who knows.

The net is a really old beast now.

 

 

On 5/01/2022 10:24 am, Tony Malykh wrote:

Thanks for feedback. I guess writing documentation is not one of my strengths :) But let me try again. Here are the steps.

First you need to define website. Site is identified by URL address or its part. For example for YouTube you would want to match any url from youtube.com domain. Best way to achieve this would be to go to any YouTube video and then press NVDA+J > Websites > Create new website for domain www.youtube.com. Optionally (but recommendedd) is to give this website a legible name - tab to Display Name edit box and type something that you can easily recognize, e.g. "YouTube". Press OK.

2. Then go to paragraph you would like to bookmark. Press NVDA+J > Bookmarks > Create new bookmark from current paragraph for site Youtube. Dialog window will open.

3. For QuickJump bookmark just  click OK. If oy you would like to configure a different kind of bookmark - you need to configure it in this window - please refer to  documentation for this.

LMK if you have any other questions!

--Tony

 

On 1/3/2022 11:37 PM, Michael Micallef at FITA wrote:

Goodmorning,

 

I just download the nvda add-on called: BrowserNav v2.2 and installed but I didn’t manage to understand exactly how it works. I read the help file but I ffound it difficult to understand, I’m mostly interested in few steps how to create a bookmark on a website I understand this feature is similar to the one that jaws has to make web markers.

 

I sincerely appreciate if someone send me the steps how to create website bookmarks on website using the nvda.

 

Thanks,

Michael micallef

 

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of William via groups.io
Sent: Tuesday, 04 January 2022 06:51
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's add-ons: updates and new features

 

CAUTION: This email originated from OUTSIDE the Government Email Infrastructure. DO NOT CLICK LINKS or OPEN attachments unless you recognise the sender and know the content is safe.

 

Tony thanks for the amazing work, I need another year to learn about the new features:p

 

Rui Fontes 4/1/2022 8:16 寫道:

Hello!

 

I can help managing your add-ons, except on the current translation method...

I haven't yet figured how to deal with it...

 

I can't promiss I will act immediatly in all times, but I will try to do it as soon as possible...

 

Rui Fontes

 

Às 23:07 de 03/01/2022, Tony Malykh escreveu:

Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       

 

Best regards

--Tony

 


Rui Fontes
 

In Mozilla Thunderbird, at least here, it works...


Rui Fontes


Às 01:58 de 05/01/2022, Tony Malykh escreveu:

I think BrowserNav should work in Outlook, although I didn't test it thoroughly.

First you need to define a site. The problem here is that in browsers sites are deduced from URL, and there is no URL in Outlook. In fact when I try to query URL it returns an empty string. So we need to match an empty string. Somehow I made a condition that prohibits empty string. So a quick workaround would be to use regular expression. So you may enter:

URL:

^$

Match Type: Regex match of URL

This would match all pages with empty URL, such as all pages in Outlook.

Then for this site you can create bookmarks.

One bug that I just found while trying this is that when you define a bookmark, setting it to "exact paragraph match" doesn't appear to work. So you'd need to set it to "Substring paragraph match" or regular expression if you know how to use them. I should fix this in the next release.

HTH


On 1/4/2022 2:22 AM, William wrote:

Hi Tony,

I have tried using the app on site like Youtube, I was able to generate a bookmark on the play pause button.

But I have came across a problem on outlook,

1. I open either email from the current folder

2. I jump to the content of the email by heading and move to the line "reply" and want to create a bookmark on that position

3. I press nvda j, down to bookmark and press right arrow, it only offer me one option "Create new bookmark from current paragraph for site All sites"


Thanks,

William



Tony Malykh 於 4/1/2022 7:07 寫道:
Happy new year, everyone!

I present new features and improvements to my add-ons. This is a pretty long email, so I marked sections as level 1 and level 2 headings for ease of navigation. Any feedback and suggestions are welcome!

BrowserNav v2.2

·       Website: https://github.com/mltony/nvda-browser-nav/

·       Download: https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon

The most exciting new feature is support of bookmarks. You can now configure bookmarks and this simplifies navigation around websites that you frequently use. Bookmarks can be configured either for a specific URL or for the entire domain. Bookmark itself can be configured either as matching text on the page, or a regular expression. There are many more options to customize bookmarks, please refer to github page for a full list of options.

There are four types of bookmarks in BrowserNav:

QuickJump bookmarks

Once they are configured, you can find and jump to them by pressing either J or Shift+J in browse mode. BrowserNav comes with default configuration that you can use as an example of configuring bookmarks, and that example includes some QuickJump bookmarks for amazon.com: you can jump to “5 items in cart”, “Your Orders”, “4.5 out of 5 stars” – these are just examples of information that I often need to find on Amazon pages while shopping, but you can of course configure your own bookmarks.

SkipClutter bookmarks

These are not really bookmarks, but rather you can configure BrowserNav to skip certain text while navigating either by paragraph (with Control+Up/Down) or by line (with Up/Down). Most common example of this is skipping blank lines – and this one is included in the default configuration. Other examples can include skipping timestamps or frequently repeated elements on the webpage (think of repeating buttons on Facebook website: Reply, React, Like, …). SkipClutter mode can be turned off temporarily when you do want to access those elements by pressing / or Control+/.

QuickClick bookmarks

These are similar to QuickJump bookmarks, but instead of jumping to bookmark, you can click buttons or links without moving your cursor. For example, on youtube.com you might want to have an easy way to play/pause video. In fact this QuickClick bookmark is included in the default configuration for reference. So, you just need to press Alt+J to click all QuickClick bookmarks on the page. Another example of where I find QuickClick especially useful is expanding collapsed elements of the page, e.g. on Facebook you might want to automatically expand links “See more”, “View 5 more comments”, etc.

Hierarchical bookmarks

Many websites (e.g., reddit, hacker news) show user comments as a tree where each successive level of reply is indented more and more to the right. Hierarchical bookmarks is the most convenient way to browse such comment trees for screenreader users. BrowserNav can announce the level of current comment, or alternatively, you can jump to next/previous comment of a given level, similar to built-in function of jumping to heading of given level. You just need to capture some element of a comment in a bookmark (such as upvote or downvote buttons) and BrowserNav will automatically compute levels based on horizontal offset of each match. I have included sample configuration for hacker news and old reddit. You can try it yourself once you have BrowserNav v2.2 installed:

·       Old reddit: https://old.reddit.com/r/sysadmin/comments/rt91z6/exchange_2019_antimalware_bad_update/

·       Hacker news: https://news.ycombinator.com/item?id=29756714

Keystrokes:

·       Alt+` or Alt+Shift+`: jump to next/previous comment and announce its level.

·       Alt+1 or Alt+Shift+1: jumpt to next/previous comment at level 1.

·       Alt+2 or Alt+Shift+2: jumpt to next/previous comment at level 2.

·       Alt+number or Alt+Shift+number: jumpt to next/previous comment at corresponding level.

Please note that in both reddit and hacker news the bookmark also matches the original post. As a result, on reddit original post corresponds to level 2, so all the comments have levels 1,3,4,5 …. Skipping level 2.

Configuring websites and bookmarks

Press NVDA+J to open BrowserNav popup menu. Here you can configure websites and bookmarks. For ease of use I added options to create a new entry for current website, and create a new bookmark from current paragraph.

All websites and bookmarks can also be configured via NVDA > Preferences > Settings dialog.

Website options

There are a few options that can be configured on per website level:

·       Block focus events: some websites misuse focus events: e.g. they focus some elements when trying to scroll, thus making the website hard or impossible to use for screenreader users. You can disable handling of focus events for such websites. In this case focus events will be ignored and your cursor will not jump around.

·       Block live region announcements. Similarly, some websites misuse live regions. BrowserNav allows to selectively block them.

·       Auto QuickClick. Once you configured QuickClick bookmarks on  a website, you can tell BrowserNav to click those bookmarks automatically when website is fully loaded.

Performance improvements

Vertical navigation (via NVDA+Alt+Up/Down commands) now works much faster in Chromium-based browsers and Firefox.

Recap of other BrowserNav functions

·       Vertical navigation: allows to find objects on a web page that are directly underneath by pressing NVDA+Alt+Down/Up.

·       Navigation by font size: allows to find text written in the same font size or font style.

·       More QuickNav commands: jump to next menu(Z), tab(Y), dialog(P), etc.

Notes

·       I am aware of Placemarkers add-on existence. BrowserNav bookmarks is however different in many ways: more flexible website definition, more flexible bookmark definition, more functionality around different types of bookmarks. I know NVDA community is typically wary of add-ons that are similar in functionality, but I didn’t have any intention to compete against PlaceMarkers. The function of regular expression search was in BrowserNav since many years ago and developing proper bookmarks was a natural extension of it. It would also be totally impractical for me to upgrade Placemarkers add-on, since the changes that I implemented would require rewriting probably 90% of Placemarkers, so this is not justified.

·       I can split off bookmarks into a separate add-on if there is enough interest. As long as community doesn’t mind given concerns of being too similar to Placemarks add-on.

Tony’s Enhancements v1.13

·       Website: https://github.com/mltony/nvda-tonys-enhancements

·       Download: https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon

This add-on is a hodgepodge of different NVDA improvements and this time I added a few interesting ones.

Sound split

Triggered by pressing NVDA+Alt+S you can enable sound split: when using stereo headphones this would make all NVDA sounds to go to right channel, while all application sounds will go to left channel (or vice versa). This could be handy if you have to attend long and boring meetings over VC. Additionally you can adjust NVDA volume and applications volume separately via NVDA+Control+PageUp/PageDown and NVDA+Alt+PageUp/PageDown keystrokes.

Copying tables

Many people on NVDA mailing list complained that there was no good way in NVDA to copy a table from a webpage. Now there is a way! Press NVDA+Alt+T while on a table and you’ll be presented with a few options: you can either copy the whole table, or current row or column. The table will be copied with preserving formatting information about its cells, so that you can paste it into Microsoft Word or any other rich text editor, and it will still appear as a table.

Experimental mouse click and mouse scroll scripts

I noticed that existing NVDA mouse click scripts don’t always work. In particular I found cases when NVDA+NumPadDivide keystroke doesn’t bring mouse cursor over the link that I would like to click. These scripts are my attempt to solve this. The feature is experimental, in the sense that there are still cases where it doesn’t work as expected. Yet it already can be very useful in some cases, so I decided to still include it in the release. Keystrokes:

·       NVDA+NumPadDivide/NumPadMultiply: moves mouse pointer to current object, clicks left/right mouse button, then moves mouse pointer back to where it was. Additionally it tries to check if there are any other windows on the way (e.g. topmost windows) and tries to get them out of the way.

·       Alt+NumPadPlus/NumPadMinus: Move mouse pointer over current object and scroll up/down. This can be useful to load more content in infinite scroll websites.

·       Alt+NumPadDelete: move mouse pointer to top left corner of the screen. This can be useful for websites that make excessive use of mouse hover information to show popup windows.

Recap of other functions of Tony’s enhancements

·       Enhanced table navigation commands, such as jump to first/last row/column.

·       Automatic language switching based on Unicode character set.

·       QuickSearch – similar to BrowserNav QuickJump bookmark, but works in text editors.

·       Dynamic keystrokes: allows to configure announcing current line after certain keystrokes.

·       Showing and hiding any application windows.

·       Detecting insert/overwrite mode in text editors to prevent accidentally overwriting text.

·       Adjusting system priority of NVDA process for better responsiveness.

Bluetooth Audio v1.4

·       Website: https://github.com/mltony/nvda-bluetooth-audio

·       Download: https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon

Bluetooth audio fixes quality of audio by playing either silence or soft white noise as long as NVDA is active. Many Bluetooth headphones and speakers enter standby mode after a few seconds of inactivity. Then when NVDA speaks next utterance, the first word or two might be lost. Bluetooth Audio prevents these devices from entering standby mode by keeping audio stream open and constantly playing some sound. In fact, Bluetooth audio has been reported to improve audio quality on other types of audio devices: RF wireless headphones and even some wired speakers. It can also get rid of crackling noise on some devices.

The previous version of Bluetooth Audio could only play silence. As a result, it was hard to tell whether it is working or not. In fact, it seems that it wasn’t working, or at least not always working – one of NVDA updates in 2020 seems to have broken it, and even I didn’t catch it. To avoid this in the future I added an option to play soft white noise instead of silence, so that you can hear when Bluetooth audio is working. Another feature I added is dynamically changing output device when NVDA configuration changes – previously that required a restart.

IndentNav v1.13

·       Website: https://github.com/mltony/nvda-indent-nav/

·       Download: https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon

IndentNav is primarily designed for software developers, and it allows better navigation around indented source code files in text editors. This new version works much faster, especially in VSCode. Here are some keystrokes to try (please read github page for a complete list):

·       NVDA+Alt+Up/Down: jump to next/previous line with the same indentation level within current block.

·       NVDA+Alt+Left/Right: jump to parent/first child line, where parent and child are defined as line with lesser/greater indentation level.

·       NVDA+Control+I: select current block (e.g. function).

·       NVDA+V: indent-paste, that is paste with adjusting indentation level of clipboard content to match current line.

Phonetic punctuation v1.6

·       Website: https://github.com/mltony/nvda-phonetic-punctuation/

·       Download: https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon

Phonetic punctuation allows to replace punctuation marks with auditory icons (earcons). In general, it allows to replace any regular expression configured substring with an auditory icon, which can be great for getting rid of timestamps and other frequently repeated fragments. It also allows to change prosody parameters for parts of speech, but only a few synthesizers support this. This new version allows to adjust volume of each individual auditory icon and has several bugfixes.

WordNav v1.7

·       Website: https://github.com/mltony/nvda-word-nav/

·       Download: https://github.com/mltony/nvda-word-nav/releases/latest/download/wordNav.nvda-addon

WordNav provides more advanced scripts to navigate by word. It replaces built in Control+Left/Right keystrokes with custom scripts. It makes behavior of these keystrokes consistent across all applications and adds multiple options on its behavior.

In this last version I spent quite some time to work around Google Chrome bug in its IAccessible implementation, but in the end I made it to work correctly in Chrome.

SentenceNav v2.12

·       Website: https://github.com/mltony/nvda-sentence-nav/

·       Download: https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon

SentenceNav allows to navigate by sentence via Alt+Up/Down keystrokes. This new version includes some bugfixes.

TextNav v1.6

·       Website: https://github.com/mltony/nvda-text-nav/

·       Download: https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon

TextNav allows you to find the beginning of article, that is readable text written in complete sentences, on any webpage. You can automatically skip most of the clutter, such as menus, images, metadata and ads on webpages. Works by pressing Alt+Shift+Down/Up keys. This latest version only updates compatibility flag.

Console toolkit v1.2

·       Website: https://github.com/mltony/nvda-console-toolkit/

·       Download: https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon

This add-on provides some additional features for console application, such as Windows command prompt and Windows Terminal. This new version adds better support for Putty. Here are some features:

·       Control+V can now be used for pasting.

·       Speech becomes more real-time in a console that actively prints new messages.

·       You can edit current command by pressing NVDA+e in an accessible window.

Notes

·       Versions have not been updated on the official NVDA add-ons website yet. I sent a pull request, and it is subject to approval by NVAccess. Until then, feel free to download latest versions using links I provided above.

·       All the add-ons were tested with NVDA alpha build 24399. Some compatibility issues have been fixed, however, it is still possible that something will change and compatibility will break again by the time NVDA 2022 is released. The author however has very limited time to work on add-ons, in fact the only time of year when I have time to maintain my add-ons is the winter break around Christmas and New Year. So, I release my add-ons as is. I might try to find some time to fix compatibility mid-year, but I cannot commit to it. Which brings me to my second point:

·       Volunteers needed. I currently have 9 add-ons and they require some maintenance and as my life gets more and more busy every year, I am struggling to find time for that, while users ask for compatibility, translations, etc. I don’t want to let my users down. So, I’m looking for someone who is familiar with add-on development process to help me with that. Please contact me off-list if you’re interested. Typical maintenance tasks are: dealing with compatibility flags and releases, dealing with translations, optionally fixing bugs.

·       


Best regards

--Tony