Спецификация автоматизации пользовательского интерфейса
В этом разделе представлен обзор спецификации службы автоматизации пользовательского интерфейса Майкрософт, которая формирует основу реализации автоматизации пользовательского интерфейса Windows. Спецификация автоматизации пользовательского интерфейса может поддерживаться на разных платформах, отличных от Microsoft Windows. Дополнительные сведения см. в спецификации автоматизации пользовательского интерфейса
В этом разделе содержатся следующие разделы:
- Вводный
- элементы автоматизации пользовательского интерфейса
- дерево автоматизации пользовательского интерфейса
- свойства автоматизации пользовательского интерфейса
- шаблонов элементов управления автоматизации пользовательского интерфейса
- Типы элементов управления автоматизации пользовательского интерфейса
- события автоматизации пользовательского интерфейса
- связанные разделы
Вводный ввод
Спецификация автоматизации пользовательского интерфейса предоставляет гибкий программный доступ к элементам пользовательского интерфейса на рабочем столе Windows, позволяя вспомогательным технологиям, таким как средства чтения с экрана, предоставлять сведения о пользовательском интерфейсе конечным пользователям и управлять пользовательским интерфейсом с помощью стандартных входных данных.
Автоматизация пользовательского интерфейса более широка в области, чем только определение интерфейса. Он предоставляет:
- Объектная модель и функции, упрощающие получение событий клиентскими приложениями, получение значений свойств и управление элементами пользовательского интерфейса.
- Базовая инфраструктура для поиска и получения границ процесса.
- Набор интерфейсов для поставщиков для выражения структуры дерева, общих свойств и функций элементов пользовательского интерфейса.
- Свойство "тип элемента управления", позволяющее клиентам и поставщикам четко указывать общие свойства, функциональные возможности и структуру объекта пользовательского интерфейса.
Автоматизация пользовательского интерфейса улучшает специальные возможности Microsoft Active По следующим возможностям:
- Включение эффективных внепроцессных клиентов, продолжая разрешать доступ в процессе.
- Предоставление дополнительных сведений о пользовательском интерфейсе таким образом, чтобы клиенты не выполнялись.
- Совместное использование и использование активных специальных возможностей Майкрософт, не наследуя его ограничения. Дополнительные сведения см. в статье Microsoft Active Accessibility and UI Automation Compared.
- Предоставление альтернативы IAccessible простой реализации.
Реализация спецификации автоматизации пользовательского интерфейса в компонентах объектной модели компонентов Windows (COM) и управляемых интерфейсов.
Элементы автоматизации пользовательского интерфейса
Автоматизация пользовательского интерфейса предоставляет каждому элементу пользовательского интерфейса клиентским приложениям в качестве элемента автоматизации . Поставщики предоставляют значения свойств для каждого элемента. Элементы предоставляются в виде структуры дерева с рабочим столом в качестве корневого элемента.
Элементы автоматизации предоставляют общие свойства элементов пользовательского интерфейса, которые они представляют. Одно из этих свойств — это тип элемента управления, описывающий его базовый внешний вид и функциональные возможности (например, кнопку или флажок).
Дерево автоматизации пользовательского интерфейса
Дерево автоматизации пользовательского интерфейса представляет весь пользовательский интерфейс: корневой элемент — текущий рабочий стол, а дочерние элементы — окна приложений. Каждый из этих дочерних элементов может содержать элементы, представляющие меню, кнопки, панели инструментов и т. д. Эти элементы, в свою очередь, могут содержать такие элементы, как элементы списка, как показано на следующем рисунке.
снимок экрана
Помните, что порядок братьев и сестер в дереве автоматизации пользовательского интерфейса очень важен. Объекты, которые находятся рядом друг с другом, также должны находиться рядом с деревом автоматизации пользовательского интерфейса.
Поставщики автоматизации пользовательского интерфейса для определенного элемента управления поддерживают навигацию между дочерними элементами этого элемента управления. Однако поставщики не обеспокоены навигацией между этими вложенными деревьями элементов управления. Это управляется ядром автоматизации пользовательского интерфейса, используя сведения от поставщиков окон по умолчанию.
Чтобы клиенты более эффективно обрабатывали сведения о пользовательском интерфейсе, платформа поддерживает альтернативные представления дерева автоматизации: необработанное представление, представление элемента управления и представление содержимого. Как показано в следующей таблице, тип фильтрации определяет представления, а клиент определяет область представления.
Дерево автоматизации | Описание |
---|---|
Необработанное представление | Полное дерево объектов элементов автоматизации, для которых рабочий стол является корнем. |
Представление элемента управления | Подмножество необработанного представления, которое тесно сопоставляется со структурой пользовательского интерфейса по мере его восприятия пользователем. |
Представление содержимого | Подмножество представления элемента управления, содержащее содержимое, наиболее релевантное для пользователя, например значения в раскрывающемся списке. |
Дополнительные сведения см. в дерева автоматизации пользовательского интерфейса.
Свойства автоматизации пользовательского интерфейса
Спецификация автоматизации пользовательского интерфейса определяет два типа свойств: свойства элемента автоматизации и свойства шаблона элемента управления. Свойства элемента автоматизации применяются к большинству элементов управления, предоставляя основные сведения об элементе, например его имя. Свойства шаблона элемента управления применяются к шаблонам элементов управления, которые описаны далее.
В отличие от специальных возможностей Microsoft Active, каждое свойство автоматизации пользовательского интерфейса определяется GUID и программным именем, что упрощает внедрение новых свойств.
Дополнительные сведения см. в обзор свойств автоматизации пользовательского интерфейса.
Шаблоны элементов управления автоматизации пользовательского интерфейса
Шаблон элемента управления описывает определенный аспект функциональности элемента автоматизации. Например, простой элемент управления "click-able", например кнопка или гиперссылка, должен поддерживать шаблон элемента управления Invoke, чтобы представить действие "click".
Каждый шаблон элемента управления является каноническим представлением возможных функций и функций пользовательского интерфейса. Текущая реализация автоматизации пользовательского интерфейса определяет 22 шаблона элементов управления. API автоматизации Windows также может поддерживать пользовательские шаблоны элементов управления. В отличие от роли или свойств состояния Microsoft Active Accessibility, один элемент автоматизации может поддерживать несколько шаблонов элементов управления автоматизации пользовательского интерфейса.
Дополнительные сведения см. в шаблонах элементов управления автоматизации пользовательского интерфейса.
Типы элементов управления автоматизации пользовательского интерфейса
Тип элемента автоматизации — это свойство элемента автоматизации, указывающее хорошо известный элемент управления, который представляет элемент. В настоящее время служба автоматизации пользовательского интерфейса определяет тридцати восьми типов элементов управления, включая Button, CheckBox, ComboBox, DataGrid, Document, Hyperlink, Image, ToolTip, Tree и Window.
Прежде чем назначить элементу тип элемента, элемент должен соответствовать определенным условиям, включая определенную структуру дерева автоматизации, значения свойств, шаблоны элементов управления и события. Тем не менее, вы не ограничены этими. Вы можете расширить элемент управления с настраиваемыми шаблонами и свойствами, а также с предопределенными.
Общее количество стандартных типов элементов управления значительно ниже, чем ролей объектов Microsoft Active Accessibility, так как шаблоны элементов автоматизации пользовательского интерфейса можно объединить для выражения большего набора функций, в то время как роли Microsoft Active Accessibility не могут.
Дополнительные сведения см. в разделе Типы элементов управления автоматизации пользовательского интерфейса.
События автоматизации пользовательского интерфейса
События автоматизации пользовательского интерфейса уведомляют приложения об изменениях и действиях, выполняемых с элементами автоматизации. Существует четыре различных типа событий автоматизации пользовательского интерфейса, и они не обязательно означают, что визуальное состояние пользовательского интерфейса изменилось. Модель событий автоматизации пользовательского интерфейса не зависит от платформы WinEvent в Windows, хотя API автоматизации Windows обеспечивает взаимодействие событий автоматизации пользовательского интерфейса с платформой Microsoft Active Accessibility.
Дополнительные сведения см. в обзоре событий автоматизации пользовательского интерфейса.
Связанные разделы
спецификации автоматизации пользовательского интерфейсаAPI автоматизации Windows