Tipo de control ListItem

En este tema se proporciona información sobre la compatibilidad de Microsoft Automatización de la interfaz de usuario con el tipo de control ListItem.

Los controles de elemento de lista son un ejemplo de controles que implementan el tipo de control ListItem .

En las secciones siguientes se definen la estructura de árbol Automatización de la interfaz de usuario necesaria, las propiedades, los patrones de control y los eventos para el tipo de control ListItem. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de elementos de lista en los que el marco o plataforma de la interfaz de usuario integra Automatización de la interfaz de usuario compatibilidad con los tipos de control y los patrones de control.

En este tema se incluyen las siguientes secciones.

Estructura de árbol típica

En la tabla siguiente se muestra un control típico y una vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece a los controles de elementos de lista y se describe lo que se puede contener 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
  • ListItem
    • Imagen (0 o más)
    • Text (0 o más)
    • Edición (0 o más)
  • ListItem

 

Los elementos secundarios de un control de elemento de lista dentro de la vista de contenido del árbol de Automatización de la interfaz de usuario siempre deben mostrar cero elementos secundarios. Si la estructura del control es tal que otros elementos se encuentran debajo del elemento de lista, debe seguir los requisitos para la compatibilidad de Automatización de la interfaz de usuario con el tipo de control TreeItem.

Propiedades relevantes

En la tabla siguiente se enumeran las propiedades Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para el tipo de control ListItem. Para obtener más información sobre las propiedades de Automatización de la interfaz de usuario, vea Recuperar propiedades de Automatización de la interfaz de usuario Elements.

Propiedad de automatización de interfaz de usuario Valor Notas
UIA_AutomationIdPropertyId Vea las notas. El valor de esta propiedad debe ser único entre todos los elementos del mismo nivel en la vista sin procesar del árbol de Automatización de la interfaz de usuario. Asigne la propiedad AutomationId para un elemento de lista si se sabe que el elemento es coherente en diferentes instancias de la interfaz de usuario. Si el elemento de lista se rellena dinámicamente y no es predecible, deje la propiedad AutomationId en blanco.
UIA_BoundingRectanglePropertyId Vea las notas. El valor de esta propiedad debe incluir el área del contenido de imagen y texto del elemento de lista.
UIA_ClickablePointPropertyId Depende Si el control de lista tiene un punto que se puede hacer clic (un punto en el que se puede hacer clic para que la lista tome el foco), ese punto debe exponerse a través de esta propiedad. Si el control de lista está completamente cubierto por elementos de lista descendientes, devolverá el error UIA_E_NOCLICKABLEPOINT para indicar que el cliente debe pedir un elemento dentro del control de lista para un punto que se pueda hacer clic.
UIA_ControlTypePropertyId ListItem Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario.
UIA_HelpTextPropertyId Vea las notas. El texto de ayuda para los controles de lista debe explicar por qué se le solicita al usuario que elija una opción en una lista de opciones, que es normalmente el mismo tipo de información presentada a través de una información sobre herramientas. Por ejemplo, "Seleccione un elemento para establecer la resolución de visualización del monitor".
UIA_IsContentElementPropertyId TRUE El control de lista siempre se incluye en la vista de contenido del árbol de Automatización de la interfaz de usuario.
UIA_IsControlElementPropertyId TRUE El control de lista siempre se incluye en la vista de control del árbol de Automatización de la interfaz de usuario.
UIA_IsKeyboardFocusablePropertyId Vea las notas. Si el contenedor puede aceptar la entrada del teclado, este valor de propiedad debe ser TRUE.
UIA_IsOffscreenPropertyId Depende Esta propiedad debe devolver un valor para si el elemento de lista se desplaza actualmente en la vista dentro del contenedor primario que implementa el patrón de control Scroll .
UIA_ItemStatusPropertyId Depende Si el control contiene el estado que se actualiza dinámicamente, esta propiedad debe admitirse para que una tecnología de asistencia pueda recibir actualizaciones cuando cambie el estado del elemento.
UIA_ItemTypePropertyId Depende Esta propiedad se debe exponer para los controles de elemento de lista que representan un objeto subyacente. Estos controles de elemento de lista suelen tener un icono asociado al control que los usuarios se asocian con el objeto subyacente.
UIA_LabeledByPropertyId Vea las notas. Si hay una etiqueta de texto estático, esta propiedad debe exponer una referencia a ese control.
UIA_LocalizedControlTypePropertyId Vea las notas. Cadena localizada correspondiente al tipo de control ListItem . El valor predeterminado es "elemento de lista" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId Vea las notas. El valor de la propiedad name de un control de elemento de lista procede de la etiqueta de texto del elemento.

 

Patrones de control necesarios

En la tabla siguiente se enumeran los patrones de control Automatización de la interfaz de usuario que todos los controles de elementos de lista deben admitir. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.

Patrón de control Soporte técnico Notas
IExpandCollapseProvider Depende Si el elemento se puede manipular para mostrar u ocultar información, se debe implementar el patrón de control ExpandCollapse .
IGridItemProvider Depende Si se admite la navegación espacial de elemento a elemento dentro del contenedor de lista y el contenedor se organiza en filas y columnas, se debe implementar el patrón de control GridItem .
IInvokeProvider Depende Si el elemento tiene un comando que se puede realizar en él, independiente de la selección, se debe implementar el patrón de control Invoke . Se trata normalmente de una acción asociada a hacer doble clic en el control de elemento de lista. Algunos ejemplos serían iniciar un documento desde el Explorador de Windows o reproducir un archivo de música en Microsoft Reproductor multimedia de Windows.
IScrollItemProvider Depende Si el elemento de lista está dentro de un contenedor que se puede desplazar, se debe implementar el patrón de control ScrollItem .
ISelectionItemProvider Depende Un control de elemento de lista que admita la selección debe implementar el patrón de control SelectionItem . Esto permite que los controles de elementos de lista transmitan cuando se seleccionan.
IToggleProvider Depende Si el elemento de lista se puede comprobar y la acción no realiza un cambio de estado de selección, se debe implementar el patrón de control Alternar .
IValueProvider Depende Si se puede editar el elemento, se debe implementar el patrón de control Value . Los cambios en el control de elemento de lista provocarán cambios en los valores de las propiedades UIA_NamePropertyId y UIA_ValueValuePropertyId .

 

Eventos necesarios

En la tabla siguiente se enumeran los eventos de Automatización de la interfaz de usuario que se requieren controles de elementos de lista para admitir. Para más información sobre los eventos, vea UI Automation Events Overview.

Evento de Automatización de la interfaz de usuario Notas
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de cambio de propiedad.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento de cambio de propiedad. Si el control admite el patrón de control ExpandCollapse , debe admitir este evento.
UIA_Invoke_InvokedEventId Si el control admite el patrón de control Invoke , debe admitir este evento.
UIA_IsEnabledPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsEnabled , debe admitir este evento.
UIA_IsOffscreenPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsOffscreen , debe admitir este evento.
UIA_ItemStatusPropertyId evento de cambio de propiedad. Si el control admite la propiedad ItemStatus , debe admitir este evento.
UIA_NamePropertyId evento de cambio de propiedad.
UIA_SelectionItem_ElementAddedToSelectionEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_SelectionItem_ElementSelectedEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Toggle , debe admitir este evento.
UIA_ValueValuePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Value , debe admitir este evento.

 

Observaciones

Si un contenedor hospeda elementos de lista, los medios principales de navegación deben ir a los elementos de lista. Colocar el foco en subelementos a través de la navegación de lista puede resultar confuso para los usuarios y las herramientas de accesibilidad. Si el contenedor hospeda una lista vertical de elementos, presionar las teclas FLECHA ARRIBA y FLECHA ABAJO debe navegar por los elementos, pero presionar las teclas FLECHA DERECHA y FLECHA IZQUIERDA pueden navegar a subelementos del elemento centrado, como columnas de lista o subelementos de interfaz de usuario.

Conceptual

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation