[Accessibility] IAccessibleEx equivalent

David Bolter david.bolter at gmail.com
Thu Feb 25 20:51:23 PST 2010


Hi Pete,

I don't know. Why did MS request it be added to IA2? If there is a good 
reason (e.g. improved interoperability) we should do it, but otherwise I 
don't see a need.

cheers,
David

On 23/02/10 2:55 PM, Pete Brunet wrote:
> 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
>>>>>>>>>
>>>>>>>>>                    
>    



More information about the Accessibility mailing list