Add-on development guide has been updated, a new add-on internals article on WinTenApps is in progress


 

Hi everyone,

 

Mostly for users of other screen readers or scripters: a few years ago I wrote a handy guide for those getting started with add-on development. The guide has been updated to include recent NVDA changes and updated to reflect features from NVDA 2017.2. The guide can be found at:

https://github.com/nvdaaddons/DevGuide/wiki/NVDA-Add-on-Development-Guide

 

New in 2017.2 edition:

  • Python 2.7.13 is now the recommended version.
  • Reorganized modules and functions list and added descriptions for api.getDesktopObject, api.copyToClip, and ui.BrowsableMessage functions. Also added a word on NVDAObjects.behaviors.
  • Added links to repos of add-ons that provide examples of various add-on concepts and components, including Remote Support, Place Markers, Read Feeds, StationPlaylist Studio and Windows 10 App Essentials. These add-ons demonstrate topics such as global plugins, app modules, overlay classes, scripts, events, add-on GUI and deriving from various accessibility API objects such as IAccessible and UIA. In case of StationPlaylist Studio and Windows 10 App Essentials, I hope my comments in those add-on sources would be helpful in letting you understand what’s going on.
  • Added a paragraph for those coming from scripting for other screen readers, incorporating notes from James Scholes on runtime behavior and others.

 

Note that the guide is missing a few sections on driver development, namely how to write and debug speech synthesizer drivers and braille display support and a whole section on text infos. Anyone with a GitHub account are more than welcome to edit the guide (which lives in a wiki). For those coming from scripting for other screen readers, please send in your feedback and let us know which sections need to be edited and expanded upon.

 

Speaking of helpful add-ons: last year I wrote two articles that describe how some add-ons work behind the scenes, going into some internals of StationPlaylist Studio and SysTrayList add-ons. These articles can be found at:

 

At the moment I’m writing add-on internals article for Windows 10 App Essentials (one of my brainchildren, very powerful but not as powerful as Remote Support by Chris and Tyler). Topics to be covered include the overall purpose of this add-on, a gentle introduction to UI Automation, a story on executable names for universal apps, issues encountered with some Windows 10 controls, add-on updates and some musings on incorporation of add-on features into NVDA.

 

If there are add-ons that you’d want featured in “behind the scenes tours”, please let me and other add-on writers know. Personally, if Noelia Martinez agrees, I’d like to write an add-on internals article on Clip Contents Designer, as it provides examples of manipulating the clipboard, GUI and others (a handy add-on that lets you not only copy but append text to the clipboard). To whoever wishing to write an add-on internals article for Golden Cursor, have a fun time writing one (an amazing add-on/mouse manipulator that opened up a lot of possibilities for many people).

 

Cheers,

Joseph

Join nvda@nvda.groups.io to automatically receive all group messages.