FWIW, the ARIA UIAG [1] mappings do not recommend using the BSTR hack.

There is a section in the UAIG about handling ARIA attributes that don't 
have direct mappings to a11y APIs [2].  Briefly:  With respect to UIA, 
use AriaRole and/or AriaProperties; and for IA2, use object properties.  
Also, there is a note at the end of the section about MSAA:

'Editorial Note: MSAA does not provide a mechanism for exposing 
attributes that do not map directly to the API and among implementers, 
there is no agreement on how to do it."

There are a number of cases in the role mapping table [2] that 
recommends these mechanisms.  For example for role="banner", the 
MSAA+UIA Express mapping is "Expose as text string in AriaRole". The 
MSAA+IA2 mapping is use object attribute "xml-roles:banner".

Finally, there is no "pure" MSAA implementation documented in the UAIG, 
as MSAA is always used in concert with either UIA or IA2.

Hope that's useful.



'A: After all, it isn't rocket science.'
'K: Right. It's merely computer science.'
              - J. D. Klaun -

Received on Tuesday, 4 March 2014 16:00:45 UTC