Topics

Tony's addons - updates


William Wong
 

Hi,

Thanks for the list of addons.

Regarding "tonysEnhancements"

how to edit Edit language map

for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

Thanks.


 

On Wed, May 27, 2020 at 06:21 AM, William Wong wrote:
for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

I don't use this specific add-on, but Tony and many add-on developers have been producing documentation for these add-ons that covers this sort of thing.

If you don't have the Add-Ons Documentation Add-on you may want to consider installing it.  You can also get to the documentation for the add-ons you have installed via NVDA itself in the Add-Ons Manager, Tools dialog.

What you're asking may very well already be discussed in the detailed documentation.  Even if it isn't, the fact that detailed documentation exists for many add-ons, and can come in quite handy, needs to be known. 
--

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

 

 


Tony Malykh
 

I'm not sure I understand what you mean by not ready to be translated. All the strings are processed with _() function. If I am missing anything - feel free to send me a pull request.

On 5/26/2020 7:17 AM, Ângelo Abrantes wrote:

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


Tony Malykh
 

Language map can be edited in preferences. Do Chinese and Japanese use the same Unicode character set or different ones? If they use the same set, autmatic switching won't be possible.

On 5/27/2020 3:21 AM, William Wong wrote:
Hi,

Thanks for the list of addons.

Regarding "tonysEnhancements"

how to edit Edit language map

for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

Thanks.





Cordelia Scharpf
 

Pardon me, but the link leads to the Add-Ons Documentation add-on compatible with NVDA 2019. Therefore, as Brian pointed out, follow the alternative route to obtain documentations and commands of each add-on installed on your PC.

 

 

From: nvda@nvda.groups.io [mailto:nvda@nvda.groups.io] On Behalf Of Brian Vogel
Sent: Wednesday, May 27, 2020 4:22 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's addons - updates

 

On Wed, May 27, 2020 at 06:21 AM, William Wong wrote:

for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

I don't use this specific add-on, but Tony and many add-on developers have been producing documentation for these add-ons that covers this sort of thing.

If you don't have the
Add-Ons Documentation Add-on you may want to consider installing it.  You can also get to the documentation for the add-ons you have installed via NVDA itself in the Add-Ons Manager, Tools dialog.

What you're asking may very well already be discussed in the detailed documentation.  Even if it isn't, the fact that detailed documentation exists for many add-ons, and can come in quite handy, needs to be known. 
--

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 Wed, May 27, 2020 at 10:53 AM, Cordelia Scharpf wrote:
Pardon me, but the link leads to the Add-Ons Documentation add-on compatible with NVDA 2019
Which is also compatible with 2020, I believe.   If it's on the official add-ons page, and that's where this comes from, I presume it's compatible with whatever the current version of NVDA might be.  There has been no tectonic shift in NVDA code between 2019 and 2020.  The same cannot be said of the shift between all NVDA versions prior to 2019 and 2019 itself.
 
--

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

 

 


Cordelia Scharpf
 

OK, thanks for clarifying.

 

From: nvda@nvda.groups.io [mailto:nvda@nvda.groups.io] On Behalf Of Brian Vogel
Sent: Wednesday, May 27, 2020 5:01 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's addons - updates

 

On Wed, May 27, 2020 at 10:53 AM, Cordelia Scharpf wrote:

Pardon me, but the link leads to the Add-Ons Documentation add-on compatible with NVDA 2019

Which is also compatible with 2020, I believe.   If it's on the official add-ons page, and that's where this comes from, I presume it's compatible with whatever the current version of NVDA might be.  There has been no tectonic shift in NVDA code between 2019 and 2020.  The same cannot be said of the shift between all NVDA versions prior to 2019 and 2019 itself.
 
--

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

 

 


William Wong
 

Sorry, I was following the Tony addon discussion.

Can you move your discussion on Thunderbird or email view mode to some other topic else.

Kenny 於 27/5/2020 1:50 寫道:

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

 

 


William Wong
 

No, they have different character. As far as I know.


Tony Malykh 於 27/5/2020 22:32 寫道:

Language map can be edited in preferences. Do Chinese and Japanese use the same Unicode character set or different ones? If they use the same set, autmatic switching won't be possible.

On 5/27/2020 3:21 AM, William Wong wrote:
Hi,

Thanks for the list of addons.

Regarding "tonysEnhancements"

how to edit Edit language map

for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

Thanks.






William Wong
 

Yes, I do prefer to have a more detailed configuration for the browser marks. e.g. setting marks for specific window title; one entry per each line, instead of putting all rules in the same box.



寫道:

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






William Wong
 

By the way, I edited some Browser marks   and when I wake up and turn on my computer this morning, I found that those Browser marks   that I have set last night has disappeared and restored to the default

Kenny 於 26/5/2020 22:21 寫道:

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






William Wong
 

Of course I have check the documentation before posting the question.

Brian Vogel 於 27/5/2020 22:22 寫道:

On Wed, May 27, 2020 at 06:21 AM, William Wong wrote:
for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

I don't use this specific add-on, but Tony and many add-on developers have been producing documentation for these add-ons that covers this sort of thing.

If you don't have the Add-Ons Documentation Add-on you may want to consider installing it.  You can also get to the documentation for the add-ons you have installed via NVDA itself in the Add-Ons Manager, Tools dialog.

What you're asking may very well already be discussed in the detailed documentation.  Even if it isn't, the fact that detailed documentation exists for many add-ons, and can come in quite handy, needs to be known. 
--

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
 

Tony Malykh <anton.malykh@...> 於 2020年5月27日 週三 下午10:27寫道:

I'm not sure I understand what you mean by not ready to be translated. All the strings are processed with _() function.

It seems that tonysEnhancements is not listed in the translation system (file: settings).

Is it possible to provide a link for translators to get the po / pot file?
Here is an example: addon, markdown forever
https://andreabc.net/projects/NVDA_addons/markdownForever/l10n

I hope that this is a temporary case. Addon tonysEnhancements could be listed in the translation system soon.

Regards,
Victor



 

On Wed, May 27, 2020 at 10:02 PM, William Wong wrote:
Of course I have check the documentation before posting the question.
Seriously, this is great.  The problem is that you are the exception rather than the rule.  So making those who don't know that these mechanisms for checking add-on documentation is important.  And it's equally important that they be used.
 
--

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
 

I'm thinking this Browser Marks option found in the Browser Nav add-on should be a stand alone NVDA add-on itself. The potential with it is unlimited. Have dramatically improved my ability to navigate several frequently visited pages already.


I'm hoping Tony could incorporate an ignore case feature into Browser Marks as a default. Entering a statement in all lowercase (sign out, log out for example) )would trigger this functionality. Also improve the search facility to for text found in links. Seems that some RegEx commands work with static text, but not on link text.

On 5/27/2020 9:47 PM, William Wong wrote:
Yes, I do prefer to have a more detailed configuration for the browser marks. e.g. setting marks for specific window title; one entry per each line, instead of putting all rules in the same box.



寫道:

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







William Wong
 

Yes, I also agree that the function can be expended.

Unlike place marker, this browser marks can be accessed faster.


Kenny 於 28/5/2020 11:10 寫道:

I'm thinking this Browser Marks option found in the Browser Nav add-on should be a stand alone NVDA add-on itself. The potential with it is unlimited. Have dramatically improved my ability to navigate several frequently visited pages already.


I'm hoping Tony could incorporate an ignore case feature into Browser Marks as a default. Entering a statement in all lowercase (sign out, log out for example) )would trigger this functionality. Also improve the search facility to for text found in links. Seems that some RegEx commands work with static text, but not on link text.


On 5/27/2020 9:47 PM, William Wong wrote:
Yes, I do prefer to have a more detailed configuration for the browser marks. e.g. setting marks for specific window title; one entry per each line, instead of putting all rules in the same box.



寫道:

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








William Wong
 

Regarding browser mark, I found one problem with regular expression.

abc(?!.*abc)

The above rule using regular expression to match the last "abc"

However putting the rule into the setting, the addon matches all abc, but not the last abc.


Tony Malykh
 

We need to talk to NVDA translation community about that - surely I don't mind it being added to the translation system, but what I've heard - correct if the situation has changed since then - is that no new add-ons are allowed in the translation system at this time.

On 5/27/2020 7:48 PM, 蔡宗豪 Victor Cai wrote:
Tony Malykh <anton.malykh@...> 於 2020年5月27日 週三 下午10:27寫道:

I'm not sure I understand what you mean by not ready to be translated. All the strings are processed with _() function.

It seems that tonysEnhancements is not listed in the translation system (file: settings).

Is it possible to provide a link for translators to get the po / pot file?
Here is an example: addon, markdown forever
https://andreabc.net/projects/NVDA_addons/markdownForever/l10n

I hope that this is a temporary case. Addon tonysEnhancements could be listed in the translation system soon.

Regards,
Victor



Tony Malykh
 

Thanks for feedback, I'll think about implementing better UI where you'd be able to configure browserMark etnries separately.

As for your example with negative look ahead, please keep in mind that BrowserNav matches each paragraph in the document separately - as opposed to the whole document at a time.

On 5/27/2020 10:51 PM, William Wong wrote:
Regarding browser mark, I found one problem with regular expression.

abc(?!.*abc)

The above rule using regular expression to match the last "abc"

However putting the rule into the setting, the addon matches all abc, but not the last abc.





Rui Fontes
 

They have different characters, but both group of characters are in the same UNICODE group...


So, like among the latin languages, it is not possible, without lots of processement, to switch from chinese to japanese and vice-versa...


Rui Fontes

Tiflotecnia, Lda.


Às 02:43 de 28/05/2020, William Wong escreveu:

No, they have different character. As far as I know.


Tony Malykh 於 27/5/2020 22:32 寫道:
Language map can be edited in preferences. Do Chinese and Japanese use the same Unicode character set or different ones? If they use the same set, autmatic switching won't be possible.

On 5/27/2020 3:21 AM, William Wong wrote:
Hi,

Thanks for the list of addons.

Regarding "tonysEnhancements"

how to edit Edit language map

for instance, If I want to configure Traditional Chinese and Japanese, how should I correct the map?

Thanks.