[Accessibility] IAccessibleEx equivalent

Pete Brunet pete at a11ysoft.com
Tue Feb 23 14:55:04 PST 2010

Has anyone on the app/server side had a desire to implement IA2 on
simple elements?  Has anyone on the AT/cleint side wished for IA2 to be
implemented on simple elements (rather than using the DOM or OSM)?
Pete Brunet wrote:
> Alex, When you are interacting with the parent on behalf of the simple
> element child you can ask that parent for info about the child by
> using a non-zero childID (but you can't ask the child directly because
> it doesn't implement IA).  If there was an app that added IA2 objects
> for each simple element child the only way to get to the IA2 interface
> of the simple element child would be to use IA2Ex implemented on the
> parent to ask the parent for the IA2 object for the requested simple
> element child.  Does that make sense?  -Pete
> Alexander Surkov wrote:
>> I mean if these simple objects should implement IAccessibleSimple then
>> they could implement IServiceProvider instead so that IA2 object can
>> be obtained from the service provider. What do I miss?
>> Alex.
>> On Sun, Feb 21, 2010 at 4:00 AM, Alexander Surkov
>> <surkov.alexander at gmail.com> wrote:
>>> Hi, Pete.
>>> I still don't understand why do we need these methods. I must miss
>>> some point. Could you give me an code example please?
>>> Alex.
>>> On Fri, Feb 19, 2010 at 11:53 AM, Pete Brunet <pete at a11ysoft.com> wrote:
>>>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linux-foundation.org/pipermail/accessibility/attachments/20100223/80e4c3f6/attachment.htm 

More information about the Accessibility mailing list