Re: Process to make an NVDA app-specific addon for a web-based application

Julie Stoltz <jstoltz@...>

Thank you Julien. After a quick skim, your app looks like it addresses a lot of the things we will need. I can already tell you I'll be spending my weekend reading through it closely and playing with it. Many, many thanks for sharing.

-----Original Message-----
From: <> On Behalf Of Noelia Ruiz via
Sent: Thursday, June 18, 2020 1:40 AM
Subject: Re: [nvda-devel] Process to make an NVDA app-specific addon for a web-based application

Thanks a lot Julien. I'm very interested in your add-on.
placeMarkers works in browse mode documents. It saves and searches bookmarks and strings of text in files whose names deppend on the following code, in case you are curious or maybe useful.
I will clone and explore your add-on, of course.
Piece of code of placeMarkers:

file =
obj = api.getFocusObject()
obj = obj.treeInterceptor.rootNVDAObject
childID = obj.IAccessibleChildID
iAObj = obj.IAccessibleObject
accValue = iAObj.accValue(childID)
nameToAdd = " - %s" % accValue.split("#")[0].split("/")[-1].split("\\")[-1]
nameToAdd = ""
file = file.rsplit(" - ", 1)[0]
file = file.split("\\")[-1]
file += nameToAdd
file = standardFileName(file)
folderPath = os.path.join(PLACE_MARKERS_PATH, folder)
maxLenFileName = 232-len(folderPath)
if maxLenFileName <= 0:
return ""
file = file[:maxLenFileName]
file = file+ext
path = os.path.join(folderPath, file)
return path

2020-06-18 7:21 GMT+02:00, Julien Cochuyt <j.cochuyt@...>:

I am a French IT professional specialized in accessibility and core
NVDA contributor.
As Joseph pointed out, there is no native support in NVDA for the use
case you describe.
However, some add-ons can come in handy.

My company - with support of the french employment agency and the
governmental central IT agency - is developing WebAccess, an add-on
for NVDA that allows to easily implement alternative behaviors based
on URL matching and DOM elements selection.
It handles, through simple form-filling, definition of new shortcuts,
automatic announcement of content or restructuring of pages with basic
transformations to create regions, titles, and the like.
It also serves as a framework to implement new specific behaviors
through code.
Centered around WebModules - our web app equivalent of NVDA's
AppModules - it currently supports Internet Explorer 11, Mozilla
Firefox and Google Chrome. Support of Microsoft Edge is still a work in progress.

For the past five years, we're successfully using it to develop
add-ons targeting business web applications, for the sake of visually
impaired workers productivity.
Still under active development, it is already used by our network of
fellow professionals but not yet quite ready for use by the general public.
We're aiming at a general public launch near the end of 2020, most
likely during NVDA Con.

GitHub repo:

As Noelia pointed out, another alternative worth considering is the
PlaceMarkers add-on, though I'm less aware of its current feature-scope.

Best regards,

Julien Cochuyt

Le mer. 17 juin 2020 à 19:58, Julie Stoltz <jstoltz@...> a écrit :

Hi all,

I am very new to this group and the NVDA application, and I apologize
if I have missed anything critical in the steps to address this.

I searched the archives and development guide and did not find an
answer to my question.

Our company provides a web-based app to our clients. I have been
looking into NVDA and I see that it can be used to create
application-specific behavior. However, such addons are named for the
executable file that opens the application. In our case, our
application is opened with a web address in an Internet Explorer 11

Can NVDA work with domain-specific web applications? If so, how
should the addon be named? Are there any config settings I could use
to create an alias (I believe this is how JAWS addresses this issue)?

I know I can create an addon for IE itself, but that option would
likely interfere with other sites or applications run through IE, so
I don’t want to go that route unless absolutely necessary.

Any guidance at all is greatly appreciated.

Julie Stoltz

Technical Communications Specialist

Cycom Data Systems, Inc.


Join to automatically receive all group messages.