Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

Joseph Lee

Hi everyone,

 

Mostly for those coming from scripting other screen readers: 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 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. To whoever wishing to write an add-on internals article for Golden Cursor, have a fun time writing one (amazing add-on that opened up a lot of possibilities for many people).

 

Cheers,

Joseph


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

Travis Roth

Hi Joseph,

Thanks for working on the documentation. It doe shelp to at least have a starting point.

One thing I’d like to see added to the guides is textInfos explanation.

I am not sure this is singularly an NVDA invention or if it is modeled after something else that is already documented? My searching has not revealed this to me and unfortunately looking at some NVDA source has not made them clear to me. Quite possibly because I am not looking in the right place. I noticed that they’re used a lot though, such as with displayText which seems fairly important for trying to hack inaccessible programs.

Travis

 

 

From: Joseph Lee [mailto:[hidden email]]
Sent: Sunday, May 28, 2017 11:47 PM
To: 'NVDA screen reader development' <[hidden email]>
Subject: [Nvda-devel] Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

 

Hi everyone,

 

Mostly for those coming from scripting other screen readers: 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 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. To whoever wishing to write an add-on internals article for Golden Cursor, have a fun time writing one (amazing add-on that opened up a lot of possibilities for many people).

 

Cheers,

Joseph


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

Joseph Lee

Hi,

I see. Derek, would you like to tackle this?

Cheers,

Joseph

 

From: Travis Roth [mailto:[hidden email]]
Sent: Monday, May 29, 2017 6:49 AM
To: [hidden email]; 'NVDA screen reader development' <[hidden email]>
Subject: RE: [Nvda-devel] Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

 

Hi Joseph,

Thanks for working on the documentation. It doe shelp to at least have a starting point.

One thing I’d like to see added to the guides is textInfos explanation.

I am not sure this is singularly an NVDA invention or if it is modeled after something else that is already documented? My searching has not revealed this to me and unfortunately looking at some NVDA source has not made them clear to me. Quite possibly because I am not looking in the right place. I noticed that they’re used a lot though, such as with displayText which seems fairly important for trying to hack inaccessible programs.

Travis

 

 

From: Joseph Lee [[hidden email]]
Sent: Sunday, May 28, 2017 11:47 PM
To: 'NVDA screen reader development' <[hidden email]>
Subject: [Nvda-devel] Add-ons guide: Add-on development guide updated, some add-on internals articles in the works or being planned

 

Hi everyone,

 

Mostly for those coming from scripting other screen readers: 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 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. To whoever wishing to write an add-on internals article for Golden Cursor, have a fun time writing one (amazing add-on that opened up a lot of possibilities for many people).

 

Cheers,

Joseph


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel