Compartilhar via


Tipo de controle de lista

Este tópico fornece informações sobre o suporte à Automação de Interface do Usuário da Microsoft para o tipo de controle lista de.

O tipo de controle lista de fornece uma maneira de organizar um grupo simples ou grupos de itens e permite que um usuário selecione um ou mais desses itens. O tipo de controle lista de tem uma restrição flexível sobre quais tipos de elementos filho ele pode conter. Isso permite que os provedores de Automação de Interface do Usuário ofereçam suporte a um elemento conhecido para contêineres de seleção.

As seções a seguir definem a estrutura de árvore, as propriedades, os padrões de controle e os eventos necessários para o tipo de controle lista de. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de lista em que a estrutura/plataforma da interface do usuário integra o suporte à Automação de Interface do Usuário para tipos de controle e padrões de controle.

Este tópico contém as seções a seguir.

Estrutura de árvore típica

A tabela a seguir ilustra um controle típico e uma exibição de conteúdo da árvore de Automação da Interface do Usuário que pertence aos controles de lista e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de automação da interface do usuário.

Modo de Exibição de Controle Exibição de conteúdo
Contém os elementos que correspondem aos controles. Remove informações redundantes da árvore para que as tecnologias adaptativas funcionem com o menor conjunto de informações que é significativo para o usuário final.
  • Lista
    • DataItem (0 ou mais)
    • ListItem (0 ou mais)
    • Grupo (0 ou mais)
    • ScrollBar (0, 1 ou 2)
  • Lista
    • DataItem (0 ou mais)
    • ListItem (0 ou mais)
    • Grupo (0 ou mais)

A exibição de controle para um controle que implementa o tipo de controle Lista (como um controle de lista) consiste em:

  • Zero ou mais itens dentro do controle de lista (os itens podem ser baseados nos tipos de controle ListItem ou DataItem)
  • Zero ou mais controles de grupo em um controle de lista
  • Controles de barra de rolagem zero, um ou dois

A exibição de conteúdo de um controle que implementa o tipo de controle Lista (como um controle de lista) consiste em:

  • Zero ou mais itens dentro do controle de lista (os itens podem ser baseados nos tipos de controle ListItem ou DataItem)
  • Zero ou mais grupos dentro do controle de lista

Um controle de lista não deve ter itens que tenham uma relação hierárquica diferente de serem agrupados. Se os itens tiverem filhos na árvore de Automação da Interface do Usuário, o contêiner de lista deverá ser baseado no tipo de controle Tree.

Os itens selecionáveis no controle de lista estarão disponíveis nos descendentes na árvore de Automação da Interface do Usuário do controle de lista. Todos os itens dentro do controle de lista devem pertencer ao mesmo grupo de seleção. Os itens selecionáveis na lista devem ser expostos como tipos de controle ListItem (em vez de DataItem).

Propriedades relevantes

A tabela a seguir lista as propriedades de Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle lista de. Para obter mais informações sobre as propriedades da Automação da Interface do Usuário, consulte Recuperando propriedades de elementos de automação da interface do usuário.

Propriedade de Automação da Interface do Usuário Valor Anotações
UIA_AutomationIdPropertyId Confira as anotações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore de Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Confira as anotações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Confira as anotações. Se o controle de lista tiver um ponto clicável (um ponto que pode ser clicado para fazer com que a lista se concentre), esse ponto deverá ser exposto por meio dessa propriedade. Se o valor da propriedade UIA_IsOffscreenPropertyId for VERDADEIRO, tentar recuperar essa propriedade resultará no erro UIA_E_NOCLICKABLEPOINT.
UIA_ControlTypePropertyId da Lista de
UIA_HelpTextPropertyId Confira as anotações. O texto da Ajuda para controles de lista deve explicar por que o usuário está sendo solicitado a fazer uma escolha em uma lista de opções. Por exemplo, "A seleção de um item dessa lista definirá a resolução de exibição para o monitor".
UIA_IsContentElementPropertyId verdadeiro O controle de lista sempre está incluído na exibição de conteúdo da árvore de Automação da Interface do Usuário.
UIA_IsControlElementPropertyId verdadeiro O controle de lista sempre está incluído na exibição de controle da árvore de Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId Confira as anotações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_LabeledByPropertyId Confira as anotações. Se houver um rótulo de texto estático, essa propriedade deverá expor uma referência a esse controle.
UIA_LocalizedControlTypePropertyId Confira as anotações. Cadeia de caracteres localizada correspondente ao tipo de controle lista de. O valor padrão é "list" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Confira as anotações. O valor da propriedade Name de um controle de lista deve transmitir a categoria de opções que o usuário está sendo solicitado a selecionar. Essa propriedade normalmente obtém seu nome de um rótulo de texto estático. Se não houver um rótulo de texto estático, o desenvolvedor do aplicativo deverá expor um valor para a propriedade Name.
A única vez que essa propriedade não é necessária para controles de lista é se o controle é usado na subárvore de outro controle.

Padrões e propriedades de controle necessários

A tabela a seguir lista os padrões de controle de Automação de Interface do Usuário necessários para serem suportados por todos os controles de lista. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle de automação da interface do usuário.

Propriedade Control Pattern/Pattern Suporte/valor Anotações
IGridProvider Depende Implemente o padrão de controle Grid quando a navegação de grade precisar estar disponível em um item por item.
IMultipleViewProvider Depende Implemente o padrão de controle MultipleView se o controle puder dar suporte a várias exibições dos itens no contêiner.
IScrollProvider Depende Implemente o padrão de controle Rolar se os itens no contêiner forem roláveis.
ISelectionProvider Depende Se um controle der suporte ao tipo de controle Lista que dá suporte à seleção, o controle deverá implementar o padrão de controle seleção de quando um estado de seleção for mantido entre os itens contidos no controle. Se os itens dentro do controle não forem selecionáveis, o tipo de controle grupo poderá ser usado.
CanSelectMultiple Depende Os controles de lista podem ser contêineres de seleção única ou múltipla.
IsSelectionRequired Depende Nem sempre os controles de lista exigem que um item seja selecionado.
ITableProvider Nunca O padrão de controle tabela nunca tem suporte para o tipo de controle lista de. Se o controle precisar dar suporte a esse padrão de controle, o controle deverá ser baseado no tipo de controle DataGrid.

Eventos necessários

A tabela a seguir lista os eventos de Automação da Interface do Usuário que os controles de lista são necessários para dar suporte. Para obter mais informações sobre eventos, consulte Visão geral de eventos de automação da interface do usuário.

Evento de automação da interface do usuário Anotações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento alterado por propriedade.
UIA_IsEnabledPropertyId evento alterado por propriedade. Se o controle der suporte à propriedade IsEnabled, ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento alterado por propriedade. Se o controle der suporte à propriedade IsOffscreen, ele deverá dar suporte a esse evento.
UIA_LayoutInvalidatedEventId Se o layout dos itens filho puder ser alterado, o controle deverá dar suporte a esse evento.
UIA_MultipleViewCurrentViewPropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle MultipleView, ele deverá dar suporte a esse evento.
UIA_ScrollHorizontallyScrollablePropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalViewSizePropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_ScrollVerticalScrollPercentPropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_ScrollVerticallyScrollablePropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_ScrollVerticalViewSizePropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle rolagem, ele deverá dar suporte a esse evento.
UIA_Selection_InvalidatedEventId Se o controle der suporte ao padrão de controle seleção de, ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId

Conceitual

Visão geral dos tipos de controle de automação da interface do usuário

Visão geral da automação da interface do usuário