Microsoft Active Accessibility and модель автоматизации пользовательского интерфейса Compared

API автоматизации Windows состоит из двух технологий— Microsoft Active Accessibility и Microsoft модель автоматизации пользовательского интерфейса. Microsoft Active Accessibility — это устаревшая технология специальных возможностей, которая была представлена в качестве надстройки платформы для Windows 95, а модель автоматизации пользовательского интерфейса — это более новая, более эффективная технология, которая преодолевает ограничения, присущие Microsoft Active Accessibility.

В этом разделе приведены основные различия между специальными возможностями Майкрософт и модель автоматизации пользовательского интерфейса. Он содержит следующие разделы:

Основные принципы проектирования

Хотя специальные возможности Microsoft Active и модель автоматизации пользовательского интерфейса являются двумя разными технологиями, основные принципы проектирования похожи. Цель обоих технологий — предоставить широкие сведения о элементах пользовательского интерфейса, используемых в приложениях Windows. Разработчики средств специальных возможностей могут использовать эту информацию для создания программного обеспечения, которое делает приложения, работающие в Windows более доступными для людей с зрением, слухом или нарушениями движения.

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

Свойства и шаблоны элементов управления

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

Дополнительные сведения см. в разделе модель автоматизации пользовательского интерфейса Обзор свойств и общие сведения о шаблонах элементов управления модель автоматизации пользовательского интерфейса.

Роли MSAA и шаблоны элементов управления модель автоматизации пользовательского интерфейса

Корпорация Майкрософт разработала объектную модель Microsoft Active Accessibility примерно в то же время, что и Windows 95. Модель основана на "ролях", определенных десять лет назад, и вы не можете поддерживать новое поведение пользовательского интерфейса или объединить две или более ролей вместе. Например, нет текстовой объектной модели, чтобы помочь вспомогательным технологиям работать с сложным веб-содержимым. модель автоматизации пользовательского интерфейса преодолевает эти ограничения путем внедрения шаблонов элементов управления, позволяющих объектам поддерживать несколько ролей, а шаблон элемента управления модель автоматизации пользовательского интерфейса Text предлагает полнофункциональная текстовая объектная модель.

Навигация по объектной модели

Другое ограничение доступности Microsoft Active Включает навигацию по объектной модели. Microsoft Active Accessibility представляет пользовательский интерфейс в виде иерархии доступных объектов. Клиенты перемещаются из одного объекта со специальным доступом к другому с помощью интерфейсов и методов, доступных из доступного объекта. Серверы могут предоставлять дочерние элементы объекта со свойствами интерфейса IAccess или стандартным интерфейсом COM IEnumVARIANT. Однако клиенты должны иметь возможность работать с обоими подходами для любого сервера. Эта неоднозначность означает дополнительную работу для клиентских реализации и неработающие объектные модели для серверных реализации.

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

Расширяемость объектной модели

Свойства и функции специальных возможностей Microsoft Active Не могут быть расширены, не изменяя спецификацию интерфейса COM. Результатом является то, что новое поведение элемента управления невозможно предоставить через объектную модель; он, как правило, является статическим.

При модель автоматизации пользовательского интерфейса создании новых элементов пользовательского интерфейса разработчики приложений могут вводить пользовательские свойства, шаблоны элементов управления и события для описания новых элементов. Дополнительные сведения см. в разделе "Настраиваемые свойства", "События" и "Шаблоны элементов управления".

Переход из MSAA

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

Выбор специальных возможностей Майкрософт, модель автоматизации пользовательского интерфейса или I AccessEx

В этом разделе показано, какое решение API службы автоматизации Windows можно использовать для реализации продукта вспомогательных технологий или сделать приложение доступным для вспомогательных технологий.

Новые приложения и элементы управления

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

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

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

Существующие реализации активных специальных возможностей Майкрософт

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

  • Базовая иерархия сервера специальных возможностей Майкрософт для доступных объектов должна быть хорошо организована и без ошибок. IAccessibleEx не может устранить проблемы с существующими иерархиями объектов со специальными возможностями.
  • Реализация IAccessibleEx должна соответствовать спецификации Microsoft Active Accessibility и спецификации модель автоматизации пользовательского интерфейса. Корпорация Майкрософт предоставляет набор средств для проверки соответствия обеим спецификациям. Дополнительные сведения см. в разделе "Тестирование специальных возможностей".

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

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

Общие сведения об API автоматизации Windows

Специальные возможности Microsoft Active

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

Интерфейс IAccessibleEx