Share via


Tipo de controle de lista

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

O tipo de controle Lista 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 List tem uma restrição flexível sobre quais tipos de elementos filho ele pode conter. Isso permite que os provedores de Automação da Interface do Usuário ofereçam suporte a um elemento conhecido para contêineres de seleção.

As seções a seguir definem o Automação da Interface do Usuário estrutura de árvore, propriedades, padrões de controle e eventos necessários para o tipo de controle List. 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 Automação da Interface do Usuário suporte para tipos de controle e padrões de controle.

Este tópico inclui 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 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.

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 um controle que implementa o tipo de controle de 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
  • Zero, um ou dois controles de barra de rolagem

A exibição de conteúdo de um controle que implementa o tipo de controle de 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 que não seja o agrupamento. Se os itens tiverem filhos na árvore Automação da Interface do Usuário, o contêiner de lista deverá ser baseado no tipo de controle Árvore.

Os itens selecionáveis no controle de lista estarão disponíveis desde os descendentes na árvore da Automação da Interface do Usuário do controle de lista. Todos os itens no 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 Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle List. Para obter mais informações sobre Automação da Interface do Usuário propriedades, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedade de Automação da Interface do Usuário Valor Observações
UIA_AutomationIdPropertyId Veja as observações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Veja as observações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Veja as observaçõ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 TRUE, tentar recuperar essa propriedade resultará no erro UIA_E_NOCLICKABLEPOINT .
UIA_ControlTypePropertyId Lista
UIA_HelpTextPropertyId Veja as observações. O texto da Ajuda dos controles de lista deve explicar por que o usuário deve escolher uma das opções da lista. Por exemplo: "A seleção de um item dessa lista definirá a resolução de tela do monitor".
UIA_IsContentElementPropertyId TRUE O controle de lista sempre está incluído na exibição de conteúdo da árvore da Automação da Interface do Usuário.
UIA_IsControlElementPropertyId TRUE O controle de lista sempre está incluído na exibição de controle da árvore da Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_LabeledByPropertyId Veja as observações. Se houver um rótulo de texto estático, essa propriedade precisará expor uma referência a esse controle.
UIA_LocalizedControlTypePropertyId Veja as observações. Cadeia de caracteres localizada correspondente ao tipo de controle Lista . O valor padrão é "list" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Veja as observaçõ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. Normalmente, essa propriedade extrai o 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 .
Essa propriedade só não é obrigatória nos controles de lista quando 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 Automação da 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 da Automação da Interface do Usuário.

Padrão de Controle/Propriedade do Padrão Suporte/Valor Observações
IGridProvider Depende Implemente o padrão de controle Grade 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 De rolagem se os itens no contêiner forem roláveis.
ISelectionProvider Depende Se um controle der suporte ao tipo de controle List que dá suporte à seleção, o controle deverá implementar o padrão de controle Seleção 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 . Se o controle precisar dar suporte a esse padrão de controle, o controle deverá ser baseado no tipo de controle DataGrid .

Eventos obrigatórios

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

Evento de Automação da Interface do Usuário Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento com alteração de propriedade.
UIA_IsEnabledPropertyId evento com alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento com alteração de 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 de alteração de propriedade. Se o controle der suporte ao padrão de controle MultipleView , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontallyScrollablePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalViewSizePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticalScrollPercentPropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticallyScrollablePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticalViewSizePropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_Selection_InvalidatedEventId Se o controle der suporte ao padrão de controle Seleção , ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId

Conceitual

Visão Geral dos Tipos de Controle de Automação de Interface do Usuário

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