Tony's addons - updates


Tony Malykh
 

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony



CARLOS-ESTEBAN <carlosestebanpianista@...>
 

Hello.

Thanks, Toni!

Your addons are very good.

Regards.

 

 

Enviado desde Correo para Windows 10

 

De: Tony Malykh
Enviado: lunes, 25 de mayo de 2020 16:17
Para: nvda@nvda.groups.io
Asunto: [nvda] Tony's addons - updates

 

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony

 

 


David Moore
 

Thanks so very much Toni! I am blown away by all of these add-ons! I love what you did by putting the crackling sound to tell us how far down the page headings are down the page. I really like Text nav to move right to the text on the web page. You have made my life easier!
David Moore


On Mon, May 25, 2020, 5:17 PM Tony Malykh <anton.malykh@...> wrote:

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony



Kenny <kwashingtonbox@...>
 

Tony’, let me say your work on these excellent add-ons is very much appreciated.


I really love this Phonetic punctuation add-on· Like knowing when text is wrapped within parenthesis or brackets, but didn't want to keep hearing NVDA saying the word left paren, right paren etc. Now with your cool add-on there's a nice audio cue that plays whenever these punctuation marks are encountered. Allows me to really visualize the layout of a document being read by NVDA.


Nice job on the auditory icons Kara. Really love them!


Going to spend some time learning the others. The Browser add-on can be quite useful for me when accessing frequently visited pages.


Keep up the GREAT work Tony, your add-ons are making an already great screen reader in NVDA even more flexible.

On 5/25/2020 5:17 PM, Tony Malykh wrote:
Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.


   Phonetic punctuation

·Github page <https://github.com/mltony/nvda-phonetic-punctuation/>

·Short audio demo <https://soundcloud.com/user-977282820/nvda-phonetic-punctuation-demo>

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

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!


   BrowserNav

·Github page <https://github.com/mltony/nvda-browser-nav/>

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

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.


     Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.


     Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.


     Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.


     Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.


   Tony’s enhancements

·Github page <https://github.com/mltony/nvda-tonys-enhancements/>

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

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.


     NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.


     Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.


     Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10^th row or column, please check add-on documentation for these shortcuts.


     Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.


     Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.


     Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.


     Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc


     Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.


     Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.


     Fixing a bug when focus gets stuck in the taskbar when pressing
     Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.


   TextNav

·Github page <https://github.com/mltony/nvda-text-nav/>

·Audio demo <https://soundcloud.com/user-977282820/textnav-promo>

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

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.


   SentenceNav

·Github page <https://github.com/mltony/nvda-sentence-nav>

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

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.


   IndentNav

·Github page <https://github.com/mltony/nvda-indent-nav/>

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

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.


   Bluetooth Audio

·Github page <https://github.com/mltony/nvda-bluetooth-audio/>

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

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.


   AudioChart

·Github page <https://github.com/mltony/nvda-audio-chart/>

·Download latest version <https://github.com/mltony/nvda-audio-chart/releases/latest/download/audioChart.nvda-addon>

AudioChart allows you to sonify time series in Microsoft Excel.

Thanks for reading this! Let me know what you think about these new features!

--Tony





Mary Otten
 

Hi Tony,
This is a whole lot of work that you have done. I wonder why your add-ons are not available on the NVDA community site. That way they could be automatically updated with an app. Why do you have us going to a separate site to get these?
Mary



On May 25, 2020, at 2:17 PM, Tony Malykh <anton.malykh@...> wrote:



Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony



Ângelo Abrantes
 

HI,


Your work is interesting.
and what about the translations?
the "tonysEnhancements" add-on is not ready to be translated. What do you intend to do about it?

Thanks
Ângelo Abrantes

Às 22:17 de 25-05-2020, Tony Malykh escreveu:

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony


-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA

Sem vírus. www.avast.com


Tony Malykh
 

Hi Mary,

I know that's inconvenient, but I don't have access to edit that site. I got a word that NVAccess is working on add-on store in NVDA - hopefully when they release it add-on authors would have permissions to update their add-ons in the system.

--Tony

On 5/25/2020 8:09 PM, Mary Otten wrote:

Hi Tony,
This is a whole lot of work that you have done. I wonder why your add-ons are not available on the NVDA community site. That way they could be automatically updated with an app. Why do you have us going to a separate site to get these?
Mary



On May 25, 2020, at 2:17 PM, Tony Malykh <anton.malykh@...> wrote:



Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony



Tony Malykh
 

It can be added to the translation system, or I can accept a pull request with translations. I've heard that as of yet translation system doesn't accept new add-ons to be added, isn't this the case?

--Tony


On 5/26/2020 4:28 AM, Ângelo Abrantes wrote:

HI,


Your work is interesting.
and what about the translations?
the "tonysEnhancements" add-on is not ready to be translated. What do you intend to do about it?

Thanks
Ângelo Abrantes

Às 22:17 de 25-05-2020, Tony Malykh escreveu:

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony


-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA

Sem vírus. www.avast.com


Ângelo Abrantes
 

Hi,


The problem is that the "tonysEnhancements" add-on is not prepared to be translated, and so, I can't translate it to portuguese! .

Thank you very much.

Às 15:11 de 26-05-2020, Tony Malykh escreveu:

It can be added to the translation system, or I can accept a pull request with translations. I've heard that as of yet translation system doesn't accept new add-ons to be added, isn't this the case?

--Tony


On 5/26/2020 4:28 AM, Ângelo Abrantes wrote:

HI,


Your work is interesting.
and what about the translations?
the "tonysEnhancements" add-on is not ready to be translated. What do you intend to do about it?

Thanks
Ângelo Abrantes

Às 22:17 de 25-05-2020, Tony Malykh escreveu:

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.

Phonetic punctuation

·       Github page  

·       Short audio demo  

·       Download latest version

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!

BrowserNav

·       Github page

·       Download latest version

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.

Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.

Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.

Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential   bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.

Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.

Tony’s enhancements

·       Github page

·       Download latest version

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.

NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.

Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.

Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10th row or column, please check add-on documentation for these shortcuts.

Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.

Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.

Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.

Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc

Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.

Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.

Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.

TextNav

·       Github page

·       Audio demo

·       Download latest version

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.

SentenceNav

·       Github page

·       Download latest version

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.

IndentNav

·       Github page

·       Download latest version

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.

Bluetooth Audio

·       Github page

·       Download latest version

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.

AudioChart

·       Github page

·       Download latest version

AudioChart allows you to sonify time series in Microsoft Excel.

 

Thanks for reading this! Let me know what you think about these new features!

--Tony


-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA

Sem vírus. www.avast.com
-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA


Kenny <kwashingtonbox@...>
 

WOW! This Browser marks  feature is powerful. I created a very simple Regex statement to locate the text string:

(^Sign?out$|^Log?out$)


Now I'm able to use the letter [j] (In Browse mode) to quickly locate the Sign-out/Log out link on web pages (Banking, Utility, Shopping etc.) No more using the cumbersome "Find" facility to do this.


I hope you're able to add even more flexibility to this Browser Marks option. Maybe allow each Regex statement to be placed in a list box simply by filling in the edit field and pressing a [Add] button. Then if you change your mind about one statement, you could simply hit the [Delete] button to remove it.


Realize you don't want to create too many of these (For the Browser marks work on every single web page) but think such an addition would make this option even better.

On 5/25/2020 5:17 PM, Tony Malykh wrote:
Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.


   Phonetic punctuation

·Github page <https://github.com/mltony/nvda-phonetic-punctuation/>

·Short audio demo <https://soundcloud.com/user-977282820/nvda-phonetic-punctuation-demo>

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

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!


   BrowserNav

·Github page <https://github.com/mltony/nvda-browser-nav/>

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

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.


     Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.


     Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.


     Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.


     Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.


   Tony’s enhancements

·Github page <https://github.com/mltony/nvda-tonys-enhancements/>

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

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.


     NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.


     Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.


     Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10^th row or column, please check add-on documentation for these shortcuts.


     Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.


     Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.


     Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.


     Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc


     Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.


     Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.


     Fixing a bug when focus gets stuck in the taskbar when pressing
     Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.


   TextNav

·Github page <https://github.com/mltony/nvda-text-nav/>

·Audio demo <https://soundcloud.com/user-977282820/textnav-promo>

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

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.


   SentenceNav

·Github page <https://github.com/mltony/nvda-sentence-nav>

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

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.


   IndentNav

·Github page <https://github.com/mltony/nvda-indent-nav/>

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

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.


   Bluetooth Audio

·Github page <https://github.com/mltony/nvda-bluetooth-audio/>

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

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.


   AudioChart

·Github page <https://github.com/mltony/nvda-audio-chart/>

·Download latest version <https://github.com/mltony/nvda-audio-chart/releases/latest/download/audioChart.nvda-addon>

AudioChart allows you to sonify time series in Microsoft Excel.

Thanks for reading this! Let me know what you think about these new features!

--Tony





Kenny <kwashingtonbox@...>
 

Tony, how can I reach you off-list?


I'm having problems using the /i ignore case Regex switch. Also noticing some odd behavior when trying to match text contained within a link compared to static.


Tried several RegEx statements to match:

"Log Out of My Account"


Nothing seems to work. The text being referenced is found within a link. The /i (Ignore case) switch doesn't seem to work. Also using something like ".*" doesn't seem to match everything in between "Log Out" and "account". Works for static text, not text within a link.


Want to make the RegEx statement match anything related to logging out of account, so most links for logging out of an account would simply have "Sign out" or Log out" but others may have "Click here to Sign out" or "Log out of account".


This is why I suggested incorporating the ability to add Book marks statements individually to a list box. Then I would simply enter:

Log Out of My Account


Hit the [add[ button then be done with it. Wouldn't need any Regex matching at all.


Don't want to flood the list with a bunch of Regex talk for it may get the monitors upset.


You can reach me privately at kwashingtonbox@....


Thanks again for creating such a nice add-on.

On 5/25/2020 5:17 PM, Tony Malykh wrote:
Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.


   Phonetic punctuation

·Github page <https://github.com/mltony/nvda-phonetic-punctuation/>

·Short audio demo <https://soundcloud.com/user-977282820/nvda-phonetic-punctuation-demo>

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

This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!


   BrowserNav

·Github page <https://github.com/mltony/nvda-browser-nav/>

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

BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.


     Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.


     Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.


     Browser marks

Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.


     Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.


   Tony’s enhancements

·Github page <https://github.com/mltony/nvda-tonys-enhancements/>

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

This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.


     NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and speech.


     Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.


     Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10^th row or column, please check add-on documentation for these shortcuts.


     Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in NVDA.


     Real-time console output

If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.


     Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.


     Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc


     Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.


     Insert mode detector

As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.


     Fixing a bug when focus gets stuck in the taskbar when pressing
     Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.


   TextNav

·Github page <https://github.com/mltony/nvda-text-nav/>

·Audio demo <https://soundcloud.com/user-977282820/textnav-promo>

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

TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.


   SentenceNav

·Github page <https://github.com/mltony/nvda-sentence-nav>

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

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.


   IndentNav

·Github page <https://github.com/mltony/nvda-indent-nav/>

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

This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.


   Bluetooth Audio

·Github page <https://github.com/mltony/nvda-bluetooth-audio/>

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

Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.


   AudioChart

·Github page <https://github.com/mltony/nvda-audio-chart/>

·Download latest version <https://github.com/mltony/nvda-audio-chart/releases/latest/download/audioChart.nvda-addon>

AudioChart allows you to sonify time series in Microsoft Excel.

Thanks for reading this! Let me know what you think about these new features!

--Tony





Mohammadreza Rashad
 

Hello dear Tony,
Thanks for your interesting and useful add-ons.
Would you please add the possibility to move directly to a column or
row beyond 10 in table navigation commands for Tony's Enhancement
add-on; e.g., by implementing a script to switch the existing commands
move the cursor to 11th-20th, 21th-30th, etc. columns/rows? this
feature maybe useful and handy for large tables.
Of corse I'm not a programmer and this is just a suggestion that may
improve your add-on.
And I hope my comment is understandable, because English isn't my mother tongue.
Thanks in advance,

--
Best wishes,
Mohammadreza Rashad


 

On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each and every message is a link, Reply to Sender.  Activating it should open a message in your e-mail/webmail client already addressed to the sender of said message, with "Re:" plus the title of the topic pre-populated as the subject which you can, of course, change.

If you have any message that originated from Tony you can use it, via the Reply to Sender link, to reach him off-list.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


 

On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Don't want to flood the list with a bunch of Regex talk for it may get the monitors upset.
And it would, at least on the main group.  Tony is already a member of the NVDA Chat Subgroup, and such a topic would be perfectly appropriate there.
-----------------------
NVDA Chat Subgroup Addresses
 
To join:  chat+subscribe@nvda.groups.io
 
To unsubscribe:  chat+unsubscribe@nvda.groups.io
 
To receive a message containing the group description, and a list of these commands:  chat+help@nvda.groups.io
 
To stop receiving messages via email (you may still read messages on the Web):  chat+nomail@nvda.groups.io
This can also be used to put a vacation stop on group messages, then use one of the addresses below to resume delivery in the format of your choice.
 
To receive each group messages individually:  chat+single@nvda.groups.io
This is the default delivery unless you send a message to one of the addresses that follows.
 
To receive group messages in an HTML formatted digest:  chat+fulldigest@nvda.groups.io
 
To receive group messages in a plain text digest:  chat+digest@nvda.groups.io
 
To receive a daily summary instead of individual messages:  chat+summary@nvda.groups.io
 
To receive only special messages:  chat+special@nvda.groups.io
  
To contact the group owner(s):  chat+owner@nvda.groups.io
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


Kenny <kwashingtonbox@...>
 

LOL! Forgot I changed my Thunderbird settings for View/Message Body As... to "Plain Text" and those "Reply" links weren't being displayed. Once I changed the setting back to"Original Html" the links you mentioned re-appeared.


Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?


Just a suggestion.


Thanks for clearing things up. I'll contact Tony off-line.


On 5/26/2020 12:14 PM, Brian      wrote:

On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each and every message is a link, Reply to Sender.  Activating it should open a message in your e-mail/webmail client already addressed to the sender of said message, with "Re:" plus the title of the topic pre-populated as the subject which you can, of course, change.

If you have any message that originated from Tony you can use it, via the Reply to Sender link, to reach him off-list.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


 

On Tue, May 26, 2020 at 12:52 PM, Kenny wrote:
Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?
That's not under our control, and it's one of the reasons I beg people not to force convert messages to plain text.  In this day and age, virtually all e-mail comes out in HTML format, and you strip out massive amounts of content when you force plain text.  Given that every screen reader has no issue with dealing with HTML, whether in web pages or email messages, there is really no good reason for doing a force convert on all messages.  You can always force convert a problematic message if you receive one.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


Gene
 

It is better to read mail as simple HTML.  You will see all HTML controls such as links and the message will be formatted as the sender desired.  You can use browse mode to search the message or any of the quick navigation keys can be used.  But no code can run that is in the HTML.  Formatting is the only thing permitted to be done.  You are thus safe from any possible malicious code and you can work with the message just as you would reading it as HTmL.
 
This is a Thunderbird feature. 
 
Gene
----- Original Message -----

From: Kenny
Sent: Tuesday, May 26, 2020 11:52 AM
Subject: Re: [nvda] Tony's addons - updates

LOL! Forgot I changed my Thunderbird settings for View/Message Body As... to "Plain Text" and those "Reply" links weren't being displayed. Once I changed the setting back to"Original Html" the links you mentioned re-appeared.


Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?


Just a suggestion.


Thanks for clearing things up. I'll contact Tony off-line.


On 5/26/2020 12:14 PM, Brian      wrote:
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each and every message is a link, Reply to Sender.  Activating it should open a message in your e-mail/webmail client already addressed to the sender of said message, with "Re:" plus the title of the topic pre-populated as the subject which you can, of course, change.

If you have any message that originated from Tony you can use it, via the Reply to Sender link, to reach him off-list.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


Kenny <kwashingtonbox@...>
 

Gene I had problem with a promotional email that was showing up as blank in Thunderbird. Had to switch view message body as text to review the content. Forgot to switch it back.


On 5/26/2020 1:39 PM, Gene wrote:

It is better to read mail as simple HTML.  You will see all HTML controls such as links and the message will be formatted as the sender desired.  You can use browse mode to search the message or any of the quick navigation keys can be used.  But no code can run that is in the HTML.  Formatting is the only thing permitted to be done.  You are thus safe from any possible malicious code and you can work with the message just as you would reading it as HTmL.
 
This is a Thunderbird feature. 
 
Gene
----- Original Message -----
From: Kenny
Sent: Tuesday, May 26, 2020 11:52 AM
Subject: Re: [nvda] Tony's addons - updates

LOL! Forgot I changed my Thunderbird settings for View/Message Body As... to "Plain Text" and those "Reply" links weren't being displayed. Once I changed the setting back to"Original Html" the links you mentioned re-appeared.


Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?


Just a suggestion.


Thanks for clearing things up. I'll contact Tony off-line.


On 5/26/2020 12:14 PM, Brian      wrote:
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each and every message is a link, Reply to Sender.  Activating it should open a message in your e-mail/webmail client already addressed to the sender of said message, with "Re:" plus the title of the topic pre-populated as the subject which you can, of course, change.

If you have any message that originated from Tony you can use it, via the Reply to Sender link, to reach him off-list.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


Kenny <kwashingtonbox@...>
 

I do realize that. Sometimes I receive emails in Thunderbird that NVDA sees nothing in the message body. Have to switch the message body view to text. Then NVDA is able to see the contents. Not sure why that is, but I do encounter that odd behavior every once in a while.


SlickDeal.com sometimes send out mailing summarizing the past few days deals. NVDA doesn't see anything in those messages for some weird reason when the  Thunderbird setting for view message body is Html.


On 5/26/2020 12:56 PM, Brian Vogel wrote:

On Tue, May 26, 2020 at 12:52 PM, Kenny wrote:
Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?
That's not under our control, and it's one of the reasons I beg people not to force convert messages to plain text.  In this day and age, virtually all e-mail comes out in HTML format, and you strip out massive amounts of content when you force plain text.  Given that every screen reader has no issue with dealing with HTML, whether in web pages or email messages, there is really no good reason for doing a force convert on all messages.  You can always force convert a problematic message if you receive one.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363  

Science has become just another voice in the room; it has lost its platform.  Now, you simply declare your own truth.

      ~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019

 

 


蔡宗豪 Victor Cai
 

Hi Tony,
Thank you for your great work, bringing lots of feature to live

the feature "automatic language switching based on character set" is
very useful.

It would be better if we could consider to allow user to adjust the
speed of latin language separately. (E.G. speed 35 for non-Latin,
speed 15 for latin English.)

Thank you again for all of your contributions.

Regards,
Victor










2020-05-26 5:17 GMT+08:00, Tony Malykh <anton.malykh@...>:

Hello NVDA community,

I have implemented a lot of new features in my add-ons since my last
announcement here more than a year ago, so I would like to share all
these new features – hopefully you guys will find some of them useful. I
present my new add-ons: Phonetic punctuation and Tony’s enhancements, as
well as I added many new features to BrowserNav. In the end of this
email I also mention my other add-ons, just in case someone hasn’t heard
of them, they have only been updated with bugfixes. This is a pretty
long email, so I structured it with headings.

Please download latest versions of my add-ons directly from their
respective github pages – the links are provided in this email.


Phonetic punctuation

·Github page <https://github.com/mltony/nvda-phonetic-punctuation/>

·Short audio demo
<https://soundcloud.com/user-977282820/nvda-phonetic-punctuation-demo>

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

This add-on allows you to substitute punctuation marks, and any other
part of speech configured by a regular expression with an auditory icon
(custom sound). Most common use of phonetic punctuation would be for
writing code, where it is essential to know all the punctuation marks,
but other uses can include: replacing the word “blank” with a sound,
replacing timestamps or other frequently repeated text with a sound,
etc. Configuring phonetic punctuation requires knowledge of regular
expressions.

Thanks to Kara Goldfinch for contributing auditory icons for some
punctuation marks!


BrowserNav

·Github page <https://github.com/mltony/nvda-browser-nav/>

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

BrowserNav is a collection of improvements to user experience in
browsers. I added quite a few new features to it since last release.


Horizontal indentation using tones

You can configure BrowserNav to express horizontal indentation of a
currently focused element using tone – similar to a built in NVDA
feature of reporting indentation with tones in text documents. This
allows you to better understand the layout of the page. For example, it
allows you to hear malformed HTML tables, that is when NVDA doesn’t see
a table as a real table, yet the elements are still aligned in a tabular
fashion on the screen. It also greatly simplifies browsing hierarchical
trees of comments on websites such as reddit, facebook, hacker news –
now the tone would indicate the level of the comment.

Please note that there are also commands to find next/previous element
with the same horizontal indentation, which you might find handy.


Crackling for QuickNav commands

In all my add-ons crackling is an indicator of how far we have just
jumped in the document when some navigational keystroke is pressed. I
implemented this feature for built-in NVDA QuickNav commands as well.
Now when you press H for next heading, you can hear crackling, and
judging by the length of such crackling you can quickly and intuitively
figure out whether the next heading was close by or you just jumped over
a lot of text.


Browser marks

Think of this feature as regular expression enabled bookmarks for
browser. You can configure a single regular expression, that can be
arbitrary largeand include all the potential bookmarks on all your
webpages, and then you can quickly jump to next/previous browser mark
using J or Shift+J commands in browse mode. For example, as a frequent
Amazon shopper, I like to be able to quickly jump to things like “5
items in cart” and “your orders”. So I have configured my browser mark
regular expression to be:

(^\d+ items? in cart$|^Your orders$)

Please note that the regular expression must match the whole paragraph
exactly, hence be careful with ^ and $ regular expression qualifiers.
Please also note that this regular expression will apply to all web
pages and all browsers, so be as specific as possible.


Accessibility for semi-accessible edit boxes

Many web pages these days are using a fancy HTML text edit component
called Monaco – it provides syntax highlighting for sighted people, but
it has one major flaw: it is not accessible, that is the edit box
appears empty. For example Jupyter and hacker rank use such a text
editor among others. You can still retrieve the contents of the edit box
by pressing Control+A Control+C and then pasting it to the editor of
your choice. However, repeating this every time is tedious, therefore I
automated this process. Now you can navigate to said edit box and simply
press NVDA+e to view or edit it.


Tony’s enhancements

·Github page <https://github.com/mltony/nvda-tonys-enhancements/>

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

This is a hodgepodge of small improvements to various parts of NVDA, not
logically connected in any way. All the options are disabled by default
and need to be enabled manually in the preferences window.


NVDA volume

Allows to adjust the volume of all the NVDA sounds, including beeps and
speech.


Automatic language switching

Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc.
There is no reason why NVDA wouldn’t be able to automatically switch
synthesizer language between English and those foreign languages. Now I
bring this feature to live. Automatically switching between two
Latin-based languages is not supported at this time. Please note that
your synthesizer must support all these languages for this feature to be
effective.


Enhanced table navigation commands

I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to
first or last row or column. I also added keystrokes to jump to 1..10^th
row or column, please check add-on documentation for these shortcuts.


Enhanced move by word commands

Most text editors support Control+LeftArrow/RightArrow commands for word
navigation. However the definition of the word changes from one program
to another. This is especially true of modern web-based text editors,
such as Monaco. NVDA should know the definition of word in given program
in order to speak words correctly. If NVDA doesn't know the exact
definition, then either words are going to be skipped, or pronounced
multiple times. Moreover, some web-based text editors position the
cursor in the end of the word, instead of the beginning, making editing
much harder for visually impaired users. In order to combat this problem
I have created enhanced word navigation commands, that take the word
definition from Notepad++ and they do not rely on program's definition
of words, but rather parse lines into words on NVDA's side. The
Control+LeftArrow/RightArrow gesture is not even sent to the program,
thus ensuring the consistency of the speech.

This option overrides default Control+LeftArrow/RightArrow commands in
NVDA.


Real-time console output

If you work with command line applications that print out a lot of logs,
it might be not the best behavior for NVDA to read out all these logs
line by line, since NVDA can be speaking much slower than those lines
are being printed, thus NVDA might be speaking some lines that were
printed a minute ago. I modified the way NVDA speaks command line output
to be more realtime. The basic logic is like this: if a new line appears
on the screen and NVDA is currently speaking something that was shown on
the screen more than a second ago, then we interrupt current utterance
and speak the most recent line. Speaking output this way better
represents what’s going on in command line window in real time. There is
also an option to beep on every update in command line.


Dynamic keystrokes

I call a keystroke dynamic if it changes the state of an application.
Often times we’d want NVDA to speak the updated change automatically,
but NVDA does nothing for keystrokes that it’s not aware of. An example
of such a keystroke would be F2 in Notepad++ that jumps to the next
bookmark – you would want NVDA to speak the current line automatically.
Many other editors have such keystrokes as well. Now you can configure
the list of keystrokes and NVDA will automatically speak current line
after them. Please check github page for more information.


Suppressing unwanted “unselected” messages

If certain text is selected in a text editor, and in the next moment no
longer selected, NVDA would say “unselected” and then the original text
that was selected. In certain situations this is not a desirable
behavior. For example if you have some text selected, and then you press
Control+Home, to go to the very beginning of the document, NVDA would
first speak the first line of the document, then “unselected”, then the
original selection. I felt this was annoying, so I found a way to
suppress this message, while still keeping the “unselected” message when
you indeed unselect your selection by character, or word, etc


Preventing double insert keystroke

If you press insert key twice accidentally, it would trigger insert mode
in your application. Since Insert is a special key in NVDA, this
behavior cannot be disabled using input gestures dialog in NVDA, yet
this was happening too often to me, so I wrote a function to disable
double insert key backstroke. If you still would like to toggle insert
mode, you can do so by pressing NVDA+F2, and then insert key.


Insert mode detector

As another layer of defense against accidental insert mode I implemented
this feature. It monitors current line of text and looks at how it
changes when you type alphanumeric keys. If it seems like characters are
being overwritten, it will beep on every character. Similar to built-in
caps lock on warning beep.


Fixing a bug when focus gets stuck in the taskbar when pressing
Windows+Numbers

There is a bug in Windows 10, and possibly in other versions. When
switching between applications using Windows+number shortcut sometimes
the focus gets stuck in the taskbar area instead of jumping to the
window being switched to. So I implemented a workaround. The add-on
detects this situation and plays a short low-pitch beep when this
situation is detected, then the add-on fixes it automatically by
bringing focus to the desired application.


TextNav

·Github page <https://github.com/mltony/nvda-text-nav/>

·Audio demo <https://soundcloud.com/user-977282820/textnav-promo>

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

TextNav allows you to quickly find the beginning of article on a web
page, and also skip over junk HTML elements, such as menus, images, ads,
etc.


SentenceNav

·Github page <https://github.com/mltony/nvda-sentence-nav>

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

Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as
opposed to by word, character or line.


IndentNav

·Github page <https://github.com/mltony/nvda-indent-nav/>

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

This add-on improves navigation around source code files for programming
by allowing to find lines with the same/greater/smaller indentation
level. But it also can be used for structured text files, where
structure is expressed by the indentation level.


Bluetooth Audio

·Github page <https://github.com/mltony/nvda-bluetooth-audio/>

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

Improves sound quality for those who use NVDA with Bluetooth or other
wireless audio devices by constantly playing silent sound.


AudioChart

·Github page <https://github.com/mltony/nvda-audio-chart/>

·Download latest version
<https://github.com/mltony/nvda-audio-chart/releases/latest/download/audioChart.nvda-addon>

AudioChart allows you to sonify time series in Microsoft Excel.

Thanks for reading this! Let me know what you think about these new
features!

--Tony