[Accessibility] IAccessibleEx equivalent

Pete Brunet pete at a11ysoft.com
Tue Feb 23 13:36:14 PST 2010


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
>>>>>>>
>>>>>>>               
>>> _______________________________________________
>>> Accessibility mailing list
>>> Accessibility at lists.linux-foundation.org
>>> https://lists.linux-foundation.org/mailman/listinfo/accessibility
>>>
>>>       
>
>
>   

-- 
*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/fa3e28a9/attachment.htm 


More information about the Accessibility mailing list