Compatibilidad de UI Automation para el tipo de control Text
Nota
Esta documentación está dirigida a los desarrolladores de .NET Framework que quieran usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para ver la información más reciente acerca de la automatización de la interfaz de usuario, consulte Windows Automation API: automatización de la interfaz de usuario.
En este tema se ofrece información sobre la compatibilidad de UI Automation con el tipo de control de texto. En UI Automation, un tipo de control es un conjunto de condiciones que un control debe cumplir para poder usar la propiedad ControlTypeProperty. Las condiciones incluyen directrices específicas para la estructura de árbol de UI Automation, los valores de propiedad de automatización de la interfaz de usuario y los patrones de control.
Los controles de texto son el elemento básico de la interfaz de usuario que representa un fragmento de texto en la pantalla.
En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control de texto de UI Automation necesarios. Los requisitos de automatización de la interfaz de usuario se aplican a todos los controles de texto, ya sea Windows Presentation Foundation (WPF), Win32 o Windows Forms.
Estructura de árbol de Automatización de la interfaz de usuario necesaria
En la tabla siguiente se describe la vista de control y la vista de contenido del árbol de UI Automation que pertenece a los controles de texto y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de UI Automation, vea Información general del árbol de UI Automation.
Vista de control | Vista de contenido |
---|---|
Texto | Texto (si hay contenido) |
Un control de texto se puede usar solo como una etiqueta o como texto estático en un formulario. También puede estar dentro de la estructura de un:
ListItem
TreeItem
DataItem
Es posible que los controles de texto no estén en la vista de contenido del árbol de UI Automation porque el texto se suele mostrar a través del elemento NameProperty
de otro control. Por ejemplo, el texto que se utiliza para etiquetar un control Combo Box se expone a través del valor NameProperty
del control. Como control Combo Box está en la vista de contenido del árbol de Automatización de la interfaz de usuario, no es necesario que el control de texto esté ahí. Los controles de texto siempre tienen 0 elementos secundarios en la vista de contenido
Propiedades de Automatización de la interfaz de usuario necesarias
En la tabla siguiente se muestran las propiedades de UI Automation cuyo valor o definición es especialmente relevante para los controles de texto. Para más información sobre las propiedades de UI Automation, vea Propiedades de UI Automation Properties for clients.
Propiedad de automatización de interfaz de usuario | Valor | Notas |
---|---|---|
AutomationIdProperty | Vea las notas. | El valor de esta propiedad debe ser único en todos los controles de una aplicación. |
BoundingRectangleProperty | Vea las notas. | El rectángulo exterior que contiene el control completo. |
ClickablePointProperty | Vea las notas. | Se admite si hay un rectángulo delimitador. Si no todos los puntos que se encuentran dentro del rectángulo delimitador son seleccionables, y realiza pruebas de aciertos especializadas, invalide y ofrezca un punto en el que hacer clic. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
NameProperty | Vea las notas. | El nombre del control de barra de texto siempre es el texto que muestra. |
LabeledByProperty | Null |
Los controles de texto no tienen una etiqueta de texto estático. |
ControlTypeProperty | Texto | Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario. |
LocalizedControlTypeProperty | "text" | Cadena localizada que corresponde al tipo de control de texto. |
IsContentElementProperty | Depende | El control de texto será contenido si incluye información no expuesta en el elemento NameProperty de otro control. |
IsControlElementProperty | True | El control de texto siempre debe ser un control. |
Patrones de control de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los patrones de control de automatización de la interfaz de usuario que se deben admitir por los controles de texto. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Patrón de control | Soporte técnico | Notas |
---|---|---|
IValueProvider | Nunca | El texto nunca admite ValuePattern. Si el texto es editable, este es el tipo de control Edit. |
ITextProvider | Depende | El texto debería admitir el patrón de control Text para mejorar la accesibilidad; sin embargo, no es obligatorio. El patrón de control Text es útil cuando el texto tiene atributos y estilo enriquecidos (por ejemplo, color, negrita y cursiva). Depende del marco. |
ITableItemProvider | Depende | Si el elemento de texto está contenido dentro de un control Table, debe admitirse. |
IRangeValueProvider | Depende | Si el elemento de texto está contenido dentro de un control Table, debe admitirse. |
Eventos de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los eventos de UI Automation que se deben admitir por parte de todos los controles de texto. Para más información sobre eventos, vea UI Automation Events Overview.
Evento de Automatización de la interfaz de usuario | Soporte técnico | Notas |
---|---|---|
TextSelectionChangedEvent | Obligatorio | None |
TextChangedEvent | Obligatorio | None |
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadNameProperty . | Obligatorio | None |
Evento cambiado por propiedadValueProperty . | Nunca | None |
AutomationFocusChangedEvent | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |