Topics

Tony's addons - updates


Bruno Aníbal Prieto González
 

Hello Tony!
Very good your add-ons, it's a great job.
I have a couple of suggestions and some issues.
The first thing is if you could move the settings of your add-ons to
NVDA's built-in preferences, this would allow you to configure
profiles. It happened to me that the enhanced word navigation feature
doesn't work well in UIA controls, for example in the Address Bar of
Microsoft Edge, in Onenote, Quick Notes, etc. What happens is that
when you press ctrl and arrows, select that text and NVDA says
selected. However, I like the way it works with VS Code, so I have to
be activating and deactivating that function. With indent nav in apps
like the ones I mentioned, quick notes or onenote, so does the same,
NVDA says selected. Both add-ons work, but it's tedious that NVDA
verbalize that in these cases.

Thank you very much!

Best regards

2020-05-30 21:29 GMT-04:00, Larry Wang <larry.wang.801@...>:

pycld2 is better it has built in function to split string into
languages, but you have to  pip install from github not pypi. The
version on pypi has issues on install.

在 2020/5/30 22:16, Tony Malykh 写道:
That's what I thought too.

On a separate note, I was thinking that we can use langdetect library
to detect the language of every paragraph on the fly and switch to
that language. This would allow to automatically switch between two
Latin-based languages, or between Chinese and Japanese. Maybe some day
if I have enough time I'll work on that...

On 5/29/2020 11:38 AM, Rui Fontes wrote:
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.












Larry Wang
 

pycld2 is better it has built in function to split string into languages, but you have to  pip install from github not pypi. The version on pypi has issues on install.

在 2020/5/30 22:16, Tony Malykh 写道:

That's what I thought too.

On a separate note, I was thinking that we can use langdetect library to detect the language of every paragraph on the fly and switch to that language. This would allow to automatically switch between two Latin-based languages, or between Chinese and Japanese. Maybe some day if I have enough time I'll work on that...

On 5/29/2020 11:38 AM, Rui Fontes wrote:
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.









 

On Sat, May 30, 2020 at 04:30 PM, David Ingram wrote:
what ad-ins do you have besides the one for language that I might be able to take advantage of?
All were discussed in the message that started this topic, which is in the NVDA Group Archive.

This question can be answered, specific to NVDA users, by Searching the NVDA Group Archive..


Please read the above and search the archive using the terms enclosed in square brackets below:

[“new features” add-ons Tony]

This returns all of 2 messages to review when the Option 1 in the above referenced document is employed.


For answers not specific to NVDA users, but applicable to all, use the web search technique (Option 2) from the above noted document, but omitting the operator,
site:nvda.groups.io/g/nvda, from the search using just the search terms listed above.  If required, fine tune your terms by adding more if you’re getting too many results that aren’t relevant, or taking them away one by one if you’re getting no results or very few results that do not answer your question.  This is how one learns, over time, to refine searches to get the information you’re seeking while eliminating extraneous material.  The use of exact phrases, e.g., “Notre Dame” and “flying buttress,” can be very effective in getting more focused information than using those 4 words outside of a phrase or even the phrase, “Notre Dame,” combined with the two words flying and buttress.

If you don’t find what you’re looking for after doing the above, then try Searching the Windows 10 for Screen Reader Users Group Archive or Searching the JAWS Group Archive if accessibility on the PC is the  information you seek.  For Android accessibility questions, try Searching the Android Accessibility Group Archive

--

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

 

 


David Ingram
 

what ad-ins do you have besides the one for language that I might be able to take advantage of?

-----Original Message-----
From: Tony Malykh <anton.malykh@...>
Sent: May 30, 2020 9:16 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Tony's addons - updates

That's what I thought too.

On a separate note, I was thinking that we can use langdetect library to
detect the language of every paragraph on the fly and switch to that
language. This would allow to automatically switch between two
Latin-based languages, or between Chinese and Japanese. Maybe some day
if I have enough time I'll work on that...

On 5/29/2020 11:38 AM, Rui Fontes wrote:
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.










Rui Fontes
 

Now a days, I assume that is doable...

Back in 2013 when we make the automatic language switching module it was very time consuming, since the machines 7 years ago do not were so powerfull...


And, do not forget that the language detection works allright in long paragraphs or text, but do not work reliably with one or two words...

By instance, suppose an english system and a text in portuguese. Since portuguese have several characters not existing in english, like á, é, ç and so on, is relatively easy to detect, and switching to portuguese, but if you press Alt to go to the menus, it is impossible to detect the language should be switched to english...

Except if you create a rule to always read the menus in the default language, and even that do not solve the problem, because I have the system in portuguese but some apps have the menu in english...


Rui Fontes


Às 15:16 de 30/05/2020, Tony Malykh escreveu:

That's what I thought too.

On a separate note, I was thinking that we can use langdetect library to detect the language of every paragraph on the fly and switch to that language. This would allow to automatically switch between two Latin-based languages, or between Chinese and Japanese. Maybe some day if I have enough time I'll work on that...

On 5/29/2020 11:38 AM, Rui Fontes wrote:
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.









Gianluigi Coppelletti
 

Hi,

I have some issues with BrowserNav.

The version 1.11 doesn't work for me. If I press "p" or "shift+p" I only get a beep and nothin happens. Other commands like "nvda+alt+arrows" don't work either. No crackling when I press quick navigation commands like "h" for headings.

This happens both with Mozilla Firefox and Google Chrome.

If I check for updates I can download and install v. 1.9 which seems to work except for the new commands like "P" and "shift+p".

What am I doing wrong?

I use NVDA 2020.1 on an old laptop with Windows 8.1.

Other add-ons that I have installed are:

Add-on Updater v. 20.06.1

Mozilla Apps Enhancements v. 1.11

OCR v. 2.0

SentenceNav v. 2.7

TextNav v. 1.4

I hope you can help me because this add-on is really very interesting.

Thanks in advance.

Bye.

Gigi


Tony Malykh
 

That's what I thought too.

On a separate note, I was thinking that we can use langdetect library to detect the language of every paragraph on the fly and switch to that language. This would allow to automatically switch between two Latin-based languages, or between Chinese and Japanese. Maybe some day if I have enough time I'll work on that...

On 5/29/2020 11:38 AM, Rui Fontes wrote:
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.








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.







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.





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



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.


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








Kenny <kwashingtonbox@...>
 

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







 

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

 

 


蔡宗豪 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



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

 

 


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
 

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
 

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
 

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