Interfaz IAccessibleEx

Los controles que no tienen un proveedor de Microsoft Automatización de la interfaz de usuario, pero que implementan IAccessible, se pueden actualizar fácilmente para proporcionar algunas funciones de Automatización de la interfaz de usuario mediante la implementación de la interfaz IAccessibleEx. Esta interfaz permite que el control exponga Automatización de la interfaz de usuario propiedades y patrones de control, sin necesidad de una implementación completa de interfaces de proveedor de Automatización de la interfaz de usuario como IRawElementProviderFragment. Para usar IAccessibleEx, IRawElementProviderFragment y todas las demás interfaces de Automatización de la interfaz de usuario, incluya el archivo de encabezado UIAutomation.h en el código fuente.

Por ejemplo, considere un control personalizado que tenga un valor de intervalo. El servidor de accesibilidad activa de Microsoft para el control define el rol del control y puede devolver su valor actual. Sin embargo, dado que Microsoft Active Accessibility no define las propiedades mínimas y máximas, el servidor carece de los medios para devolver los valores mínimo y máximo del control. Un cliente Automatización de la interfaz de usuario puede recuperar el rol del control, el valor actual y otras propiedades de accesibilidad activa de Microsoft, ya que el Automatización de la interfaz de usuario núcleo puede obtenerlos a través de IAccessible. Sin embargo, sin acceso a una interfaz IRangeValueProvider en el objeto, Automatización de la interfaz de usuario tampoco puede recuperar los valores máximos y mínimos.

El desarrollador de controles podría proporcionar un proveedor completo de Automatización de la interfaz de usuario para el control, pero esto significaría duplicar gran parte de la funcionalidad existente de la implementación de IAccessible: por ejemplo, la navegación y las propiedades comunes. En su lugar, el desarrollador puede seguir confiando en IAccessible para proporcionar esta funcionalidad, al tiempo que agrega compatibilidad con propiedades específicas del control a través de IRangeValueProvider.

En esta sección

Infraestructura común