Información general sobre proveedores de UI Automation

Un proveedor de Microsoft Automatización de la interfaz de usuario es un objeto de software que expone un elemento de la interfaz de usuario de una aplicación para que las aplicaciones cliente de accesibilidad puedan recuperar información sobre el elemento e invocar su funcionalidad. En general, cada control u otro elemento distinto de una interfaz de usuario tiene un proveedor.

Microsoft incluye un proveedor para cada uno de los controles estándar que se proporcionan con Microsoft Win32, Windows Forms y Windows Presentation Foundation (WPF). Esto significa que los controles estándar se exponen automáticamente a Automatización de la interfaz de usuario clientes; no es necesario implementar ninguna interfaz de accesibilidad para los controles estándar.

Si la aplicación incluye controles personalizados, debe implementar proveedores de Automatización de la interfaz de usuario para esos controles para que sean accesibles para las aplicaciones cliente de accesibilidad. También debe implementar proveedores para los controles de terceros que no incluyan un proveedor. Para implementar un proveedor, implemente interfaces de proveedor de Automatización de la interfaz de usuario y interfaces de patrón de control.

En este tema se proporciona información general sobre cómo implementan los desarrolladores de controles Automatización de la interfaz de usuario proveedores. Incluye las secciones siguientes.

Tipos de proveedores

Automatización de la interfaz de usuario proveedores se dividen en dos categorías: proveedores del lado servidor y proveedores del lado cliente (o proxy).

Un proveedor del lado servidor es un objeto, como un control personalizado, que contiene su propia implementación nativa de las interfaces de proveedor de Automatización de la interfaz de usuario pertinentes. Un proveedor del lado servidor se comunica con las aplicaciones cliente a través del límite del proceso mediante la exposición de su implementación de las interfaces de proveedor al núcleo de Automatización de la interfaz de usuario, que los servicios solicitan de los clientes. Para obtener más información sobre los proveedores del lado servidor, vea Implementación de un proveedor de Server-Side Automatización de la interfaz de usuario.

Un proveedor del lado cliente, o proxy, es un objeto que implementa interfaces de proveedor de Automatización de la interfaz de usuario en nombre de un control no incluye una implementación de proveedor completa propia. Sin un proxy, este control es en gran medida opaco para Automatización de la interfaz de usuario, que solo puede proporcionar información básica disponible desde el identificador de ventana (HWND), como la ubicación del control. Normalmente, los proveedores de proxy se comunican con la aplicación a través del límite del proceso enviando y recibiendo mensajes de Windows. Para obtener más información, vea Implementación de un proveedor de Automatización de la interfaz de usuario de Client-Side (proxy).

Conceptos del proveedor de la automatización de la interfaz de usuario

En esta sección se ofrecen breves explicaciones de algunos de los conceptos clave que debe entender para implementar proveedores de automatización de la interfaz de usuario.

Elementos

Automatización de la interfaz de usuario elementos son partes de la interfaz de usuario (normalmente ventanas o controles) que son visibles para Automatización de la interfaz de usuario clientes. Entre los ejemplos se incluyen ventanas de aplicación, paneles, botones, información sobre herramientas, cuadros de lista y elementos de lista.

Automatización de la interfaz de usuario elementos se exponen a los clientes como un árbol. La automatización de la interfaz de usuario construye el árbol navegando de un elemento a otro. El proveedor habilita la navegación para cada elemento. Cada elemento puede apuntar a su propio elemento primario, sus elementos del mismo nivel y sus elementos secundarios primero y último.

Un cliente puede ver el árbol de Automatización de la interfaz de usuario en tres vistas principales, como se describe en la tabla siguiente:

Ver Descripción
Vista sin formato Incluye todos los elementos.
Vista de control Incluye elementos que son controles.
Vista de contenido Incluye elementos de control que transmiten información al usuario.

 

Es responsabilidad de la implementación del proveedor definir un elemento como un elemento de contenido o un elemento de control. Los elementos de control pueden o no ser elementos de contenido, pero todos los elementos de contenido son elementos de control.

Para obtener más información sobre la vista de cliente del árbol, consulte Automatización de la interfaz de usuario Información general del árbol.

Marcos de trabajo

Un marco de trabajo es un componente que administra controles secundarios, pruebas de aciertos y representación en un área de la pantalla. Por ejemplo, una ventana win32, a menudo denominada HWND, puede servir como marco que contiene varios elementos de Automatización de la interfaz de usuario, como una barra de menús, una barra de estado y botones.

Los controles de contenedor win32, como cuadros de lista y controles de vista de árbol, se consideran marcos porque contienen su propio código para representar elementos secundarios y realizar pruebas de posicionamiento en ellos. Por el contrario, un cuadro de lista de WPF no es un marco, ya que la ventana contenedora controla la representación y las pruebas de posicionamiento.

La interfaz de usuario de una aplicación se puede componer de diferentes marcos de trabajo. Por ejemplo, un HWND en una aplicación podría contener HTML dinámico (DHTML), que a su vez puede contener un componente como un cuadro combinado en un HWND.

Fragments

Un subárbol completo de elementos de un marco determinado se denomina fragmento. El elemento del nodo raíz del subárbol se denomina raíz del fragmento. Una raíz de fragmento no tiene un elemento primario, pero se hospeda en algún otro marco, normalmente una ventana win32 (HWND).

Hosts

El nodo raíz de cada fragmento debe hospedarse en un elemento, normalmente una ventana win32 (HWND). La excepción es el escritorio, que no se hospeda en ningún otro elemento. El host de un control personalizado es el HWND del propio control, no la ventana de la aplicación ni ninguna otra ventana que pueda contener grupos de controles de nivel superior.

El host de un fragmento desempeña un papel importante en el suministro de servicios de automatización de la interfaz de usuario. Permite la navegación a la raíz del fragmento y ofrece algunas propiedades predeterminadas para que el proveedor personalizado no tenga que implementarlas.

Conceptual

Implementación de un proveedor de Client-Side Automatización de la interfaz de usuario

Implementación de un proveedor de Server-Side Automatización de la interfaz de usuario

Información general sobre el árbol de la UI Automation