I am building a UI Automation client and trying to implement invoking the 'Italics' button in the Font pane. This is what the UIAuto tree looks like for the 'I' button.

[Name:Italic,ControlType:button], Parent - [Name:Font,ControlType:tool bar], Parent - [Name:Home,ControlType:custom], Parent - [ControlTye:custom], Parent - [Name:Lower Ribbon,ControlType:pane] and so on....

For the particular AutomationElement colored in orange, I am able to access it using treewalker by getting the child of LowerRibbon. However, if I use the FindFirst method in the parentAutomationElement with LocalizedControlType as property condition -

NewCondition = new PropertyCondition(AutomationElement.LocalizedControlTypeProperty, CType, PropertyConditionFlags.IgnoreCase);

AutomationElement Ae = ParentObj.FindFirst(TreeScope.Children, NewCondition);

This does not find the node, though it is able to find all other nodes iteratively till I reach the given node.

Is this a known bug


Re: Microsoft UI Automation Building UIAutomation client for MS Word


Also, it looks like the menu that pops up on clicking the Office button (that contains Save, Save As etc.) does not support UIAutomation, as it is not being recognized using AutomationElement.FromPoint(). Will there be cases where a control that supports MSAA does not support UIAutomation or does the MSAA-UIAuto bridge work both ways (If a control supports MSAA but not UIAutomation, will the UIAutomationClient still be able to get information from the control )

As I understand it, MSAA and UIAutomation are two completely different frameworks. Or is UIAutomation built on MSAA