Hi everyone,
I’ve had this idea for years, but, now that I’ve adopted NVDA as my primary screen reader, I’m deciding to let it out for some fresh air to see if anyone out here is interested in tackling the challenge.
I think NVDA should have a macro capability. It should be built as an addon first, and then, once tested thoroughly, incorporated into NVDA core.
Here’s how I envision this working.
There’s an app that isn’t fully accessible, or maybe its accessible, but perhaps not very productive to use due to a lack of keyboard shortcuts, etc. An addon can be created, but that still requires quite a bit of software development and we know lots of highly-skilled blind people who don’t and are not interested in coding.
Introducing macros! Press a desired keyboard command, then execute all the commands needed to accomplish a task, enter some basic information describing its purpose and then save the macro! Anytime the task needs to be done again, just press the newly defined shortcut key!!!
I have some ideas as to design requirements:
And here’s a stretch:
Here’s an example…
I use a program called N3FJP Amateur Contact Log to keep my logbook. It displays some information I’d like to get by just pressing a single keystroke rather than having to manually navigate the screen. I don’t necessarily want to spend a huge amount of time writing a Python program just to capture and rerun keystrokes.
So with a macro capability I might do something like the following to quickly move to and speak the total number of contacts:
NVDA+numpad 9 to focus the navigator object inside the N3FJP Call Window.
NVDA+numpad 8 twice to move up to the main program’s object.
Shift+numpad 7 to move to the top of the window.
Numpad 9 three times to move to the line containing the most recent contact.
Numpad 5 to speak the current word, which contains the number of the most recently concluded contact.
What does everyone think? Anyone interested in creating a small collaboration to get this done?
Thanks,
Darrell Hilliker, NU7I, CPWA, Salesforce Certified User Experience Designer
When disabled people ask you to improve your accessibility, they’re asking you to make a conscious choice. Will you welcome us in or leave us out? Good people make the right accessibility choices every time.
--
***
Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
You can contact the group owners and moderators via nvda-user...@nvaccess.org.
---
You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org.
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/088d01dca779%24f1266920%24d3733b60%24%40gmail.com.
Ok, what you are describing is similar to what things like mainstream software autoHotkey can offer - intercept keystrokes and then carry out combinations of UI interaction activities.
Secondly, my one initial experiment with NVDA add-on development relates pretty much to what you were talking about in terms of creating macros of activities to allow automated interaction with possibly inaccessible software - actually put it together in first place to try make it possible for a sighted person to compile sets of interaction activities from the NVDA-user perspective, with the idea being that we could then compile these into an actual application-specific add-on, but never really got past the initial experimentation phase.
What it effectively does at the moment, is allows you to edit a text file and create a form of macro, provide it with a label, and then inside it specify sets of activities to be carried out in a set order, with possible time-pauses between actions, and the current types of activities include the following:
moving mouse cursor to a specific position on-screen
moving mouse cursor to a relative position
executing a keystroke such as enter, space, or keystroke combinations like alt+F, etc.
type in a string value character by character
So, sounds almost like it could already do what you want, except it's still just here in my try-out scratchpad under NVDA user settings, and when you invoke it's own primary keystroke, it currently brings up a list of it's activity collections for you to select one of them to then have it executed.
Either way, this discussion would probably do better on the NVDA add-ons mailing list for now anyway.
--
Sorry - left out ability to perform either single or double mouse-clicks as well - after you've moved mouse cursor with previous action.
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/715db403-4e6d-418d-b81a-ab7368d7d620%40blindza.co.za.
What about something like hot spot clicker.
----- Original Message -----
From: Ed Marquette <marque...@gmail.com>
To: "nvda-...@nvaccess.org" <nvda-...@nvaccess.org>
Date: Fri, 27 Feb 2026 07:12:52 +0000
> 1. Built first as a global addon.
> 2. The keyboard shortcut and its description gets added to Input Gestures.
> 3. In addition to basic command execution, there would be a few critical extras like the ability to stop speaking while the macro runs and the ability to send specific information or the results from a reading command out to be Brailled and spoken.
>
>
>
> And here’s a stretch:
>
> 1. The macro gets saved as a text file anyone can edit, either to tweak the actual sequence or to correct an error without having to necessarily start over.
> 2. Macros could be packaged and associated with a specific app, then exchanged with other NVDA users!
>
>
>
> Here’s an example…
>
> I use a program called N3FJP Amateur Contact Log to keep my logbook. It displays some information I’d like to get by just pressing a single keystroke rather than having to manually navigate the screen. I don’t necessarily want to spend a huge amount of time writing a Python program just to capture and rerun keystrokes.
>
>
>
> So with a macro capability I might do something like the following to quickly move to and speak the total number of contacts:
>
> 1. Assign the new macro to alt+shift+q.
> 2. Now execute NVDA commands like:
>
> NVDA+numpad 9 to focus the navigator object inside the N3FJP Call Window.
>
> NVDA+numpad 8 twice to move up to the main program’s object.
>
> Shift+numpad 7 to move to the top of the window.
>
> Numpad 9 three times to move to the line containing the most recent contact.
>
> Numpad 5 to speak the current word, which contains the number of the most recently concluded contact.
>
> 1. Press a keystroke to save the macro.
> 2. Enter a name for the Macro.
> 3. Prompt for a description for the macro.
> 4. After providing the description and pressing enter, the macro is saved and ready for immediate use!
>
>
>
> What does everyone think? Anyone interested in creating a small collaboration to get this done?
>
>
>
> Thanks,
>
>
>
>
>
> Darrell Hilliker, NU7I, CPWA, Salesforce Certified User Experience Designer
>
> When disabled people ask you to improve your accessibility, they’re asking you to make a conscious choice. Will you welcome us in or leave us out? Good people make the right accessibility choices every time.
>
>
>
> --
> ***
> Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
> NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
> https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
>
> You can contact the group owners and moderators via nvda-user...@nvaccess.org<mailto:nvda-user...@nvaccess.org>.
> ---
> You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org<mailto:nvda-users+...@nvaccess.org>.
> To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/088d01dca779%24f1266920%24d3733b60%24%40gmail.com<https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/088d01dca779%24f1266920%24d3733b60%24%40gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> ***
> Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
> NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
> https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
>
> You can contact the group owners and moderators via nvda-user...@nvaccess.org.
> ---
> You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org<mailto:nvda-users+...@nvaccess.org>.
> To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/715db403-4e6d-418d-b81a-ab7368d7d620%40blindza.co.za<https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/715db403-4e6d-418d-b81a-ab7368d7d620%40blindza.co.za?utm_medium=email&utm_source=footer>.
>
> --
> ***
> Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
> NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
> https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
>
> You can contact the group owners and moderators via nvda-user...@nvaccess.org.
> ---
> You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org.
> To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/BYAPR11MB35600E8FD57D40E2A3617651F773A%40BYAPR11MB3560.namprd11.prod.outlook.com.
>
>
--
***
Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
You can contact the group owners and moderators via nvda-user...@nvaccess.org.
---
You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org.
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/20260227.073324.882.4%40%5B0.0.0.0%5D.
Hi Christopher,
I appreciate your support. Google Docs is a great example of the need for such a capability.
I’m also thinking about a lot of custom apps or apps from small developers where there’s either not enough good underlying object structure or it would require a great deal of specialized Python addon development to make it accessible.
A macro capability could essentially democratize the accessification of apps, because the user just needs to know the steps they’re taking and wouldn’t have to become a coder just to make apps they might need on the job work for them.
Thanks,
Darrell Hilliker, NU7I, CPWA, Salesforce Certified User Experience Designer
When disabled people ask you to improve your accessibility, they’re asking you to make a conscious choice. Will you welcome us in or leave us out? Good people make the right accessibility choices every time.
On Feb 27, 2026, at 2:08 PM, Darrell Hilliker <darrell....@gmail.com> wrote:
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/84ef01dca81c%24824d7fe0%2486e87fa0%24%40gmail.com.
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/dd36a809-c73e-4d16-b597-65b95a1efd20%40blindza.co.za.