Microsoft UI Automation is the new accessibility framework for Microsoft Windows, available on all operating systems that support Windows Presentation Foundation (WPF). see - http://msdn2.microsoft.com/en-us/library/ms747327.aspx
I was hoping that xamRibbon will fully support this so that the if we decide to use this in our application then we automatically have an accessible application. However I have noticed that this currently isn't the case. e.g. ButtonTool items aren't accessible but RadioButtonTool are. I had hoped that using the AutomationProperties as extension properties (in xaml) to the control will suface into the UI, but they don't .
Is there anything I can do to make this work from my end? Will the release version fully support UI Automation?
I would be happy to provide further details and examples. If you require them, please let me know.
Here is one example of a work-around. However, please keep in mind that this work-around is a big stretch and will only solve the problem in certain instances:
If you're displaying an image (through the LargeImage or SmallImage properties) in the ButtonTool, the image itself can be located and is accessable to the UI Automation classes. By getting the image, you get the image location, which is overtop of the ButtonTool location. Obviously, you cannot get the ButtonTool control patterns, but you can use the mouse and the image coordinates to interact with the button, but the ButtonTool must be visible and it can't be off-screen.
Also, note that the image in the ButtonTool has very generic attributes making it difficult to obtain the correct one (AutomationID: "image"; ClassName: "Image"). In order to get the image, you have to search by these properties and iterate through and select the correct one. The best way to do this is to first obtain the ButtonTool's parent AutomationElement, perform a FindAll() search matching the criteria mentioned above with a scope of just the immediate children. The results can be somewhat predictable at that point, so use trial and error to get the correct result.
Infragistics: there are many who have spoken already about needing support for UI Automation with this control, and I would like to add myself to this list. Please publish a hot fix.
Thanks for the quick reply. Any suggested workarounds?
Is there a fix in the works for this yet? Thanks.