[Accessibility] IAccessibleEx equivalent

Pete Brunet pete at a11ysoft.com
Thu Feb 18 19:53:37 PST 2010

Hi Alex, A simple element is a lightweight accessible object used when
there are a lot of children, e.g. for list items.  Events are fired from
the parent accessible with a non-zero child ID and then when the
accessible is queried it returns information for the child (simple
element).  IA2 implementations, at least to this point, have not
implemented IA2 on simple elements and thus there has been no need for
an IA2Ex.  -Pete
Alexander Surkov wrote:
> Hi, Pete.
> What is simple element? Does it implement IAccessible? Does it
> implement IServiceProvider?
> Alex.
> On Thu, Feb 18, 2010 at 2:13 AM, Pete Brunet <pete at a11ysoft.com> wrote:
>> Hi Alex, This is needed because you can't QI/QS a simple element.  A use
>> case would be if the accessible is a simple element backed by an object
>> implementing IA2.  As you most likely know, simple elements are only
>> accessible via a reference to the parent IAccessible plus a non-zero
>> child ID identifying a particular child simple element.  If you had the
>> IAccessible, child ID pair and wanted a reference to the associated
>> child IA2 object then you could use objectForChild.
>> Does that make sense?
>> Pete
>> ---
>> Alexander Surkov wrote:
>>> Hi, Pete.
>>> I don't completely understand the idea of new interface. I'm looking
>>> at examples at https://lists.linux-foundation.org/pipermail/accessibility-ia2/2008-June/000512.html
>>> and it sounds this interface is intended to do the same we do by
>>> QueryInterface and QueryService methods (the conversion from
>>> IAccessible to IAccessible2 and vise versa). Could you please more
>>> details?
>>> Thanks.
>>> Alex.
>>> On Wed, Feb 17, 2010 at 1:32 PM, Pete Brunet <pete at a11ysoft.com> wrote:
>>>> Here is some background one of today's topics:
>>>> About two years ago Microsoft asked for the addition of two methods to IA2
>>>> which would be equivalent to UIA's IAccessibleEx::GetObjectForChild and
>>>> GetIAccessilbePair which translate back and forth between MSAA objects
>>>> (including simple elements) and UIA objects.  The proposed IA2 equivalent
>>>> is:
>>>> IAccessibleSimple (or some other name like IAccessible2Ex)
>>>> // For this parent accessible, fetch a full accessible representing the
>>>> specified
>>>> // child simple element where the accessible has implemented IAccessible2
>>>> [propget] HRESULT objectForChild( [in] long childID, [out, retval]
>>>> IAccessible2 *accessible2 );
>>>> // For this accessible, fetch the parent accessible, childID pair
>>>> representing an equivalent simple element
>>>> [propget] HRESULT accessiblePair( [out] IAccessible * accessible, [out,
>>>> retval] long childID );
>>>> For background follow this link:
>>>> http://bugs.freestandards.org/show_bug.cgi?id=114
>>>> --
>>>> Pete Brunet
>>>> a11ysoft - Accessibility Architecture and Development
>>>> (512) 238-6967 (work), (512) 689-4155 (cell)
>>>> Skype: pete.brunet
>>>> IM: ptbrunet (AOL, Google), ptbrunet at live.com (MSN)
>>>> http://www.a11ysoft.com/about/
>>>> Ionosphere: WS4G

More information about the Accessibility mailing list