For people that are thinking about developing add-on for NVDA, I really welcome your effort.
What I would say is, if any of the add-ons in the store or even unmaintained on github already done partially what you are attempting, try expand on that, contribute code or idea. It's good to have multiple implementations and concepts as many add-ons that do one thing, but it's equally good to contribute code to other add-ons, rather than building similar thing to add to something that already there.
NO disrespect to @amir immense hardwork and effort, but I feell like the link separation project can always be a part of Browser nav add-on or any other if the authors are cool with PRs.
Another thing to note is that, try to create your add-on in a way that all the complexity lies backend, let the user ease in to your add-on. Don't let them memorise tens if not hundreds of keystroke.
Try to come up with processes and workflow that allow people to do things in multiple way. Multiple ways is a cornorstone design principle that's part of WCAG and also universal design principle.
To illustrate this better, if you have multiple functions, allow them to be access in a hotkey list, allow them to be easily memorise, and the keyboard shortcut for them is easily press with shortest fingger reach or even better one hand.
Think about layers, or maybe other novel concepts such as command palate, good menu structures instead of clusters of keystroeks or aliases.
If you are using layers, allow the layer explorer to be active without initiation, let user press up/down arrow, or tab/shift+tab to explore commands, this can be a default command palate.

I love to illustrate what I mean by "multiple ways" better.
if you look at how @semaphore the discendeant of pinafore is design, you can go to many menus in many ways.
If you want to go to the notification sections,

  • you can press alphabet g and n, or
  • you can press the number 2 on the keyboard number row section, or,
  • you can press tab till you reachh the notification link in the navigation bar and press enter.#accessibility
  • Coming back to #nvda add-on development, consider making all the input help description clear, direct and understanbable.
    Put a lot of thoughts in making help accessible even if your add-on only perform simple functions as it will make many days better for many people that want to use your add-ons.

    To summarise on add-ons best practice

  • design context-sensitive help
  • allow users to ease in into your add-on by making the front-end easy to use
  • design a command palate if add-on is too complex
  • create menus or tabs of functions rather than keyboard shortcuts
  • implement multiple ways of performing a function to give people choice.
  • ensure input help is descriptive
  • #screenReader #blind #nvda