Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As teclas Access são atalhos de teclado que melhoram a usabilidade e acessibilidade das suas aplicações Windows, proporcionando uma forma intuitiva para os utilizadores navegarem rapidamente e interagirem com a interface visível de uma aplicação através de um teclado em vez de um dispositivo ponteiro (como o toque ou o rato).
A aplicação do Windows oferece suporte integrado nos controlos de plataforma tanto para teclas de acesso baseadas no teclado como para feedback da interface associada através de dicas visuais chamadas "keytips".
Observação
Um teclado é indispensável para utilizadores com certas deficiências (ver Acessibilidade do teclado) e é também uma ferramenta importante para quem o prefere como uma forma mais eficiente de interagir com uma aplicação.
Consulte o tópico Teclas do Acelerador para detalhes sobre como invocar ações comuns numa aplicação Windows com atalhos de teclado.
Para criar os seus próprios atalhos de teclado personalizados, consulte o tópico Eventos de Teclado .
Visão geral
Uma tecla de acesso é uma combinação da tecla Alt e uma ou mais teclas alfanuméricas — por vezes chamadas de mnemónica — normalmente pressionadas sequencialmente, em vez de simultaneamente.
Keytips são emblemas exibidos ao lado dos controlos que suportam teclas de acesso quando o utilizador pressiona a tecla Alt. Cada dica de tecla contém as teclas alfanuméricas que ativam o controlo associado.
Observação
Os atalhos de teclado são automaticamente suportados para teclas de acesso com um único carácter alfanumérico. Por exemplo, pressionar simultaneamente Alt+F no Word abre o menu Ficheiro sem mostrar os atalhos de teclas.
Pressionar a tecla Alt inicializa a funcionalidade da tecla de acesso e expõe todas as combinações de teclas atualmente disponíveis nas sugestões de teclas. As teclas pressionadas subsequentes são geridas pelo framework de teclas de acesso, que rejeita teclas inválidas até que uma tecla de acesso válida seja pressionada ou até que as teclas Enter, Esc, Tab ou Seta sejam pressionadas para desativar as teclas de acesso e retomar o tratamento das teclas na aplicação.
As aplicações do Microsoft Office oferecem um suporte extenso para chaves de acesso. A imagem seguinte mostra o separador Base do Word com as teclas de acesso ativadas (note o suporte tanto para números como para múltiplos pressionamentos de teclas).
KeyTips para teclas de acesso em Microsoft Word
Para adicionar uma chave de acesso a um controlo, use a propriedade AccessKey. O valor desta propriedade especifica a sequência de teclas de acesso, o botão de atalho (se for um único alfanumérico) e a dica de tecla.
<Button Content="Accept" AccessKey="A" Click="AcceptButtonClick" />
Quando usar chaves de acesso
Recomendamos que especifique chaves de acesso sempre que apropriado na interface do utilizador e que suporte chaves de acesso em todos os controlos personalizados.
As teclas Access tornam a sua aplicação mais acessível para utilizadores com deficiências motoras, incluindo aqueles que conseguem carregar apenas numa tecla de cada vez ou têm dificuldade em usar o rato.
Uma interface de teclado bem desenhada é um aspeto importante da acessibilidade ao software. Permite que utilizadores com deficiências visuais ou com certas deficiências motoras naveguem numa aplicação e interajam com as suas funcionalidades. Esses utilizadores podem não conseguir operar um rato e, em vez disso, depender de várias tecnologias assistivas, como ferramentas de melhoria de teclado, teclados no ecrã, ampliadores de ecrã, leitores de ecrã e utilidades de entrada por voz. Para estes utilizadores, uma cobertura abrangente de comandos é crucial.
As teclas Access tornam a sua aplicação mais utilizável para utilizadores avançados que preferem interagir através do teclado.
Utilizadores experientes têm frequentemente uma forte preferência pelo teclado porque os comandos baseados no teclado podem ser introduzidos mais rapidamente e não exigem que retirem as mãos do teclado. Para estes utilizadores, a eficiência e a consistência são cruciais; A abrangência é importante apenas para os comandos mais usados.
Definir o âmbito da chave de acesso
Quando há muitos elementos no ecrã que suportam teclas de acesso, recomendamos delimitar as teclas de acesso para reduzir a carga cognitiva. Isto minimiza o número de teclas de access no ecrã, o que as torna mais fáceis de localizar e melhora a eficiência e a produtividade.
Por exemplo, o Microsoft Word fornece dois escopos de chave de acesso: um escopo principal para os separadores Ribbon e um escopo secundário para comandos no separador selecionado.
As imagens seguintes demonstram os dois escopos de chave de acesso no Word. O primeiro mostra as chaves de access primárias que permitem ao utilizador selecionar um separador e outros comandos de nível superior, e o segundo mostra as chaves de access secundárias para o separador Home.
Chaves de acesso primárias no Microsoft Word
Chaves de acesso secundárias no Microsoft Word
As teclas de acesso podem ser duplicadas para elementos em diferentes âmbitos. No exemplo anterior, "2" é a chave de acesso para "Desfazer" no âmbito primário, e também para "Itálico" no âmbito secundário.
Aqui, mostramos como definir um âmbito de chave de acesso.
<CommandBar x:Name="MainCommandBar" AccessKey="M" >
<AppBarButton AccessKey="G" Icon="Globe" Label="Go"/>
<AppBarButton AccessKey="S" Icon="Stop" Label="Stop"/>
<AppBarSeparator/>
<AppBarButton AccessKey="R" Icon="Refresh" Label="Refresh" IsAccessKeyScope="True">
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem AccessKey="A" Icon="Globe" Text="Refresh A" />
<MenuFlyoutItem AccessKey="B" Icon="Globe" Text="Refresh B" />
<MenuFlyoutItem AccessKey="C" Icon="Globe" Text="Refresh C" />
<MenuFlyoutItem AccessKey="D" Icon="Globe" Text="Refresh D" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton AccessKey="B" Icon="Back" Label="Back"/>
<AppBarButton AccessKey="F" Icon="Forward" Label="Forward"/>
<AppBarSeparator/>
<AppBarToggleButton AccessKey="T" Icon="Favorite" Label="Favorite"/>
<CommandBar.SecondaryCommands>
<AppBarToggleButton Icon="Like" AccessKey="L" Label="Like"/>
<AppBarButton Icon="Setting" AccessKey="S" Label="Settings" />
</CommandBar.SecondaryCommands>
</CommandBar>
Escopo principal do CommandBar e teclas de acesso suportadas
Escopo secundário do CommandBar e teclas de acesso suportadas
Evitar colisões com chaves de acesso
Colisões de chaves de Access ocorrem quando dois ou mais elementos no mesmo âmbito têm chaves de access duplicadas, ou começam com os mesmos caracteres alfanuméricos.
O sistema resolve chaves de access duplicadas processando a chave de access do primeiro elemento adicionado à árvore visual, ignorando todos os outros.
Quando múltiplas chaves de access começam com o mesmo carácter (por exemplo, "A", "A1" e "AB"), o sistema processa a chave de acesso de um único carácter e ignora todas as outras.
Evite colisões usando chaves de acesso únicas ou definindo o escopo dos comandos.
Escolher chaves de acesso
Considere o seguinte ao escolher as chaves de acesso:
- Use um único caractere para reduzir as teclas pressionadas e suportar, por padrão, as teclas de atalho (Alt+TeclaAcesso)
- Evite usar mais de dois caracteres
- Evitar colisões de chaves de acesso
- Evite caracteres difíceis de diferenciar de outros, como a letra "I" e o número "1" ou a letra "O" e o número "0"
- Use precedentes conhecidos de outras aplicações populares como o Word ("F" de "File", "H" de "Home", e assim por diante)
- Use o primeiro carácter do nome do comando, ou um carácter com uma associação próxima ao comando que ajude na recordação
- Se a primeira letra já estiver atribuída, use uma letra o mais próxima possível da primeira letra do nome do comando ("N" para Insert)
- Use uma consoante distintiva do nome do comando ("W" de View)
- Use uma vogal do nome do comando.
Localizar as chaves de acesso
Se a sua aplicação for localizada em várias línguas, deve também considerar localizar as teclas de acesso. Por exemplo, para "H" para "Home" em en-US e "I" para "Incio" em es-ES.
Use a extensão x:Uid em marcação para aplicar recursos localizados, como mostrado aqui:
<Button Content="Home" AccessKey="H" x:Uid="HomeButton" />
Os recursos para cada língua são adicionados às pastas String correspondentes no project:
Pastas de strings de recursos em inglês e espanhol
As chaves de acesso localizadas são especificadas no ficheiro resources.resw do seu projeto:
Especifique a propriedade AccessKey especificada no ficheiro resources.resw
Para mais informações, consulte Recursos de tradução de UI
Posicionamento da dica de tecla
As dicas de tecla são exibidas como ícones flutuantes em relação ao elemento da interface correspondente, tendo em conta a presença de outros elementos da interface, outras dicas de tecla e o limite do ecrã.
Normalmente, a localização padrão da tecla de atalho é suficiente e oferece suporte nativo para interface adaptativa.
Exemplo de colocação automática de dicas de tecla
No entanto, caso precise de mais controlo sobre o posicionamento das keytips, recomendamos o seguinte:
Princípio óbvio de associação: O utilizador pode associar facilmente o controlo à dica de tecla.
a. A dica deve ser perto do elemento que possui a chave de acesso (o proprietário).
b) A tecla de dica deve evitar cobrir elementos ativados que tenham teclas de acesso.
c. Se uma ponta de chave não puder ser colocada perto do dono, deve sobrepor-se ao dono.Descoberta: O utilizador pode descobrir rapidamente o controlo com a dica da tecla.
a. A ponta de tecla nunca sobrepõem-se a outras pontas de tecla.
Digitalização fácil: O utilizador pode percorrer facilmente as dicas das teclas.
a. as teclas devem estar alinhadas entre si e com o Elemento UI. b) As dicas devem ser agrupadas tanto quanto possível.
Posição relativa
Utilize a propriedade KeyTipPlacementMode para personalizar a localização da dica de tecla por elemento ou por grupo.
Os modos de posicionamento são: Cima, Baixo, Direita, Esquerda, Oculto, Centro e Auto.
Modos de posição das dicas de tecla
A linha central do controlo é usada para calcular o alinhamento vertical e horizontal da ponta da teclas.
O exemplo seguinte mostra como definir o posicionamento das keytips de um grupo de controles usando a propriedade KeyTipPlacementMode de um contentor StackPanel.
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" KeyTipPlacementMode="Top">
<Button Content="File" AccessKey="F" />
<Button Content="Home" AccessKey="H" />
<Button Content="Insert" AccessKey="N" />
</StackPanel>
Compensações
Utilize as propriedades KeyTipHorizontalOffset e KeyTipVerticalOffset de um elemento para um controlo ainda mais granular da localização da dica de tecla.
Observação
Os deslocamentos não podem ser definidos quando o KeyTipPlacementMode está definido para Auto.
A propriedade KeyTipHorizontalOffset indica até onde mover o Keytip para a esquerda ou direita.
Defina os deslocamentos verticais e horizontais das teclas para um botão
<Button
Content="File"
AccessKey="F"
KeyTipPlacementMode="Bottom"
KeyTipHorizontalOffset="20"
KeyTipVerticalOffset="-8" />
Alinhamento das bordas do ecrã {#alinhamento-das-bordas-do-ecra .ListParagraph}
A localização de uma ponta é ajustada automaticamente com base na borda do ecrã para garantir que a ponta é totalmente visível. Quando isto ocorre, a distância entre o ponto de alinhamento do controlo e da keytip pode diferir dos valores especificados para os deslocamentos horizontais e verticais .
As pontas das teclas são posicionadas automaticamente com base na borda do ecrã
Estilo de dica de tecla
Recomendamos o uso do suporte de keytip incorporado para temas de plataforma, incluindo alto contraste.
Se precisar de especificar os seus próprios estilos de keytips, utilize recursos de aplicação como KeyTipFontSize (tamanho da fonte), KeyTipFontFamily (família de fontes), KeyTipBackground (fundo), KeyTipForeground (primeiro plano), KeyTipPadding (preenchimento), KeyTipBorderBrush (cor da borda) e KeyTipBorderThemeThickness (espessura da borda).
Opções de personalização do atalho de teclado
Este exemplo demonstra como alterar estes recursos de aplicação:
<Application.Resources>
<SolidColorBrush Color="DarkGray" x:Key="MyBackgroundColor" />
<SolidColorBrush Color="White" x:Key="MyForegroundColor" />
<SolidColorBrush Color="Black" x:Key="MyBorderColor" />
<StaticResource x:Key="KeyTipBackground" ResourceKey="MyBackgroundColor" />
<StaticResource x:Key="KeyTipForeground" ResourceKey="MyForegroundColor" />
<StaticResource x:Key="KeyTipBorderBrush" ResourceKey="MyBorderColor"/>
<FontFamily x:Key="KeyTipFontFamily">Consolas</FontFamily>
<x:Double x:Key="KeyTipContentThemeFontSize">18</x:Double>
<Thickness x:Key="KeyTipBorderThemeThickness">2</Thickness>
<Thickness x:Key="KeyTipThemePadding">4,4,4,4</Thickness>
</Application.Resources>
Chaves de Acesso e Narrador
O framework XAML expõe Propriedades de Automação que permitem aos clientes de UI Automation descobrir informações sobre elementos na interface do utilizador.
Se especificar a propriedade AccessKey num controlo UIElement ou TextElement, pode usar a propriedade AutomationProperties.AccessKey para obter esse valor. Clientes de acessibilidade, como o Narrador, leem o valor desta propriedade sempre que um elemento recebe foco.
Artigos relacionados
Amostras
Windows developer