Hello NVDA community,
I have implemented a lot of new features in
my add-ons since
my last announcement here more than a year ago, so I would like
to share all
these new features – hopefully you guys will find some of them
useful. I
present my new add-ons: Phonetic punctuation and Tony’s
enhancements, as well
as I added many new features to BrowserNav. In the end of this
email I also
mention my other add-ons, just in case someone hasn’t heard of
them, they have
only been updated with bugfixes. This is a pretty long email, so
I structured
it with headings.
Please download latest versions of my add-ons
directly from their
respective github pages – the links are provided in this email.
Phonetic punctuation
·
Github
page
·
Short
audio demo
·
Download
latest version
This add-on allows you to substitute
punctuation marks, and
any other part of speech configured by a regular expression with
an auditory
icon (custom sound). Most common use of phonetic punctuation
would be for writing
code, where it is essential to know all the punctuation marks,
but other uses
can include: replacing the word “blank” with a sound, replacing
timestamps or
other frequently repeated text with a sound, etc. Configuring
phonetic
punctuation requires knowledge of regular expressions.
Thanks to Kara Goldfinch for contributing
auditory icons for
some punctuation marks!
BrowserNav
·
Github page
·
Download
latest version
BrowserNav is a collection of
improvements to
user experience in browsers. I added quite a few new features to
it since last
release.
Horizontal indentation using tones
You can configure BrowserNav to express
horizontal
indentation of a currently focused element using tone – similar
to a built in
NVDA feature of reporting indentation with tones in text
documents. This allows
you to better understand the layout of the page. For example, it
allows you to
hear malformed HTML tables, that is when NVDA doesn’t see a
table as a real
table, yet the elements are still aligned in a tabular fashion
on the screen.
It also greatly simplifies browsing hierarchical trees of
comments on websites
such as reddit, facebook, hacker news – now the tone would
indicate the level
of the comment.
Please note that there are also commands to
find
next/previous element with the same horizontal indentation,
which you might
find handy.
Crackling for QuickNav commands
In all my add-ons crackling is an indicator
of how far we
have just jumped in the document when some navigational
keystroke is pressed. I
implemented this feature for built-in NVDA QuickNav commands as
well. Now when
you press H for next heading, you can hear crackling, and
judging by the length
of such crackling you can quickly and intuitively figure out
whether the next heading
was close by or you just jumped over a lot of text.
Browser marks
Think of this feature as regular expression
enabled
bookmarks for browser. You can configure a single regular
expression, that can
be arbitrary largeand include all the potential bookmarks on all your
webpages, and then you
can quickly jump to next/previous browser mark using J or
Shift+J commands in
browse mode. For example, as a frequent Amazon shopper, I like
to be able to
quickly jump to things like “5 items in cart” and “your orders”.
So I have
configured my browser mark regular expression to be:
(^\d+ items? in cart$|^Your orders$)
Please note that the regular expression must
match the whole
paragraph exactly, hence be careful with ^ and $ regular
expression qualifiers.
Please also note that this regular expression will apply to all
web pages and
all browsers, so be as specific as possible.
Accessibility for semi-accessible edit boxes
Many web pages these days are using a fancy
HTML text edit
component called Monaco – it provides syntax highlighting for
sighted people,
but it has one major flaw: it is not accessible, that is the
edit box appears
empty. For example Jupyter and hacker rank use such a text
editor among others.
You can still retrieve the contents of the edit box by pressing
Control+A
Control+C and then pasting it to the editor of your choice.
However, repeating
this every time is tedious, therefore I automated this process.
Now you can navigate
to said edit box and simply press NVDA+e to view or edit it.
Tony’s enhancements
·
Github
page
·
Download
latest version
This is a hodgepodge of small improvements to
various parts of
NVDA, not logically connected in any way. All the options are
disabled by
default and need to be enabled manually in the preferences
window.
NVDA volume
Allows to adjust the volume of all the NVDA
sounds,
including beeps and speech.
Automatic language switching
Some languages use non-Latin script, e.g.
Russian, Arabic,
Chinese, etc. There is no reason why NVDA wouldn’t be able to
automatically
switch synthesizer language between English and those foreign
languages. Now I
bring this feature to live. Automatically switching between two
Latin-based
languages is not supported at this time. Please note that your
synthesizer must
support all these languages for this feature to be effective.
Enhanced table navigation commands
I added commands like
Control+Alt+Home/End/PageUp/PageDown
to jump to first or last row or column. I also added keystrokes
to jump to 1..10th
row or column, please check add-on documentation for these
shortcuts.
Enhanced move by word commands
Most text editors support
Control+LeftArrow/RightArrow
commands for word navigation. However the definition of the word
changes from
one program to another. This is especially true of modern
web-based text
editors, such as Monaco. NVDA should know the definition of word
in given
program in order to speak words correctly. If NVDA doesn't know
the exact
definition, then either words are going to be skipped, or
pronounced multiple
times. Moreover, some web-based text editors position the cursor
in the end of
the word, instead of the beginning, making editing much harder
for visually
impaired users. In order to combat this problem I have created
enhanced word
navigation commands, that take the word definition from
Notepad++ and they do
not rely on program's definition of words, but rather parse
lines into words on
NVDA's side. The Control+LeftArrow/RightArrow gesture is not
even sent to the
program, thus ensuring the consistency of the speech.
This option overrides default
Control+LeftArrow/RightArrow
commands in NVDA.
Real-time console output
If you work with command line applications
that print out a
lot of logs, it might be not the best behavior for NVDA to read
out all these
logs line by line, since NVDA can be speaking much slower than
those lines are
being printed, thus NVDA might be speaking some lines that were
printed a
minute ago. I modified the way NVDA speaks command line output
to be more
realtime. The basic logic is like this: if a new line appears on
the screen and
NVDA is currently speaking something that was shown on the
screen more than a
second ago, then we interrupt current utterance and speak the
most recent line.
Speaking output this way better represents what’s going on in
command line window
in real time. There is also an option to beep on every update in
command line.
Dynamic keystrokes
I call a keystroke dynamic if it changes the
state of an
application. Often times we’d want NVDA to speak the updated
change
automatically, but NVDA does nothing for keystrokes that it’s
not aware of. An
example of such a keystroke would be F2 in Notepad++ that jumps
to the next
bookmark – you would want NVDA to speak the current line
automatically. Many other
editors have such keystrokes as well. Now you can configure the
list of
keystrokes and NVDA will automatically speak current line after
them. Please
check github page for more information.
Suppressing unwanted “unselected” messages
If certain text is selected in a text editor,
and in the next
moment no longer selected, NVDA would say “unselected” and then
the original
text that was selected. In certain situations this is not a
desirable behavior.
For example if you have some text selected, and then you press
Control+Home, to
go to the very beginning of the document, NVDA would first speak
the first line
of the document, then “unselected”, then the original selection.
I felt this
was annoying, so I found a way to suppress this message, while
still keeping
the “unselected” message when you indeed unselect your selection
by character,
or word, etc
Preventing double insert keystroke
If you press insert key twice accidentally,
it would trigger
insert mode in your application. Since Insert is a special key
in NVDA, this
behavior cannot be disabled using input gestures dialog in NVDA,
yet this was
happening too often to me, so I wrote a function to disable
double insert key
backstroke. If you still would like to toggle insert mode, you
can do so by
pressing NVDA+F2, and then insert key.
Insert mode detector
As another layer of defense against
accidental insert mode I
implemented this feature. It monitors current line of text and
looks at how it
changes when you type alphanumeric keys. If it seems like
characters are being overwritten,
it will beep on every character. Similar to built-in caps lock
on warning beep.
Fixing a bug when focus gets stuck in the taskbar when
pressing
Windows+Numbers
There is a bug in Windows 10, and possibly in
other
versions. When switching between applications using
Windows+number shortcut
sometimes the focus gets stuck in the taskbar area instead of
jumping to the
window being switched to. So I implemented a workaround. The
add-on detects
this situation and plays a short low-pitch beep when this
situation is
detected, then the add-on fixes it automatically by bringing
focus to the desired
application.
TextNav
·
Github page
·
Audio
demo
·
Download
latest version
TextNav allows you to quickly
find the
beginning of article on a web page, and also skip over junk HTML
elements, such
as menus, images, ads, etc.
SentenceNav
·
Github page
·
Download
latest version
Allows you to navigate text
sentence-by-sentence or phrase-by-phrase, as opposed to by word,
character or
line.
IndentNav
·
Github page
·
Download
latest version
This add-on improves
navigation around source
code files for programming by allowing to find lines with the
same/greater/smaller
indentation level. But it also can be used for structured text
files, where
structure is expressed by the indentation level.
Bluetooth Audio
·
Github
page
·
Download
latest version
Improves sound quality for
those who use NVDA
with Bluetooth or other wireless audio devices by constantly
playing silent
sound.
AudioChart
·
Github page
·
Download
latest version
AudioChart allows you to sonify time series
in Microsoft
Excel.
Thanks for reading this! Let me know
what you think about these new features!
--Tony
|
|
CARLOS-ESTEBAN <carlosestebanpianista@...>
Hello. Thanks, Toni! Your addons are very good. Regards. Enviado desde Correo para Windows 10 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 tonesYou 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 commandsIn 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 marksThink 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 boxesMany 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 volumeAllows to adjust the volume of all the NVDA sounds, including beeps and speech. Automatic language switchingSome 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 commandsI 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 commandsMost 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 outputIf 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 keystrokesI 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” messagesIf 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 keystrokeIf 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 detectorAs 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+NumbersThere 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
|
|
Thanks so very much Toni! I am blown away by all of these add-ons! I love what you did by putting the crackling sound to tell us how far down the page headings are down the page. I really like Text nav to move right to the text on the web page. You have made my life easier!
David Moore
toggle quoted message
Show quoted text
Hello NVDA community,
I have implemented a lot of new features in
my add-ons since
my last announcement here more than a year ago, so I would like
to share all
these new features – hopefully you guys will find some of them
useful. I
present my new add-ons: Phonetic punctuation and Tony’s
enhancements, as well
as I added many new features to BrowserNav. In the end of this
email I also
mention my other add-ons, just in case someone hasn’t heard of
them, they have
only been updated with bugfixes. This is a pretty long email, so
I structured
it with headings.
Please download latest versions of my add-ons
directly from their
respective github pages – the links are provided in this email.
Phonetic punctuation
·
Github
page
·
Short
audio demo
·
Download
latest version
This add-on allows you to substitute
punctuation marks, and
any other part of speech configured by a regular expression with
an auditory
icon (custom sound). Most common use of phonetic punctuation
would be for writing
code, where it is essential to know all the punctuation marks,
but other uses
can include: replacing the word “blank” with a sound, replacing
timestamps or
other frequently repeated text with a sound, etc. Configuring
phonetic
punctuation requires knowledge of regular expressions.
Thanks to Kara Goldfinch for contributing
auditory icons for
some punctuation marks!
BrowserNav
·
Github page
·
Download
latest version
BrowserNav is a collection of
improvements to
user experience in browsers. I added quite a few new features to
it since last
release.
Horizontal indentation using tones
You can configure BrowserNav to express
horizontal
indentation of a currently focused element using tone – similar
to a built in
NVDA feature of reporting indentation with tones in text
documents. This allows
you to better understand the layout of the page. For example, it
allows you to
hear malformed HTML tables, that is when NVDA doesn’t see a
table as a real
table, yet the elements are still aligned in a tabular fashion
on the screen.
It also greatly simplifies browsing hierarchical trees of
comments on websites
such as reddit, facebook, hacker news – now the tone would
indicate the level
of the comment.
Please note that there are also commands to
find
next/previous element with the same horizontal indentation,
which you might
find handy.
Crackling for QuickNav commands
In all my add-ons crackling is an indicator
of how far we
have just jumped in the document when some navigational
keystroke is pressed. I
implemented this feature for built-in NVDA QuickNav commands as
well. Now when
you press H for next heading, you can hear crackling, and
judging by the length
of such crackling you can quickly and intuitively figure out
whether the next heading
was close by or you just jumped over a lot of text.
Browser marks
Think of this feature as regular expression
enabled
bookmarks for browser. You can configure a single regular
expression, that can
be arbitrary largeand include all the potential bookmarks on all your
webpages, and then you
can quickly jump to next/previous browser mark using J or
Shift+J commands in
browse mode. For example, as a frequent Amazon shopper, I like
to be able to
quickly jump to things like “5 items in cart” and “your orders”.
So I have
configured my browser mark regular expression to be:
(^\d+ items? in cart$|^Your orders$)
Please note that the regular expression must
match the whole
paragraph exactly, hence be careful with ^ and $ regular
expression qualifiers.
Please also note that this regular expression will apply to all
web pages and
all browsers, so be as specific as possible.
Accessibility for semi-accessible edit boxes
Many web pages these days are using a fancy
HTML text edit
component called Monaco – it provides syntax highlighting for
sighted people,
but it has one major flaw: it is not accessible, that is the
edit box appears
empty. For example Jupyter and hacker rank use such a text
editor among others.
You can still retrieve the contents of the edit box by pressing
Control+A
Control+C and then pasting it to the editor of your choice.
However, repeating
this every time is tedious, therefore I automated this process.
Now you can navigate
to said edit box and simply press NVDA+e to view or edit it.
Tony’s enhancements
·
Github
page
·
Download
latest version
This is a hodgepodge of small improvements to
various parts of
NVDA, not logically connected in any way. All the options are
disabled by
default and need to be enabled manually in the preferences
window.
NVDA volume
Allows to adjust the volume of all the NVDA
sounds,
including beeps and speech.
Automatic language switching
Some languages use non-Latin script, e.g.
Russian, Arabic,
Chinese, etc. There is no reason why NVDA wouldn’t be able to
automatically
switch synthesizer language between English and those foreign
languages. Now I
bring this feature to live. Automatically switching between two
Latin-based
languages is not supported at this time. Please note that your
synthesizer must
support all these languages for this feature to be effective.
Enhanced table navigation commands
I added commands like
Control+Alt+Home/End/PageUp/PageDown
to jump to first or last row or column. I also added keystrokes
to jump to 1..10th
row or column, please check add-on documentation for these
shortcuts.
Enhanced move by word commands
Most text editors support
Control+LeftArrow/RightArrow
commands for word navigation. However the definition of the word
changes from
one program to another. This is especially true of modern
web-based text
editors, such as Monaco. NVDA should know the definition of word
in given
program in order to speak words correctly. If NVDA doesn't know
the exact
definition, then either words are going to be skipped, or
pronounced multiple
times. Moreover, some web-based text editors position the cursor
in the end of
the word, instead of the beginning, making editing much harder
for visually
impaired users. In order to combat this problem I have created
enhanced word
navigation commands, that take the word definition from
Notepad++ and they do
not rely on program's definition of words, but rather parse
lines into words on
NVDA's side. The Control+LeftArrow/RightArrow gesture is not
even sent to the
program, thus ensuring the consistency of the speech.
This option overrides default
Control+LeftArrow/RightArrow
commands in NVDA.
Real-time console output
If you work with command line applications
that print out a
lot of logs, it might be not the best behavior for NVDA to read
out all these
logs line by line, since NVDA can be speaking much slower than
those lines are
being printed, thus NVDA might be speaking some lines that were
printed a
minute ago. I modified the way NVDA speaks command line output
to be more
realtime. The basic logic is like this: if a new line appears on
the screen and
NVDA is currently speaking something that was shown on the
screen more than a
second ago, then we interrupt current utterance and speak the
most recent line.
Speaking output this way better represents what’s going on in
command line window
in real time. There is also an option to beep on every update in
command line.
Dynamic keystrokes
I call a keystroke dynamic if it changes the
state of an
application. Often times we’d want NVDA to speak the updated
change
automatically, but NVDA does nothing for keystrokes that it’s
not aware of. An
example of such a keystroke would be F2 in Notepad++ that jumps
to the next
bookmark – you would want NVDA to speak the current line
automatically. Many other
editors have such keystrokes as well. Now you can configure the
list of
keystrokes and NVDA will automatically speak current line after
them. Please
check github page for more information.
Suppressing unwanted “unselected” messages
If certain text is selected in a text editor,
and in the next
moment no longer selected, NVDA would say “unselected” and then
the original
text that was selected. In certain situations this is not a
desirable behavior.
For example if you have some text selected, and then you press
Control+Home, to
go to the very beginning of the document, NVDA would first speak
the first line
of the document, then “unselected”, then the original selection.
I felt this
was annoying, so I found a way to suppress this message, while
still keeping
the “unselected” message when you indeed unselect your selection
by character,
or word, etc
Preventing double insert keystroke
If you press insert key twice accidentally,
it would trigger
insert mode in your application. Since Insert is a special key
in NVDA, this
behavior cannot be disabled using input gestures dialog in NVDA,
yet this was
happening too often to me, so I wrote a function to disable
double insert key
backstroke. If you still would like to toggle insert mode, you
can do so by
pressing NVDA+F2, and then insert key.
Insert mode detector
As another layer of defense against
accidental insert mode I
implemented this feature. It monitors current line of text and
looks at how it
changes when you type alphanumeric keys. If it seems like
characters are being overwritten,
it will beep on every character. Similar to built-in caps lock
on warning beep.
Fixing a bug when focus gets stuck in the taskbar when
pressing
Windows+Numbers
There is a bug in Windows 10, and possibly in
other
versions. When switching between applications using
Windows+number shortcut
sometimes the focus gets stuck in the taskbar area instead of
jumping to the
window being switched to. So I implemented a workaround. The
add-on detects
this situation and plays a short low-pitch beep when this
situation is
detected, then the add-on fixes it automatically by bringing
focus to the desired
application.
TextNav
·
Github page
·
Audio
demo
·
Download
latest version
TextNav allows you to quickly
find the
beginning of article on a web page, and also skip over junk HTML
elements, such
as menus, images, ads, etc.
SentenceNav
·
Github page
·
Download
latest version
Allows you to navigate text
sentence-by-sentence or phrase-by-phrase, as opposed to by word,
character or
line.
IndentNav
·
Github page
·
Download
latest version
This add-on improves
navigation around source
code files for programming by allowing to find lines with the
same/greater/smaller
indentation level. But it also can be used for structured text
files, where
structure is expressed by the indentation level.
Bluetooth Audio
·
Github
page
·
Download
latest version
Improves sound quality for
those who use NVDA
with Bluetooth or other wireless audio devices by constantly
playing silent
sound.
AudioChart
·
Github page
·
Download
latest version
AudioChart allows you to sonify time series
in Microsoft
Excel.
Thanks for reading this! Let me know
what you think about these new features!
--Tony
|
|
Kenny <kwashingtonbox@...>
Tony’, let me say your work on these excellent add-ons is very much appreciated.
I really love this Phonetic punctuation add-on· Like knowing when text is wrapped within parenthesis or brackets, but didn't want to keep hearing NVDA saying the word left paren, right paren etc. Now with your cool add-on there's a nice audio cue that plays whenever these punctuation marks are encountered. Allows me to really visualize the layout of a document being read by NVDA.
Nice job on the auditory icons Kara. Really love them!
Going to spend some time learning the others. The Browser add-on can be quite useful for me when accessing frequently visited pages.
Keep up the GREAT work Tony, your add-ons are making an already great screen reader in NVDA even more flexible.
toggle quoted message
Show quoted text
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
|
|
Hi Tony, This is a whole lot of work that you have done. I wonder why your add-ons are not available on the NVDA community site. That way they could be automatically updated with an app. Why do you have us going to a separate site to get these? Mary
toggle quoted message
Show quoted text
On May 25, 2020, at 2:17 PM, Tony Malykh <anton.malykh@...> wrote:
Hello NVDA community,
I have implemented a lot of new features in
my add-ons since
my last announcement here more than a year ago, so I would like
to share all
these new features – hopefully you guys will find some of them
useful. I
present my new add-ons: Phonetic punctuation and Tony’s
enhancements, as well
as I added many new features to BrowserNav. In the end of this
email I also
mention my other add-ons, just in case someone hasn’t heard of
them, they have
only been updated with bugfixes. This is a pretty long email, so
I structured
it with headings.
Please download latest versions of my add-ons
directly from their
respective github pages – the links are provided in this email.
Phonetic punctuation
·
Github
page
·
Short
audio demo
·
Download
latest version
This add-on allows you to substitute
punctuation marks, and
any other part of speech configured by a regular expression with
an auditory
icon (custom sound). Most common use of phonetic punctuation
would be for writing
code, where it is essential to know all the punctuation marks,
but other uses
can include: replacing the word “blank” with a sound, replacing
timestamps or
other frequently repeated text with a sound, etc. Configuring
phonetic
punctuation requires knowledge of regular expressions.
Thanks to Kara Goldfinch for contributing
auditory icons for
some punctuation marks!
BrowserNav
·
Github page
·
Download
latest version
BrowserNav is a collection of
improvements to
user experience in browsers. I added quite a few new features to
it since last
release.
Horizontal indentation using tones
You can configure BrowserNav to express
horizontal
indentation of a currently focused element using tone – similar
to a built in
NVDA feature of reporting indentation with tones in text
documents. This allows
you to better understand the layout of the page. For example, it
allows you to
hear malformed HTML tables, that is when NVDA doesn’t see a
table as a real
table, yet the elements are still aligned in a tabular fashion
on the screen.
It also greatly simplifies browsing hierarchical trees of
comments on websites
such as reddit, facebook, hacker news – now the tone would
indicate the level
of the comment.
Please note that there are also commands to
find
next/previous element with the same horizontal indentation,
which you might
find handy.
Crackling for QuickNav commands
In all my add-ons crackling is an indicator
of how far we
have just jumped in the document when some navigational
keystroke is pressed. I
implemented this feature for built-in NVDA QuickNav commands as
well. Now when
you press H for next heading, you can hear crackling, and
judging by the length
of such crackling you can quickly and intuitively figure out
whether the next heading
was close by or you just jumped over a lot of text.
Browser marks
Think of this feature as regular expression
enabled
bookmarks for browser. You can configure a single regular
expression, that can
be arbitrary largeand include all the potential bookmarks on all your
webpages, and then you
can quickly jump to next/previous browser mark using J or
Shift+J commands in
browse mode. For example, as a frequent Amazon shopper, I like
to be able to
quickly jump to things like “5 items in cart” and “your orders”.
So I have
configured my browser mark regular expression to be:
(^\d+ items? in cart$|^Your orders$)
Please note that the regular expression must
match the whole
paragraph exactly, hence be careful with ^ and $ regular
expression qualifiers.
Please also note that this regular expression will apply to all
web pages and
all browsers, so be as specific as possible.
Accessibility for semi-accessible edit boxes
Many web pages these days are using a fancy
HTML text edit
component called Monaco – it provides syntax highlighting for
sighted people,
but it has one major flaw: it is not accessible, that is the
edit box appears
empty. For example Jupyter and hacker rank use such a text
editor among others.
You can still retrieve the contents of the edit box by pressing
Control+A
Control+C and then pasting it to the editor of your choice.
However, repeating
this every time is tedious, therefore I automated this process.
Now you can navigate
to said edit box and simply press NVDA+e to view or edit it.
Tony’s enhancements
·
Github
page
·
Download
latest version
This is a hodgepodge of small improvements to
various parts of
NVDA, not logically connected in any way. All the options are
disabled by
default and need to be enabled manually in the preferences
window.
NVDA volume
Allows to adjust the volume of all the NVDA
sounds,
including beeps and speech.
Automatic language switching
Some languages use non-Latin script, e.g.
Russian, Arabic,
Chinese, etc. There is no reason why NVDA wouldn’t be able to
automatically
switch synthesizer language between English and those foreign
languages. Now I
bring this feature to live. Automatically switching between two
Latin-based
languages is not supported at this time. Please note that your
synthesizer must
support all these languages for this feature to be effective.
Enhanced table navigation commands
I added commands like
Control+Alt+Home/End/PageUp/PageDown
to jump to first or last row or column. I also added keystrokes
to jump to 1..10th
row or column, please check add-on documentation for these
shortcuts.
Enhanced move by word commands
Most text editors support
Control+LeftArrow/RightArrow
commands for word navigation. However the definition of the word
changes from
one program to another. This is especially true of modern
web-based text
editors, such as Monaco. NVDA should know the definition of word
in given
program in order to speak words correctly. If NVDA doesn't know
the exact
definition, then either words are going to be skipped, or
pronounced multiple
times. Moreover, some web-based text editors position the cursor
in the end of
the word, instead of the beginning, making editing much harder
for visually
impaired users. In order to combat this problem I have created
enhanced word
navigation commands, that take the word definition from
Notepad++ and they do
not rely on program's definition of words, but rather parse
lines into words on
NVDA's side. The Control+LeftArrow/RightArrow gesture is not
even sent to the
program, thus ensuring the consistency of the speech.
This option overrides default
Control+LeftArrow/RightArrow
commands in NVDA.
Real-time console output
If you work with command line applications
that print out a
lot of logs, it might be not the best behavior for NVDA to read
out all these
logs line by line, since NVDA can be speaking much slower than
those lines are
being printed, thus NVDA might be speaking some lines that were
printed a
minute ago. I modified the way NVDA speaks command line output
to be more
realtime. The basic logic is like this: if a new line appears on
the screen and
NVDA is currently speaking something that was shown on the
screen more than a
second ago, then we interrupt current utterance and speak the
most recent line.
Speaking output this way better represents what’s going on in
command line window
in real time. There is also an option to beep on every update in
command line.
Dynamic keystrokes
I call a keystroke dynamic if it changes the
state of an
application. Often times we’d want NVDA to speak the updated
change
automatically, but NVDA does nothing for keystrokes that it’s
not aware of. An
example of such a keystroke would be F2 in Notepad++ that jumps
to the next
bookmark – you would want NVDA to speak the current line
automatically. Many other
editors have such keystrokes as well. Now you can configure the
list of
keystrokes and NVDA will automatically speak current line after
them. Please
check github page for more information.
Suppressing unwanted “unselected” messages
If certain text is selected in a text editor,
and in the next
moment no longer selected, NVDA would say “unselected” and then
the original
text that was selected. In certain situations this is not a
desirable behavior.
For example if you have some text selected, and then you press
Control+Home, to
go to the very beginning of the document, NVDA would first speak
the first line
of the document, then “unselected”, then the original selection.
I felt this
was annoying, so I found a way to suppress this message, while
still keeping
the “unselected” message when you indeed unselect your selection
by character,
or word, etc
Preventing double insert keystroke
If you press insert key twice accidentally,
it would trigger
insert mode in your application. Since Insert is a special key
in NVDA, this
behavior cannot be disabled using input gestures dialog in NVDA,
yet this was
happening too often to me, so I wrote a function to disable
double insert key
backstroke. If you still would like to toggle insert mode, you
can do so by
pressing NVDA+F2, and then insert key.
Insert mode detector
As another layer of defense against
accidental insert mode I
implemented this feature. It monitors current line of text and
looks at how it
changes when you type alphanumeric keys. If it seems like
characters are being overwritten,
it will beep on every character. Similar to built-in caps lock
on warning beep.
Fixing a bug when focus gets stuck in the taskbar when
pressing
Windows+Numbers
There is a bug in Windows 10, and possibly in
other
versions. When switching between applications using
Windows+number shortcut
sometimes the focus gets stuck in the taskbar area instead of
jumping to the
window being switched to. So I implemented a workaround. The
add-on detects
this situation and plays a short low-pitch beep when this
situation is
detected, then the add-on fixes it automatically by bringing
focus to the desired
application.
TextNav
·
Github page
·
Audio
demo
·
Download
latest version
TextNav allows you to quickly
find the
beginning of article on a web page, and also skip over junk HTML
elements, such
as menus, images, ads, etc.
SentenceNav
·
Github page
·
Download
latest version
Allows you to navigate text
sentence-by-sentence or phrase-by-phrase, as opposed to by word,
character or
line.
IndentNav
·
Github page
·
Download
latest version
This add-on improves
navigation around source
code files for programming by allowing to find lines with the
same/greater/smaller
indentation level. But it also can be used for structured text
files, where
structure is expressed by the indentation level.
Bluetooth Audio
·
Github
page
·
Download
latest version
Improves sound quality for
those who use NVDA
with Bluetooth or other wireless audio devices by constantly
playing silent
sound.
AudioChart
·
Github page
·
Download
latest version
AudioChart allows you to sonify time series
in Microsoft
Excel.
Thanks for reading this! Let me know
what you think about these new features!
--Tony
|
|
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
|
|
Hi Mary,
I know that's inconvenient, but I don't have access to edit that
site. I got a word that NVAccess is working on add-on store in
NVDA - hopefully when they release it add-on authors would have
permissions to update their add-ons in the system.
--Tony
On 5/25/2020 8:09 PM, Mary Otten wrote:
toggle quoted message
Show quoted text
Hi Tony,
This is a whole lot of work that you have done. I wonder why
your add-ons are not available on the NVDA community site. That
way they could be automatically updated with an app. Why do you
have us going to a separate site to get these?
Mary
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
|
|
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:
toggle quoted message
Show quoted text
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
|
|
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
--
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA
|
|
Kenny <kwashingtonbox@...>
WOW! This Browser marks feature is powerful. I created a very simple Regex statement to locate the text string:
(^Sign?out$|^Log?out$)
Now I'm able to use the letter [j] (In Browse mode) to quickly locate the Sign-out/Log out link on web pages (Banking, Utility, Shopping etc.) No more using the cumbersome "Find" facility to do this.
I hope you're able to add even more flexibility to this Browser Marks option. Maybe allow each Regex statement to be placed in a list box simply by filling in the edit field and pressing a [Add] button. Then if you change your mind about one statement, you could simply hit the [Delete] button to remove it.
Realize you don't want to create too many of these (For the Browser marks work on every single web page) but think such an addition would make this option even better.
toggle quoted message
Show quoted text
On 5/25/2020 5:17 PM, Tony Malykh wrote: Hello NVDA community,
I have implemented a lot of new features in my add-ons since my last announcement here more than a year ago, so I would like to share all these new features – hopefully you guys will find some of them useful. I present my new add-ons: Phonetic punctuation and Tony’s enhancements, as well as I added many new features to BrowserNav. In the end of this email I also mention my other add-ons, just in case someone hasn’t heard of them, they have only been updated with bugfixes. This is a pretty long email, so I structured it with headings.
Please download latest versions of my add-ons directly from their respective github pages – the links are provided in this email.
Phonetic punctuation
·Github page <https://github.com/mltony/nvda-phonetic-punctuation/>
·Short audio demo <https://soundcloud.com/user-977282820/nvda-phonetic-punctuation-demo>
·Download latest version <https://github.com/mltony/nvda-phonetic-punctuation/releases/latest/download/phoneticPunctuation.nvda-addon>
This add-on allows you to substitute punctuation marks, and any other part of speech configured by a regular expression with an auditory icon (custom sound). Most common use of phonetic punctuation would be for writing code, where it is essential to know all the punctuation marks, but other uses can include: replacing the word “blank” with a sound, replacing timestamps or other frequently repeated text with a sound, etc. Configuring phonetic punctuation requires knowledge of regular expressions.
Thanks to Kara Goldfinch for contributing auditory icons for some punctuation marks!
BrowserNav
·Github page <https://github.com/mltony/nvda-browser-nav/>
·Download latest version <https://github.com/mltony/nvda-browser-nav/releases/latest/download/browsernav.nvda-addon>
BrowserNav is a collection of improvements to user experience in browsers. I added quite a few new features to it since last release.
Horizontal indentation using tones
You can configure BrowserNav to express horizontal indentation of a currently focused element using tone – similar to a built in NVDA feature of reporting indentation with tones in text documents. This allows you to better understand the layout of the page. For example, it allows you to hear malformed HTML tables, that is when NVDA doesn’t see a table as a real table, yet the elements are still aligned in a tabular fashion on the screen. It also greatly simplifies browsing hierarchical trees of comments on websites such as reddit, facebook, hacker news – now the tone would indicate the level of the comment.
Please note that there are also commands to find next/previous element with the same horizontal indentation, which you might find handy.
Crackling for QuickNav commands
In all my add-ons crackling is an indicator of how far we have just jumped in the document when some navigational keystroke is pressed. I implemented this feature for built-in NVDA QuickNav commands as well. Now when you press H for next heading, you can hear crackling, and judging by the length of such crackling you can quickly and intuitively figure out whether the next heading was close by or you just jumped over a lot of text.
Browser marks
Think of this feature as regular expression enabled bookmarks for browser. You can configure a single regular expression, that can be arbitrary largeand include all the potential bookmarks on all your webpages, and then you can quickly jump to next/previous browser mark using J or Shift+J commands in browse mode. For example, as a frequent Amazon shopper, I like to be able to quickly jump to things like “5 items in cart” and “your orders”. So I have configured my browser mark regular expression to be:
(^\d+ items? in cart$|^Your orders$)
Please note that the regular expression must match the whole paragraph exactly, hence be careful with ^ and $ regular expression qualifiers. Please also note that this regular expression will apply to all web pages and all browsers, so be as specific as possible.
Accessibility for semi-accessible edit boxes
Many web pages these days are using a fancy HTML text edit component called Monaco – it provides syntax highlighting for sighted people, but it has one major flaw: it is not accessible, that is the edit box appears empty. For example Jupyter and hacker rank use such a text editor among others. You can still retrieve the contents of the edit box by pressing Control+A Control+C and then pasting it to the editor of your choice. However, repeating this every time is tedious, therefore I automated this process. Now you can navigate to said edit box and simply press NVDA+e to view or edit it.
Tony’s enhancements
·Github page <https://github.com/mltony/nvda-tonys-enhancements/>
·Download latest version <https://github.com/mltony/nvda-tonys-enhancements/releases/latest/download/tonysEnhancements.nvda-addon>
This is a hodgepodge of small improvements to various parts of NVDA, not logically connected in any way. All the options are disabled by default and need to be enabled manually in the preferences window.
NVDA volume
Allows to adjust the volume of all the NVDA sounds, including beeps and speech.
Automatic language switching
Some languages use non-Latin script, e.g. Russian, Arabic, Chinese, etc. There is no reason why NVDA wouldn’t be able to automatically switch synthesizer language between English and those foreign languages. Now I bring this feature to live. Automatically switching between two Latin-based languages is not supported at this time. Please note that your synthesizer must support all these languages for this feature to be effective.
Enhanced table navigation commands
I added commands like Control+Alt+Home/End/PageUp/PageDown to jump to first or last row or column. I also added keystrokes to jump to 1..10^th row or column, please check add-on documentation for these shortcuts.
Enhanced move by word commands
Most text editors support Control+LeftArrow/RightArrow commands for word navigation. However the definition of the word changes from one program to another. This is especially true of modern web-based text editors, such as Monaco. NVDA should know the definition of word in given program in order to speak words correctly. If NVDA doesn't know the exact definition, then either words are going to be skipped, or pronounced multiple times. Moreover, some web-based text editors position the cursor in the end of the word, instead of the beginning, making editing much harder for visually impaired users. In order to combat this problem I have created enhanced word navigation commands, that take the word definition from Notepad++ and they do not rely on program's definition of words, but rather parse lines into words on NVDA's side. The Control+LeftArrow/RightArrow gesture is not even sent to the program, thus ensuring the consistency of the speech.
This option overrides default Control+LeftArrow/RightArrow commands in NVDA.
Real-time console output
If you work with command line applications that print out a lot of logs, it might be not the best behavior for NVDA to read out all these logs line by line, since NVDA can be speaking much slower than those lines are being printed, thus NVDA might be speaking some lines that were printed a minute ago. I modified the way NVDA speaks command line output to be more realtime. The basic logic is like this: if a new line appears on the screen and NVDA is currently speaking something that was shown on the screen more than a second ago, then we interrupt current utterance and speak the most recent line. Speaking output this way better represents what’s going on in command line window in real time. There is also an option to beep on every update in command line.
Dynamic keystrokes
I call a keystroke dynamic if it changes the state of an application. Often times we’d want NVDA to speak the updated change automatically, but NVDA does nothing for keystrokes that it’s not aware of. An example of such a keystroke would be F2 in Notepad++ that jumps to the next bookmark – you would want NVDA to speak the current line automatically. Many other editors have such keystrokes as well. Now you can configure the list of keystrokes and NVDA will automatically speak current line after them. Please check github page for more information.
Suppressing unwanted “unselected” messages
If certain text is selected in a text editor, and in the next moment no longer selected, NVDA would say “unselected” and then the original text that was selected. In certain situations this is not a desirable behavior. For example if you have some text selected, and then you press Control+Home, to go to the very beginning of the document, NVDA would first speak the first line of the document, then “unselected”, then the original selection. I felt this was annoying, so I found a way to suppress this message, while still keeping the “unselected” message when you indeed unselect your selection by character, or word, etc
Preventing double insert keystroke
If you press insert key twice accidentally, it would trigger insert mode in your application. Since Insert is a special key in NVDA, this behavior cannot be disabled using input gestures dialog in NVDA, yet this was happening too often to me, so I wrote a function to disable double insert key backstroke. If you still would like to toggle insert mode, you can do so by pressing NVDA+F2, and then insert key.
Insert mode detector
As another layer of defense against accidental insert mode I implemented this feature. It monitors current line of text and looks at how it changes when you type alphanumeric keys. If it seems like characters are being overwritten, it will beep on every character. Similar to built-in caps lock on warning beep.
Fixing a bug when focus gets stuck in the taskbar when pressing Windows+Numbers
There is a bug in Windows 10, and possibly in other versions. When switching between applications using Windows+number shortcut sometimes the focus gets stuck in the taskbar area instead of jumping to the window being switched to. So I implemented a workaround. The add-on detects this situation and plays a short low-pitch beep when this situation is detected, then the add-on fixes it automatically by bringing focus to the desired application.
TextNav
·Github page <https://github.com/mltony/nvda-text-nav/>
·Audio demo <https://soundcloud.com/user-977282820/textnav-promo>
·Download latest version <https://github.com/mltony/nvda-text-nav/releases/latest/download/textnav.nvda-addon>
TextNav allows you to quickly find the beginning of article on a web page, and also skip over junk HTML elements, such as menus, images, ads, etc.
SentenceNav
·Github page <https://github.com/mltony/nvda-sentence-nav>
·Download latest version <https://github.com/mltony/nvda-sentence-nav/releases/latest/download/SentenceNav.nvda-addon>
Allows you to navigate text sentence-by-sentence or phrase-by-phrase, as opposed to by word, character or line.
IndentNav
·Github page <https://github.com/mltony/nvda-indent-nav/>
·Download latest version <https://github.com/mltony/nvda-indent-nav/releases/latest/download/IndentNav.nvda-addon>
This add-on improves navigation around source code files for programming by allowing to find lines with the same/greater/smaller indentation level. But it also can be used for structured text files, where structure is expressed by the indentation level.
Bluetooth Audio
·Github page <https://github.com/mltony/nvda-bluetooth-audio/>
·Download latest version <https://github.com/mltony/nvda-bluetooth-audio/releases/latest/download/bluetoothaudio.nvda-addon>
Improves sound quality for those who use NVDA with Bluetooth or other wireless audio devices by constantly playing silent sound.
AudioChart
·Github page <https://github.com/mltony/nvda-audio-chart/>
·Download latest version <https://github.com/mltony/nvda-audio-chart/releases/latest/download/audioChart.nvda-addon>
AudioChart allows you to sonify time series in Microsoft Excel.
Thanks for reading this! Let me know what you think about these new features!
--Tony
|
|
Kenny <kwashingtonbox@...>
Tony, how can I reach you off-list?
I'm having problems using the /i ignore case Regex switch. Also noticing some odd behavior when trying to match text contained within a link compared to static.
Tried several RegEx statements to match:
"Log Out of My Account"
Nothing seems to work. The text being referenced is found within a link. The /i (Ignore case) switch doesn't seem to work. Also using something like ".*" doesn't seem to match everything in between "Log Out" and "account". Works for static text, not text within a link.
Want to make the RegEx statement match anything related to logging out of account, so most links for logging out of an account would simply have "Sign out" or Log out" but others may have "Click here to Sign out" or "Log out of account".
This is why I suggested incorporating the ability to add Book marks statements individually to a list box. Then I would simply enter:
Log Out of My Account
Hit the [add[ button then be done with it. Wouldn't need any Regex matching at all.
Don't want to flood the list with a bunch of Regex talk for it may get the monitors upset.
You can reach me privately at kwashingtonbox@....
Thanks again for creating such a nice add-on.
toggle quoted message
Show quoted text
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
|
|
Hello dear Tony, Thanks for your interesting and useful add-ons. Would you please add the possibility to move directly to a column or row beyond 10 in table navigation commands for Tony's Enhancement add-on; e.g., by implementing a script to switch the existing commands move the cursor to 11th-20th, 21th-30th, etc. columns/rows? this feature maybe useful and handy for large tables. Of corse I'm not a programmer and this is just a suggestion that may improve your add-on. And I hope my comment is understandable, because English isn't my mother tongue. Thanks in advance,
-- Best wishes, Mohammadreza Rashad
|
|
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each and every message is a link, Reply to Sender. Activating it should open a message in your e-mail/webmail client already addressed to the sender of said message, with "Re:" plus the title of the topic pre-populated as the subject which you can, of course, change. If you have any message that originated from Tony you can use it, via the Reply to Sender link, to reach him off-list. --
Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363
Science has become just another voice in the room; it has lost its platform. Now, you simply declare your own truth.
~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019
|
|
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Don't want to flood the list with a bunch of Regex talk for it may get the monitors upset.
And it would, at least on the main group. Tony is already a member of the NVDA Chat Subgroup, and such a topic would be perfectly appropriate there. -----------------------
NVDA Chat Subgroup Addresses
To join: chat+subscribe@nvda.groups.io
To unsubscribe: chat+unsubscribe@nvda.groups.io
To receive a message containing the group description, and a list of these commands: chat+help@nvda.groups.io
To stop receiving messages via email (you may still read messages on the Web): chat+nomail@nvda.groups.io
This can also be used to put a vacation stop on group messages, then use one of the addresses below to resume delivery in the format of your choice.
To receive each group messages individually: chat+single@nvda.groups.io
This is the default delivery unless you send a message to one of the addresses that follows.
To receive group messages in an HTML formatted digest: chat+fulldigest@nvda.groups.io
To receive group messages in a plain text digest: chat+digest@nvda.groups.io
To receive a daily summary instead of individual messages: chat+summary@nvda.groups.io
To receive only special messages: chat+special@nvda.groups.io
To contact the group owner(s): chat+owner@nvda.groups.io
--
Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363
Science has become just another voice in the room; it has lost its platform. Now, you simply declare your own truth.
~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019
|
|
Kenny <kwashingtonbox@...>
LOL! Forgot I changed my Thunderbird settings for View/Message
Body As... to "Plain Text" and those "Reply" links weren't being
displayed. Once I changed the setting back to"Original Html" the
links you mentioned re-appeared.
Brian, maybe you guys should make those links display at the
bottom of the message, even when a subscriber has their mail
client's message body view set to Text?
Just a suggestion.
Thanks for clearing things up. I'll contact Tony off-line.
On 5/26/2020 12:14 PM, Brian
wrote:
toggle quoted message
Show quoted text
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of each
and every message is a link, Reply to Sender. Activating it
should open a message in your e-mail/webmail client already
addressed to the sender of said message, with "Re:" plus the title
of the topic pre-populated as the subject which you can, of
course, change.
If you have any message that originated from Tony you can use it,
via the Reply to Sender link, to reach him off-list.
--
Brian - Windows 10
Pro, 64-Bit, Version 1909,
Build 18363
Science has become
just another voice in the room; it has lost its platform.
Now, you simply declare your own truth.
~ Dr. Paul A. Offit, in New
York Times article, How Anti-Vaccine
Sentiment Took Hold in the United States,
September 23, 2019
|
|
On Tue, May 26, 2020 at 12:52 PM, Kenny wrote:
Brian, maybe you guys should make those links display at the bottom of the message, even when a subscriber has their mail client's message body view set to Text?
That's not under our control, and it's one of the reasons I beg people not to force convert messages to plain text. In this day and age, virtually all e-mail comes out in HTML format, and you strip out massive amounts of content when you force plain text. Given that every screen reader has no issue with dealing with HTML, whether in web pages or email messages, there is really no good reason for doing a force convert on all messages. You can always force convert a problematic message if you receive one. --
Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363
Science has become just another voice in the room; it has lost its platform. Now, you simply declare your own truth.
~ Dr. Paul A. Offit, in New York Times article, How Anti-Vaccine Sentiment Took Hold in the United States, September 23, 2019
|
|
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
-----
toggle quoted message
Show quoted text
Sent: Tuesday, May 26, 2020 11:52 AM
Subject: Re: [nvda] Tony's addons - updates
LOL! Forgot I changed my Thunderbird settings for View/Message Body As... to
"Plain Text" and those "Reply" links weren't being displayed. Once I changed the
setting back to"Original Html" the links you mentioned re-appeared.
Brian, maybe you guys should make those links display at the bottom of the
message, even when a subscriber has their mail client's message body view set to
Text?
Just a suggestion.
Thanks for clearing things up. I'll contact Tony off-line.
On 5/26/2020 12:14 PM, Brian
wrote:
On Tue,
May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list? Unless you've
changed something with Groups.io, at the end of each and every message is a
link, Reply to Sender. Activating it should open a message in your
e-mail/webmail client already addressed to the sender of said message, with
"Re:" plus the title of the topic pre-populated as the subject which you can,
of course, change.
If you have any message that originated from Tony
you can use it, via the Reply to Sender link, to reach him
off-list. --
Brian - Windows
10 Pro, 64-Bit, Version 1909, Build
18363
Science
has become just another voice in the room; it has lost its platform.
Now, you simply declare your own truth.
~
Dr. Paul A. Offit, in New York Times article, How
Anti-Vaccine Sentiment Took Hold in the United States,
September 23, 2019
|
|
Kenny <kwashingtonbox@...>
Gene I had problem with a promotional email that was showing up
as blank in Thunderbird. Had to switch view message body as text
to review the content. Forgot to switch it back.
On 5/26/2020 1:39 PM, Gene wrote:
toggle quoted message
Show quoted text
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 -----
Sent: Tuesday, May 26, 2020 11:52 AM
Subject: Re: [nvda] Tony's addons - updates
LOL! Forgot I changed my Thunderbird settings for View/Message
Body As... to "Plain Text" and those "Reply" links weren't being
displayed. Once I changed the setting back to"Original Html" the
links you mentioned re-appeared.
Brian, maybe you guys should make those links display at the
bottom of the message, even when a subscriber has their mail
client's message body view set to Text?
Just a suggestion.
Thanks for clearing things up. I'll contact Tony off-line.
On 5/26/2020 12:14 PM, Brian
wrote:
On Tue, May 26, 2020 at 11:14 AM, Kenny wrote:
Tony, how can I reach you off-list?
Unless you've changed something with Groups.io, at the end of
each and every message is a link, Reply to Sender. Activating
it should open a message in your e-mail/webmail client already
addressed to the sender of said message, with "Re:" plus the
title of the topic pre-populated as the subject which you can,
of course, change.
If you have any message that originated from Tony you can use
it, via the Reply to Sender link, to reach him off-list.
--
Brian - Windows 10 Pro, 64-Bit, Version 1909, Build 18363
Science has become just another voice in the
room; it has lost its platform. Now, you simply declare
your own truth.
~ Dr. Paul A. Offit, in New
York Times article, How Anti-Vaccine Sentiment
Took Hold in the United States, September 23, 2019
|
|
Kenny <kwashingtonbox@...>
I do realize that. Sometimes I receive emails in Thunderbird that
NVDA sees nothing in the message body. Have to switch the message
body view to text. Then NVDA is able to see the contents. Not sure
why that is, but I do encounter that odd behavior every once in a
while.
SlickDeal.com sometimes send out mailing summarizing the past few
days deals. NVDA doesn't see anything in those messages for some
weird reason when the Thunderbird setting for view message body
is Html.
On 5/26/2020 12:56 PM, Brian Vogel
wrote:
toggle quoted message
Show quoted text
On Tue, May 26, 2020 at 12:52 PM, Kenny wrote:
Brian, maybe you guys should make those links display
at the bottom of the message, even when a subscriber has their
mail client's message body view set to Text?
That's not under our control, and it's one of the reasons I beg
people not to force convert messages to plain text. In this day
and age, virtually all e-mail comes out in HTML format, and you
strip out massive amounts of content when you force plain text.
Given that every screen reader has no issue with dealing with
HTML, whether in web pages or email messages, there is really no
good reason for doing a force convert on all messages. You can
always force convert a problematic message if you receive one.
--
Brian - Windows 10
Pro, 64-Bit, Version 1909,
Build 18363
Science has become
just another voice in the room; it has lost its platform.
Now, you simply declare your own truth.
~ Dr. Paul A. Offit, in New
York Times article, How Anti-Vaccine
Sentiment Took Hold in the United States,
September 23, 2019
|
|
Hi Tony, Thank you for your great work, bringing lots of feature to live
the feature "automatic language switching based on character set" is very useful.
It would be better if we could consider to allow user to adjust the speed of latin language separately. (E.G. speed 35 for non-Latin, speed 15 for latin English.)
Thank you again for all of your contributions.
Regards, Victor
2020-05-26 5:17 GMT+08:00, Tony Malykh <anton.malykh@...>:
toggle quoted message
Show quoted text
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
|
|