Suporte de Automação de Interface de Usuário para o Tipo de Controle Button

Observação

Esta documentação destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.

Este tópico fornece as informações sobre o suporte de Automação da Interface do Usuário para o tipo de controle Button. Na Automação da Interface do Usuário, um tipo de controle é um conjunto de condições que um controle precisa atender para usar a propriedade ControlTypeProperty. As condições incluem as diretrizes específicas para estrutura de árvore de automação da interface do usuário, os valores de propriedade de Automação da Interface do Usuário e os padrões de controle e eventos de automação de interface do usuário.

Um botão é um objeto com o qual um usuário interage para executar uma ação, como os botões OK e Cancelar em uma caixa de diálogo. O controle de botão é um controle simples a ser exposto porque ele mapeia para um único comando que o usuário deseja concluir.

As seções a seguir definem a estrutura de árvore de automação da IU, as propriedades, os padrões de controle e os eventos necessários para o tipo de controle Button. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de botão do WPF (Windows Presentation Foundation), Win32 ou Windows Forms.

Estrutura de árvore de automação da IU necessária

A tabela a seguir descreve a exibição de controle e a exibição de conteúdo da árvore de automação da IU que pertence aos controles de botão e descreve o que cada exibição pode conter. Para obter mais informações sobre a árvore de automação da IU, consulte Visão geral da árvore de automação da Interface do usuário.

Exibição de controle Exibição de conteúdo
Botão

− Imagem (0 ou mais)
- Texto (0 ou mais)
Botão

Propriedades de Automação da Interface do Usuário necessárias

A tabela a seguir lista as propriedades Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para os controles que implementam o tipo de controle Button (como controles de botão). Para obter mais informações sobre as propriedades de Automação da Interface do Usuário, consulte Propriedades de Automação da Interface do Usuário para Clientes.

Propriedade de Automação da Interface do Usuário Valor Observações
AcceleratorKeyProperty Veja as observações. Normalmente, o controle Button deve dar suporte a uma tecla aceleradora para permitir que um usuário final execute a ação que ele representa rapidamente do teclado.
AutomationIdProperty Veja as observações. O valor dessa propriedade precisa ser exclusivo em todos os controles de um aplicativo.
BoundingRectangleProperty Veja as observações. O retângulo mais externo que contém todo o controle.
ClickablePointProperty Veja as observações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e você executar testes de clique especializados, substitua e forneça um ponto clicável.
ControlTypeProperty Botão Esse valor é o mesmo para todas as estruturas da Interface do usuário.
HelpTextProperty Veja as observações. O Texto de Ajuda pode indicar qual será o resultado final da ativação do botão. Normalmente, esse é o mesmo tipo de informação apresentado por meio de uma Dica de Ferramenta.
IsContentElementProperty True O controle de botão sempre deve ser conteúdo.
IsControlElementProperty True O controle de botão sempre deve ser um controle.
IsKeyboardFocusableProperty Veja as observações. Se o controle puder receber o foco do teclado, ele precisará dar suporte a essa propriedade.
LabeledByProperty Null Os controles de botão são rotulados automaticamente pelo conteúdo.
LocalizedControlTypeProperty "button" Cadeia de caracteres localizada correspondente ao tipo de controle de botão.
NameProperty Veja as observações. O nome do controle de botão é o texto usado para rotulá-lo. Sempre que uma imagem é usada para rotular um botão, o texto alternativo deve ser fornecido para a propriedade Name do botão.

Padrões de controle de Automação da Interface do Usuário necessários

A tabela a seguir lista os padrões de controle de Automação da Interface do Usuário que deverão ter suporte de todos os controles de botão. 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 Suporte Observações
IInvokeProvider Veja as observações. Todos os botões devem dar suporte ao padrão de controle Invoke ou ao padrão de controle De alternância. O Invoke tem suporte quando o botão executa um comando a pedido do usuário. Esse comando é mapeado para uma única operação, como Recortar, Copiar, Colar ou Excluir.
IToggleProvider Veja as observações. Todos os botões devem dar suporte ao padrão de controle Invoke ou ao padrão de controle De alternância. Há suporte para alternância se o botão puder ser percorrido por uma série de até três estados. Normalmente, isso é visto como um comutador ativado/desativado para recursos específicos.
IExpandCollapseProvider Veja as observações. Quando um botão é hospedado como um filho de um botão dividido, o botão filho pode dar suporte ao padrão ExpandCollapse em vez do padrão Invoke ou Toggle. O padrão ExpandCollapse pode ser usado para abrir ou fechar um menu ou outra subestrutura associada ao elemento de botão.

Eventos de Automação da Interface do Usuário necessários

A tabela a seguir lista os eventos de Automação da Interface do Usuário para terem suporte de todos os controles de botão. Para 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 Suporte Observações
AutomationFocusChangedEvent Obrigatório Nenhum
Evento de alteração da propriedade BoundingRectangleProperty. Obrigatório Nenhum
Evento de alteração da propriedade IsOffscreenProperty. Obrigatório Nenhum
Evento de alteração da propriedade IsEnabledProperty. Obrigatório Nenhum
Evento de alteração da propriedade NameProperty. Obrigatório Nenhum
StructureChangedEvent Obrigatório Nenhum
InvokedEvent Depende Se o controle der suporte ao padrão de controle Invoke, ele precisará dar suporte a esse evento.
Evento de alteração de propriedade ToggleStateProperty. Depende Se o controle der suporte ao padrão de controle Toggle, ele precisará dar suporte a esse evento.

Confira também