Re: FW: [program-l] NVDA add-on development questions

Adil Shaikh

Thanks for the explanation,

It explains me how it all works.

I’m just trying  to summarize your explanation to solidify my understanding.


1.       Every window control is represented by NVDAObject

2.       To create NVDAObject, window handle is obtain from the application

3.        This window handle  is passed to the accessibility api (JAB MSAA etc)

4.       The accessibility api expose the window by different methods/properties

5.        The accessibility client receives information and creates object (in this case  NVDAObject.IAccessible etc )


Another thing an API class must have is a way to talk to the control in question via accessibility API. Each API class includes a reference to the control as seen by accessibility API. For MSAA/IAccessible, it is object.IAccessibleObject; for UIA, it is object.UIAElement.

I’m bit confused here. Do you mean the accessibility API can provide mechanism  to modify source object (the real application window?


Please correct me if I misunderstood something.


Best wishes

Join to automatically receive all group messages.