Поделиться через


Архитектура и взаимодействие

В этом разделе кратко описывается архитектура Microsoft Active Accessibility и службы автоматизации пользовательского интерфейса Майкрософт, а также компоненты, которые позволяют взаимодействовать между приложениями на основе двух различных технологий.

Дополнительные сведения о взаимодействии Microsoft Active Accessibility и автоматизации пользовательского интерфейса см. в разделе Common Infrastructure.

В этом разделе содержатся следующие разделы.

Архитектура microsoft Active Accessibility

Microsoft Active Accessibility предоставляет основные сведения об элементах управления, таких как имя элемента управления, расположение на экране и тип элемента управления, а также сведения о состоянии, такие как видимость и состояние включения и отключения. Пользовательский интерфейс представлен как иерархия доступных объектов; изменения и действия представлены как WinEvents.

Microsoft Active Accessibility состоит из следующих компонентов:

  • Доступный объект — логический элемент пользовательского интерфейса (например, кнопка), представленный интерфейсом IAccessible компонентной объектной модели (COM) и целым числом дочерним идентификатором (ChildID).
  • WinEvents — система событий, которая позволяет серверам уведомлять клиентов о изменении доступных объектов. Дополнительные сведения см. в разделе WinEvents.
  • OLEACC.dll— библиотека динамических ссылок, предоставляющая API читаемости Microsoft Active и системную платформу специальных возможностей. OLEACC реализует прокси-объекты, предоставляющие сведения о специальных возможностях по умолчанию для стандартных элементов пользовательского интерфейса, включая элементы управления USER, меню USER и общие элементы управления.

Для Microsoft Active Accessibility системный компонент платформы специальных возможностей (OLEACC) помогает обмен данными между вспомогательными технологиями (средствами специальных возможностей) и приложениями, как показано на следующем рисунке.

иллюстрация взаимодействия средств специальных возможностей с приложениями

Приложения (серверы специальных возможностей Майкрософт) предоставляют сведения о специальных возможностях пользовательского интерфейса средствам (клиентам Microsoft Active Accessibility), которые взаимодействуют с пользовательским интерфейсом от имени пользователей. Граница кода — это программная и граничная граница процесса.

Архитектура автоматизации пользовательского интерфейса

С помощью службы автоматизации пользовательского интерфейса основной компонент автоматизации пользовательского интерфейса (UIAutomationCore.dll) загружается как в процессы специальных возможностей, так и в процессы приложений. Основной компонент управляет взаимодействием между процессами, предоставляет службы более высокого уровня, такие как поиск элементов по значениям свойств, и обеспечивает массовое получение или кэширование свойств, что обеспечивает лучшую производительность, чем реализация Microsoft Active Accessibility.

Автоматизация пользовательского интерфейса включает прокси-объекты, предоставляющие сведения о стандартных элементах пользовательского интерфейса, таких как элементы управления USER, меню USER и общие элементы управления. Он также включает прокси-серверы, позволяющие клиентам автоматизации пользовательского интерфейса получать сведения о пользовательском интерфейсе с серверов microsoft Active Accessibility.

На следующем рисунке показаны связи между различными компонентами автоматизации пользовательского интерфейса, используемыми в средствах специальных возможностей (клиентах) и в приложениях (поставщиках).

иллюстрация взаимодействия компонентов средств специальных возможностей с приложениями

Взаимодействие с microsoft Active Специальные возможности и автоматизация пользовательского интерфейса

Служба автоматизации пользовательского интерфейса в мост microsoft Active Accessibility позволяет клиентам Microsoft Active Accessibility получать доступ к поставщикам автоматизации пользовательского интерфейса, преобразовав объектную модель автоматизации пользовательского интерфейса в объектную модель Microsoft Active Accessibility. На следующем рисунке показана роль моста автоматизации пользовательского интерфейса в Microsoft Active Accessibility Bridge.

иллюстрация, показывающая, как автоматизация пользовательского интерфейса работает с средствами специальных возможностей и приложениями

Аналогичным образом microsoft Active Accessibility—to-UI Proxy преобразует объектные модели сервера на основе специальных возможностей Майкрософт для клиентов автоматизации пользовательского интерфейса. На следующем рисунке показана роль прокси-сервера службы "Специальные возможности Майкрософт"to-UI службы автоматизации.

иллюстрация работы прокси-сервера автоматизации пользовательского интерфейса с инструментами специальных возможностей и приложениями

Интерфейс IAccessibleEx

Интерфейс IAccessibleEx позволяет существующим приложениям или библиотекам пользовательского интерфейса расширить объектную модель Microsoft Active Accessibility для поддержки автоматизации пользовательского интерфейса без перезаписи реализации с нуля. С помощью IAccessibleExможно реализовать только дополнительные свойства автоматизации пользовательского интерфейса и шаблоны элементов управления, необходимые для полного описания пользовательского интерфейса и его функциональных возможностей.

Так как прокси-сервер службы автоматизации Microsoft Active Active —to-UI автоматизации преобразует объектные модели IAccessEx-включенные серверы Microsoft Active Accessibility в качестве объектных моделей автоматизации пользовательского интерфейса, клиенты автоматизации пользовательского интерфейса не должны выполнять дополнительную работу. Интерфейс IAccessEx также может включить в процессе клиенты Microsoft Active Accessibility для взаимодействия напрямую с поставщиками автоматизации пользовательского интерфейса.

Дополнительные сведения см. в интерфейсе IAccessibleEx.

Обзор API автоматизации Windows

интерфейс IAccessibleEx

вопросы безопасности для вспомогательных технологий