Интерфейс IAccessibleEx

Элементы управления, которые не имеют поставщика модель автоматизации пользовательского интерфейса Майкрософт, но реализуют IAccessible, можно легко обновить для предоставления некоторых модель автоматизации пользовательского интерфейса функций, реализовав интерфейс IAccessibleEx. Этот интерфейс позволяет элементу управления предоставлять модель автоматизации пользовательского интерфейса свойства и шаблоны элементов управления без полной реализации интерфейсов поставщика модель автоматизации пользовательского интерфейса, таких как IRawElementProviderFragment. Чтобы использовать IAccessibleEx, IRawElementProviderFragment и все другие интерфейсы модель автоматизации пользовательского интерфейса, включите в исходный код файл заголовка UIAutomation.h.

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

Разработчик элемента управления может предоставить полный поставщик модель автоматизации пользовательского интерфейса для элемента управления, но это будет означать дублирование большей части существующих функциональных возможностей реализации IAccessible, например навигации и общих свойств. Вместо этого разработчик может по-прежнему полагаться на IAccessible для предоставления этой функции, добавив поддержку свойств элемента управления через IRangeValueProvider.

В этом разделе

Общая инфраструктура