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


Интерфейс IAccessibleEx

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

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

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

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

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