Обзор событий автоматизации пользовательского интерфейса
Уведомление о событии автоматизации пользовательского интерфейса Майкрософт — это ключевая функция для вспомогательных технологий, таких как средства чтения с экрана и экранные лупы. Эти клиенты службы автоматизации пользовательского интерфейса отслеживают события, создаваемые поставщиками автоматизации пользовательского интерфейса, когда что-то происходит в пользовательском интерфейсе и используют сведения для уведомления конечных пользователей.
Эффективность увеличивается за счет выборочной генерации событий в приложениях поставщиков, в зависимости от того, подписаны ли какие-либо клиенты на эти события, или вовсе не генерировать события, если ни один клиент не подключен к ним.
События автоматизации пользовательского интерфейса делятся на следующие категории.
Категория событий | Описание |
---|---|
Изменение свойства | Вызывается при изменении свойства элемента автоматизации пользовательского интерфейса или шаблона элемента управления. Например, если клиенту требуется отслеживать элемент управления флажком приложения, он может зарегистрировать для прослушивания события изменения свойства в свойстве свойстве IUIAutomationTogglePattern::CurrentToggleState. Если флажок установлен или снят, поставщик вызывает событие, и клиент может действовать по мере необходимости. |
Действие элемента | Вызывается при изменении пользовательского интерфейса пользователем или в результате программного действия, например, при нажатии кнопки или срабатывании IUIAutomationInvokePattern. |
Изменение структуры | Вызывается при изменении структуры дерева автоматизации пользовательского интерфейса. Структура изменяется, когда новые элементы пользовательского интерфейса становятся видимыми, скрытыми или удаленными на рабочем столе. |
Изменение глобального рабочего стола | Возникает, когда возникают действия глобального интереса к клиенту, например при перемещении фокуса с одного элемента на другой или при закрытии окна. |
Уведомление | Вызывается при вызове функции UiaRaiseNotificationEvent приложением. NotificationKind указывает тип уведомления. |
Некоторые события не обязательно означают, что состояние пользовательского интерфейса изменилось. Например, если пользователь нажимает кнопку на поле записи текста, а затем нажимает кнопку для обновления поля, возникает событие UIA_Text_TextChangedEventId, даже если пользователь не изменил текст. При обработке события может потребоваться для клиентского приложения проверить, изменилось ли что-либо, прежде чем принимать меры.
Следующие события могут возникать даже в том случае, если состояние пользовательского интерфейса не изменилось.
- UIA_AutomationPropertyChangedEventId (в зависимости от измененного свойства)
- UIA_SelectionItem_ElementSelectedEventId
- UIA_Selection_InvalidatedEventId
- UIA_Text_TextChangedEventId
Описание всех событий автоматизации пользовательского интерфейса см. в разделе Идентификаторы событий.
Связанные разделы