[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