Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Esta documentación está pensada para desarrolladores de .NET Framework que desean usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para obtener la información más reciente sobre la automatización de la interfaz de usuario, consulte API de Windows Automation: Automatización de la interfaz de usuario.
Automatización de la interfaz de usuario de Microsoft es el nuevo marco de accesibilidad para Microsoft Windows, disponible en todos los sistemas operativos que admiten Windows Presentation Foundation (WPF).
La automatización de la interfaz de usuario proporciona acceso mediante programación a la mayoría de los elementos de la interfaz de usuario (UI) del escritorio, lo que permite a los productos de tecnología de asistencia, como lectores de pantalla, proporcionar información sobre la interfaz de usuario a los usuarios finales y manipular la interfaz de usuario por medios distintos de la entrada estándar. La automatización de la interfaz de usuario también permite que los scripts de prueba automatizados interactúen con la interfaz de usuario.
Nota:
La automatización de la interfaz de usuario no habilita la comunicación entre los procesos iniciados por distintos usuarios a través del comando Ejecutar como .
Las aplicaciones cliente de automatización de la interfaz de usuario se pueden escribir con la garantía de que funcionarán en varios marcos. El núcleo de automatización de la interfaz de usuario enmascara las diferencias en los marcos que subyacen a varias partes de la interfaz de usuario. Por ejemplo, la Content
propiedad de un botón WPF, la Caption
propiedad de un botón Win32 y la ALT
propiedad de una imagen HTML se asignan a una sola propiedad, Name, en la vista Automatización de la interfaz de usuario.
La automatización de la interfaz de usuario proporciona una funcionalidad completa en los sistemas operativos Windows compatibles que ejecutan .NET Framework (consulte Requisitos del sistema de .NET Framework o versiones de .NET Core a partir de .NET Core 3.0.
Los proveedores de automatización de la interfaz de usuario ofrecen compatibilidad con aplicaciones cliente de accesibilidad activa de Microsoft a través de un servicio de puente integrado.
Proveedores y clientes
La automatización de la interfaz de usuario tiene cuatro componentes principales, como se muestra en la tabla siguiente.
Componente | Descripción |
---|---|
API de proveedor (UIAutomationProvider.dll y UIAutomationTypes.dll) | Conjunto de definiciones de interfaz implementadas por proveedores de automatización de la interfaz de usuario, objetos que proporcionan información sobre los elementos de la interfaz de usuario y responden a la entrada mediante programación. |
API de cliente (UIAutomationClient.dll y UIAutomationTypes.dll) | Conjunto de tipos para código administrado que permite a las aplicaciones cliente de Automatización de la interfaz de usuario obtener información sobre la interfaz de usuario y enviar entradas a controles. |
UiAutomationCore.dll | El código subyacente (a veces denominado núcleo de Automatización de la interfaz de usuario) que controla la comunicación entre proveedores y clientes. |
UIAutomationClientsideProviders.dll | Conjunto de proveedores de automatización de la interfaz de usuario para controles heredados estándar. (Los controles WPF tienen compatibilidad nativa con la automatización de la interfaz de usuario). Esta compatibilidad está disponible automáticamente para las aplicaciones cliente. |
Desde la perspectiva del desarrollador de software, hay dos maneras de usar automatización de la interfaz de usuario: crear compatibilidad con controles personalizados (mediante la API del proveedor) y crear aplicaciones que usan el núcleo de Automatización de la interfaz de usuario para comunicarse con elementos de la interfaz de usuario (mediante la API de cliente). Según su enfoque, debe hacer referencia a diferentes partes de la documentación. Puede obtener más información sobre los conceptos y obtener conocimientos prácticos sobre procedimientos en las secciones siguientes.
Sección | Tema | Público |
---|---|---|
Aspectos básicos de automatización de la interfaz de usuario (esta sección) | Información general de los conceptos. | Todos. |
proveedores de automatización de la interfaz de usuario de para de código administrado | Información general y temas de procedimientos para ayudarle a usar la API del proveedor. | Controlar a los desarrolladores. |
clientes de automatización de la interfaz de usuario de para de código administrado | Información general y temas de procedimientos para ayudarle a usar la API de cliente. | Desarrolladores de aplicaciones cliente. |
patrones de control de automatización de la interfaz de usuario de | Información sobre cómo los proveedores deben implementar patrones de control y qué funcionalidad está disponible para los clientes. | Todos. |
Patrón de Texto de Automatización de la Interfaz de Usuario de | Información sobre cómo los proveedores deben implementar el patrón de control Text y qué funcionalidad está disponible para los clientes. | Todos. |
tipos de control de automatización de la interfaz de usuario | Información sobre las propiedades y los patrones de control admitidos por diferentes tipos de control. | Todos. |
En la tabla siguiente se enumeran los espacios de nombres de automatización de la interfaz de usuario, los archivos DLL que los contienen y el público que los usa.
Namespace | DLL a las que se hace referencia | Público |
---|---|---|
System.Windows.Automation | UIAutomationClientUIAutomationTypes | Desarrolladores de cliente de la Automatización de la interfaz de usuario; se utiliza para buscar objetos AutomationElement, registrarse para eventos de la Automatización de la interfaz de usuario y trabajar con patrones de control de la Automatización de la interfaz de usuario. |
System.Windows.Automation.Provider | UIAutomationProviderUIAutomationTypes | Desarrolladores de proveedores de automatización de la interfaz de usuario para marcos distintos de WPF. |
System.Windows.Automation.Text | UIAutomationClientUIAutomationTypes | Desarrolladores de proveedores de la Automatización de la interfaz de usuario para marcos distintos de WPF; se usan para implementar el patrón de control TextPattern. |
System.Windows.Automation.Peers | PresentationFramework | Desarrolladores de proveedores de automatización de la interfaz de usuario para WPF. |
Modelo de automatización de la interfaz de usuario
La automatización de la interfaz de usuario expone cada parte de la interfaz de usuario a las aplicaciones cliente como un AutomationElement. Los elementos se encuentran en una estructura de árbol, con el escritorio como elemento raíz. Los clientes pueden filtrar la vista en bruto del árbol como una vista de control o una vista de contenido. Las aplicaciones también pueden crear vistas personalizadas.
AutomationElement los objetos exponen propiedades comunes de los elementos de la interfaz de usuario que representan. Una de estas propiedades es el tipo de control, que define su apariencia básica y funcionalidad como una sola entidad reconocible: por ejemplo, un botón o una casilla.
Además, los elementos exponen patrones de control que proporcionan propiedades específicas de sus tipos de control. Los patrones de control también exponen métodos que permiten a los clientes obtener más información sobre el elemento y proporcionar entradas.
Nota:
No hay una correspondencia uno a uno entre los tipos de control y los patrones de control. Un patrón de control puede ser compatible con varios tipos de control y un control puede admitir varios patrones de control, cada uno de los cuales expone diferentes aspectos de su comportamiento. Por ejemplo, un cuadro combinado tiene al menos dos patrones de control: uno que representa su capacidad para expandirse y contraerse, y otro que representa el mecanismo de selección. Para obtener información específica, consulte Tipos de control de automatización de la interfaz de usuario.
La automatización de la interfaz de usuario también proporciona información a las aplicaciones cliente a través de eventos. A diferencia de WinEvents, los eventos de automatización de la interfaz de usuario no se basan en un mecanismo de difusión. Los clientes de Automatización de la interfaz de usuario se registran para notificaciones de eventos específicas y pueden solicitar que se pasen a sus controladores de eventos propiedades y patrones de control específicos de automatización de la interfaz de usuario. Además, un evento de automatización de la interfaz de usuario contiene una referencia al elemento que lo generó. Los proveedores pueden mejorar el rendimiento mediante la generación de eventos de forma selectiva, en función de si algún cliente está escuchando.
Consulte también
- Información general sobre el árbol de la UI Automation
- Información general acerca de los patrones de control de UI Automation
- Introducción a las propiedades de Automatización de la interfaz de usuario
- Información general de eventos de automatización de la interfaz de usuario de
- Introducción a la seguridad de automatización de la interfaz de usuario