Accessibility: Implementation

The following tables map the events that need to be generated by the providers. The list contains the relation between the Events (Automation, Structure changed and Patterns) events the default implementation.

All the classes are currently implemented in Mono.UIAutomation.Winforms.Events (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/) namespace.

Automation Property Events

All Automation Property Events classes subclass BaseAutomationPropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/BaseAutomationPropertyEvent.cs?view=markup).


Automation Property Default Implementation Notes
IsControlElement
ControlType
IsContentElement
LabeledBy
NativeWindowHandle
AutomationId
ItemType
IsPassword
LocalizedControlType
Name AutomationNamePropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/AutomationNamePropertyEvent.cs?view=markup)
AcceleratorKey
AccessKey
HasKeyboardFocus AutomationHasKeyboardFocusPropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/AutomationHasKeyboardFocusPropertyEvent.cs?view=markup)
IsKeyboardFocusable
IsEnabled AutomationIsEnabledPropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/AutomationIsEnabledPropertyEvent.cs?view=markup)
BoundingRectangle AutomationBoundingRectanglePropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/AutomationBoundingRectanglePropertyEvent.cs?view=markup)
AutomationFocusChangedEvent AutomationFocusChangedEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/AutomationFocusChangedEvent.cs?view=markup)
ProcessId
RuntimeId
ClassName
HelpText
ClickablePoint
Culture
IsOffScreen
Orientation
FrameworkId
ItemStatus
IsRequiredForForm
IsDockPatternAvailable
IsExpandCollapsePatternAvailable
IsGridItemPatternAvailable
IsGridPatternAvailable
IsInvokePatternAvailable
IsMultipleViewPatternAvailable
IsRangeValuePatternAvailable
IsSelectionItemPatternAvailable
IsSelectionPatternAvailable
IsScrollPatternAvailable
IsScrollItemPatternAvailable
IsTablePatternAvailable
IsTableItemPatternAvailable
IsTextPatternAvailable
IsTogglePatternAvailable
IsTransformPatternAvailable
IsValuePatternAvailable
IsWindowPatternAvailable
LayoutInvalidatedEvent
MenuClosedEvent
AsyncContentLoadedEvent
MenuOpenedEvent
ToolTipClosedEvent
ToolTipOpenedEvent

Pattern Events

All Automation Events classes subclass BaseAutomationEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/BaseAutomationPropertyEvent.cs?view=markup).

Pattern and Interface Property or Event Default Implementation Notes
Dock (http://msdn.microsoft.com/en-us/library/ms753935.aspx)
IDockProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.idockprovider.aspx)
DockPositionProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.dockpatternidentifiers.dockpositionproperty.aspx)
ExpandCollapse (http://msdn.microsoft.com/en-us/library/ms742886.aspx)
IExpandCollapseProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iexpandcollapseprovider.aspx)
ExpandCollapseStateProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.expandcollapsepatternidentifiers.expandcollapsestateproperty.aspx) ExpandCollapsePatternStatePropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/ExpandCollapsePatternStatePropertyEvent.cs?view=markup)
Grid (http://msdn.microsoft.com/en-us/library/ms743401.aspx)
IGridProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.igridprovider.aspx)
RowCountProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.gridpatternidentifiers.rowcountproperty.aspx) GridPatternRowCountPropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/GridPatternRowCountPropertyEvent.cs?view=markup)
ColumnCountProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.gridpatternidentifiers.columncountproperty.aspx) GridPatternColumnCountPropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/GridPatternColumnCountPropertyEvent.cs?view=markup)
Grid Item (http://msdn.microsoft.com/en-us/library/ms752320.aspx)
IGridItemProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.igriditemprovider.aspx)
RowProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.griditempatternidentifiers.rowproperty.aspx)
ColumnProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.griditempatternidentifiers.columnproperty.aspx)
RowSpanProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.griditempatternidentifiers.rowspanproperty.aspx)
ColumnSpanProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.griditempatternidentifiers.columnspanproperty.aspx)
ContainingGrid (http://msdn.microsoft.com/en-us/library/system.windows.automation.griditempatternidentifiers.containinggridproperty.aspx)
Multiple View (http://msdn.microsoft.com/en-us/library/ms747065.aspx)
IMultipleViewProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.imultipleviewprovider.aspx)
CurrentViewProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.multipleviewpatternidentifiers.currentviewproperty.aspx)
SupportedViews (http://msdn.microsoft.com/en-us/library/system.windows.automation.multipleviewpatternidentifiers.supportedviewsproperty.aspx)
Invoke (http://msdn.microsoft.com/en-us/library/ms753352.aspx)
IInvokeProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iinvokeprovider.aspx)
InvokedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.invokepatternidentifiers.invokedevent.aspx) InvokePatternInvokedEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/InvokePatternInvokedEvent.cs?view=markup)
Range Value (http://msdn.microsoft.com/en-us/library/ms743348.aspx)
IRangeValueProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.irangevalueprovider.aspx)
ValueProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.valueproperty.aspx)
IsReadOnlyProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.isreadonlyproperty.aspx)
MinimumProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.minimumproperty.aspx)
MaximumProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.maximumproperty.aspx)
LargeChangeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.largechangeproperty.aspx)
SmallChangeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.rangevaluepatternidentifiers.smallchangeproperty.aspx)
Scroll (http://msdn.microsoft.com/en-us/library/ms748954.aspx)
IScrollProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iscrollprovider.aspx)
HorizontalScrollPercentProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.horizontalscrollpercentproperty.aspx)
HorizontalViewSizeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.horizontalviewsizeproperty.aspx)
VerticalScrollPercentProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.verticalscrollpercentproperty.aspx)
VerticalViewSizeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.verticalviewsizeproperty.aspx)
HorizontallyScrollableProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.horizontallyscrollableproperty.aspx)
VerticallyScrollableProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.scrollpatternidentifiers.verticallyscrollableproperty.aspx)
Scroll Item (http://msdn.microsoft.com/en-us/library/ms750606.aspx) IScrollItem (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iscrollitemprovider.aspx) None
Selection (http://msdn.microsoft.com/en-us/library/ms745303.aspx)
ISelectionProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iselectionprovider.aspx)
SelectionProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionpatternidentifiers.selectionproperty.aspx)
CanSelectMultipleProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionpatternidentifiers.canselectmultipleproperty.aspx)
IsSelectionRequiredProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionpatternidentifiers.isselectionrequiredproperty.aspx)
InvalidatedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionpattern.invalidatedevent(VS.85).aspx)
Selection Item (http://msdn.microsoft.com/en-us/library/ms749016.aspx)
ISelectionItemProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iselectionitemprovider.aspx)
IsSelectedProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionitempatternidentifiers.isselectedproperty.aspx)
SelectionContainerProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionitempatternidentifiers.selectioncontainerproperty.aspx)
ElementAddedToSelectionEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionitempatternidentifiers.elementselectedevent.aspx)
ElementRemovedFromSelectionEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionitempatternidentifiers.elementremovedfromselectionevent.aspx)
ElementSelectedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.selectionitempatternidentifiers.elementselectedevent.aspx) SelectionItemPatternElementSelectedEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/SelectionItemPatternElementSelectedEvent.cs?view=markup)
Table Item (http://msdn.microsoft.com/en-us/library/ms752077.aspx)
ITableItemProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.itableitemprovider.aspx)
RowHeaderItemsProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.tableitempatternidentifiers.rowheaderitemsproperty.aspx)
ColumnHeaderItems (http://msdn.microsoft.com/en-us/library/system.windows.automation.tableitempatternidentifiers.columnheaderitemsproperty.aspx)
Row Listed in UISpy but not found in TableItemPatternIdentifiers.
Column Listed in UISpy but not found in TableItemPatternIdentifiers.
RowSpan Listed in UISpy but not found in TableItemPatternIdentifiers.
ColumnSpan Listed in UISpy but not found in TableItemPatternIdentifiers.
ContainingGrid Listed in UISpy but not found in TableItemPatternIdentifiers.
Table (http://msdn.microsoft.com/en-us/library/ms750497.aspx)
ITableProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.itableitemprovider.aspx)
RowHeadersProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.tablepatternidentifiers.rowheadersproperty.aspx)
ColumnHeadersProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.tablepatternidentifiers.columnheadersproperty.aspx)
RowOrColumnMajorProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.tablepatternidentifiers.roworcolumnmajorproperty.aspx)
RowCountProperty Listed in UISpy but not found in TableItemPatternIdentifiers.
ColumnCountProperty Listed in UISpy but not found in TableItemPatternIdentifiers.
Transform (http://msdn.microsoft.com/en-us/library/ms747224.aspx)
ITransformProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.itransformprovider.aspx)
CanMoveProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.transformpatternidentifiers.canmoveproperty.aspx)
CanResizeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.transformpatternidentifiers.canresizeproperty.aspx)
CanRotateProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.transformpatternidentifiers.canrotateproperty.aspx)
Toggle (http://msdn.microsoft.com/en-us/library/ms744995.aspx)
IToggleProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.itoggleprovider.aspx)
ToggleState (http://msdn.microsoft.com/en-us/library/system.windows.automation.togglepatternidentifiers.togglestateproperty.aspx) TogglePattternToggleStatePropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/TogglePatternToggleStatePropertyEvent.cs?view=markup)
Value (http://msdn.microsoft.com/en-us/library/ms752096.aspx)
IValueProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.ivalueprovider.aspx)
Value (http://msdn.microsoft.com/en-us/library/system.windows.automation.valuepatternidentifiers.valueproperty.aspx) ValuePatternValuePropertyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/ValuePatternValuePropertyEvent.cs?view=markup)
IsReadOnly (http://msdn.microsoft.com/en-us/library/system.windows.automation.valuepatternidentifiers.isreadonlyproperty.aspx) ValuePatternValueIsReadOnlyEvent (http://anonsvn.mono-project.com/viewvc/trunk/uia2atk/src/UIAutomationWinforms/UIAutomationWinforms/Mono.UIAutomation.Winforms.Events/ValuePatternValueIsReadOnlyEvent.cs?view=markup)
Window (http://msdn.microsoft.com/en-us/library/ms752096.aspx)
IWindowProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iwindowprovider.aspx)
CanMaximizeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.canmaximizeproperty.aspx)
CanMinimizeProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.canminimizeproperty.aspx)
IsModalProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.ismodalproperty.aspx)
WindowVisualStateProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.windowvisualstateproperty.aspx)
WindowInteractionStateProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.windowinteractionstateproperty.aspx)
IsTopMostProperty (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.istopmostproperty.aspx)
WindowOpenedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.windowopenedevent.aspx)
WindowClosedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.windowpatternidentifiers.windowclosedevent.aspx)
Text (http://msdn.microsoft.com/en-us/library/ms752280.aspx)
ITextProvider (http://msdn.microsoft.com/en-us/library/system.windows.automation.provider.iwindowprovider.aspx)
TextChangedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.textpatternidentifiers.textchangedevent.aspx)
TextSelectionChangedEvent (http://msdn.microsoft.com/en-us/library/system.windows.automation.textpatternidentifiers.textselectionchangedevent.aspx)