Quantcast
Viewing all articles
Browse latest Browse all 585

get_accChild: What is a child ID?

Hi all,

the IAccessible::get_accChild function is essentially declared like this in the C++ interface:

HRESULT get_accChild(VARIANT varChild, IDispatch **ppdispChild)

The parameter varChild describes the child whose interface the client wants, and I have read many times that it can be CHILDID_SELF, or something else. But what is the "something"? Is it the tab index, based at 1 (because CHILDID_SELF is 0)? Is it a child window's control ID? Can it be negative? (Is it always a LONG value, or can it be some other type?)

The inspect.exe tool reveals the "AutomationId" and the "LegacyIAccessible.ChildId" properties which sometimes (but not always) have the same value. How is this value defined? IAccessible does not have a method like get_ChildId.

How is the order defined in which an automation client like inspect.exe retrieves children of an accessible object? I am asking because inspect.exe displays children in different order than what I would like to see.

All these question refer to a native C++/MFC test project which I created to explore MSAA, which is a simplification of a real situation which should become automation-enabled. (I have several more questions but not before these simple ones are answered.) The code is available on OneDrive.

Thanks for your help...

Hans


Viewing all articles
Browse latest Browse all 585

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>