Allan Day
aday@gnome.org
Calum Benson
Adam Elman
Seth Nickell
Colin Robertson
Navegação de teclado, teclas de acesso e de atalho.
Georges Neto
georges.stavracas@gmail.com 2014,
Rafael Fontenelle
rafaelff@gnome.org 2017-2019

# Entrada por teclado

Teclados são uma forma comum de interagir com interfaces de usuário. Eles fornecem uma forma conveniente e eficiente para usar aplicativos em uma variedade de situações, e pode ser mais rápida e mais eficiente do que outros dispositivos de entrada. Teclados também são vitais para pessoas com deficiência visual ou aquelas com mobilidade reduzida.

Você deve se assegurar de que todas as funcionalidades fornecidas por seu aplicativo possam ser acessadas usando um teclado. Tentar usar seu aplicativo apenas com o teclado é uma ótima forma de testar isso.

Keyboard interaction has three aspects in GNOME and GTK: navigation, access keys, and shortcut keys. Search is another, additional aspect.

# Navegação pelo teclado

Certifique-se de que é possível se mover e interagir com todas as partes da sua interface de usuário usando o teclado, seguido por essas diretrizes.

Follow the standard GNOME keys for navigation. Tab is the standard key for moving around an interface with GTK and GNOME.

Use uma ordem lógica de navegação por teclado. Ao navegar por uma janela com Tab, foco do teclado deve mover entre controles em uma ordem previsível. Em localidades orientais, esta normalmente é da esquerda para direita e de cima para baixo.

Além da navegação usando Tab, faça um esforço para permitir movimento usando as teclas de setas, tanto nos elementos da interface de usuário (tais como listas, grades de ícones e barras laterais) quanto entre eles.

Se ativar um controle habilita outros controles, não dê foco automaticamente para o primeiro controle dependente quando ele for ativado; em vez disso, mantenha o foco no mesmo lugar.

## Teclas padrões de navegação

Atalho | Função
--- | ---
Tab e ShiftTab | Move o foco do teclado para o controle seguinte/anterior
CtrlTab e ShiftCtrlTab | Move o foco do teclado para fora do widget anexado ao controle seguinte/anterior, nas situações em que Tab sozinho possui outra função
CtrlTab e ShiftCtrlTab | Move o foco do teclado para o grupo de controles seguinte/anterior
CtrlF1 | Mostra uma dica de ferramenta para a janela ou controle em foco no momento
ShiftF1 | Mostra uma ajuda sensível ao contexto para a janela ou controle em foco no momento
F6 e ShiftF6 | Concede o foco para o painel seguinte/anterior em uma janela GtkPaned
F8 | Concede o foco à barra divisora em uma janela de painel
F10 | Dá foco a uma barra de menu ou abre um menu de barra de cabeçalho
Espaço | Ativa o estado de uma caixa de seleção, botão de opção ou botão de alternância
Enter | Ativa um botão em foco, item de menu, etc
Enter e End | Seleciona/move para o primeiro item em um widget selecionado
Page Up, CtrlPage Up, Page Down e CtrlPage Down | Rola a visão selecionada uma página para cima/esquerda/baixo/direita
Escape | Fecha ou sai do contexto atual, se ele for transitório. Isso deve ser usado consistentemente para menus, janelas sobrepostas (“popover”) ou diálogos ou qualquer outro modo temporário ou elemento de UI.

# Teclas de acesso

Teclas de acesso permitem que uma pessoa opere controles rotulados usando Alt. Elas são indicadas por uma letra sublinhada em cada rótulo de controle (isso é exibido quando Alt é mantido pressionado).

Quando possível, todos os componentes rotulados devem ter uma tecla de acesso.

Escolha teclas de acesso que são fáceis de memorizar. Normalmente isso significa usar a primeira letra de cada rótulo. Se o rótulo tem mais de uma palavra, a primeira letra de uma de suas palavras podem ser usada. Adicionalmente, se outra letra fornece uma associação melhor (por exemplo: “x” em “Tamanho extra”), considere usar aquela letra.

Evite atribuir teclas de acesso a letras “finas” (tais como i ou l minúsculos) ou letras com descendentes (tais como g ou y minúsculos), a menos que seja inevitável. O sublinhado em alguns casos não fica claro o suficiente com essas características.

Se a escolha das teclas de acesso for difícil, atribua teclas de acesso aos controles usados com mais frequência primeiro. Se a primeira letra não estiver disponível, escolha uma consoante do rótulo fácil de memorizar, por exemplo, “t” em “Substituir”. Apenas atribua vogais assim que nenhuma consoante estiver disponível.

Esteja ciente de que as teclas de acesso têm que ser traduzidas junto com as strings das quais elas extraídas, então ainda que não haja conflito em seu idioma nativo, tal conflito pode ocorrer nas traduções.

# Teclas de atalho

Teclas de atalho fornecem um acesso conveniente para operações comuns. Elas podem ser tanto teclas únicas ou combinações de pressionamento de várias teclas (geralmente um modificador em combinação com uma tecla comum)

Não atribua teclas de atalho de nível de sistema para usar em seu aplicativo. Veja abaixo para detalhes sobre elas.

Use as teclas de atalho padrões do GNOME (veja abaixo) se seu aplicativo oferecer suporte a essas funções. Isso garante consistência entre aplicativos do GNOME e facilita a descoberta.

Atribua teclas de atalho para a maioria das ações comumente usadas em seu aplicativo. Porém, não tente atribuir um atalho de teclado para tudo.

Tente usar Ctrl em combinação com uma letra para seus próprios atalhos. ShiftCtrl e uma letra é o padrão recomendado para atalhos que invertem ou estendem uma outra função. Por exemplo, CtrlZ e ShiftCtrlZ par Desfazer e refazer.

Novos atalhos de teclado devem ser tão mnemônico quanto possível, já que será mais fácil de aprender e memorizar. Por exemplo, CtrlE será um bom atalho para um item de menu chamado Editar página.

Atalhos que podem ser facilmente usados com uma mão são preferíveis para operações comuns.

Não use Alt para teclas de atalho, pois isso pode conflitar com teclas de acesso.

# Atalhos reservados para o sistema

Os seguintes atalhos de sistema não devem ser sobrescritos por aplicativos.

GNOME 3 faz uso exclusivo de Super, geralmente conhecida como a “tecla windows”, para atalhos de sistema. Portanto, Super não deve ser usada por aplicativos.

Função | Atalho | Atalho legado | Descrição
--- | --- | --- | ---
Panorama de atividades | Super | Nenhum | Abre e fecha o panorama de atividades
Visão de aplicativos | SuperA | Nenhum | Abre e fecha a visão de aplicativos do panorama de atividades
Área de notificação | SuperM | Nenhum | Alterna a visibilidade da área de notificação.
Bloquear | SuperL | Nenhum | Bloqueia o sistema apagando a tela e exigindo uma senha para desbloquear, se uma tiver sido definida.
Alternar aplicativo | SuperTab e ShiftSuperTab | AltTab e ShiftAltTab | Alterna o foco para o aplicativo seguinte/anterior
Alternar janelas | Super` e ShiftSuper` | AltF6 e ShiftAltF6 | Alterna o foco para a janela secundária seguinte ou anterior associada com o aplicativo
Maximizar | Super↑ | AltF10 | Maximiza a janela em foco
Restaurar | Super↓ | AltF5 | Restaura a janela em foco para seu estado anterior
Ocultar | SuperH | AltF9 | Oculta a janela em foco
Alternar área do sistema | Nenhum | CtrlAltTab e ShiftCtrlAltTab | Alterna o foco entre as áreas primárias do sistema: janelas, barra superior, área de notificação
Desligar | Nenhum | CtrlAltDelete | Solicita ao usuário desligar o sistema. Esse atalho normalmente está desativado por padrão.
Menu de janela | AltEspaço | Nenhum | Abre o menu de janela para a janela atual
Fechar | Nenhum | AltF4 | Fecha a janela em foco
Mover | Nenhum | AltF7 | Move a janela em foco
Redimensionar | Nenhum | AltF8 | Redimensiona a janela em foco

Além disso, os atalhos para entrada de caractere Unicode também deve ser evitada. Isso inclui ShiftCtrlA até ShiftCtrlF ou ShiftCtrl0 até ShiftCtrl9.

# Atalhos padrão de aplicativo

Essa seção detalha atalhos comuns de teclado de aplicativo. Com a exceção de atalhos de aplicativo, esses atalhos só precisam ser seguidos quando a ação correspondente é incluída em seu aplicativo. Atalhos padrão podem ser atribuídos para outras ações, se a ação padrão não estiver disponível.

Essa seção também fornece orientação sobre itens de menu padrão em uma barra de menu, caso uma seja usada.

## Aplicativo

Atalhos de teclado e itens de menu padrão do aplicativo. Esses atalhos de aplicativo não podem ser reatribuídos para outras ações, mesmo quando a ação correspondente não é fornecida por seu aplicativo.

Rótulo | Atalho | Descrição
--- | --- | ---
Help | F1 | Abre o navegador padrão de ajuda sobre página de conteúdo para o aplicativo.
About | Nenhum | Abre o diálogo de Sobre para o aplicativo. Usa o diálogo padrão do GNOME 3 para isso.
Quit | CtrlQ | Fecha o aplicativo, incluindo todas as janelas do aplicativo.

## Arquivo

Atalhos de teclado e itens de menu padrão do arquivo.

Rótulo | Atalho | Descrição
--- | --- | ---

New

CtrlN

Cria um novo item de conteúdo, muitas vezes (mas nem sempre) em uma nova janela primária ou aba. Se o seu aplicativo puder criar vários tipos diferentes de documentos, você pode tornar o item New um submenu, contendo um item de menu para cada tipo. Rotule esses itens de New com tipo de documento, faça a primeira entrada no submenu o tipo de documento mais comumente usado e atribua-lhe o atalho CtrlN.

Open… | CtrlO | Abre um item de conteúdo existente, muitas vezes apresentando ao usuário um diálogo Open File padrão. Se o arquivo escolhido já estiver aberto no aplicativo, eleve essa janela em vez de abrir uma nova.
Open Recent | Nenhum | Um submenu que contém uma lista de não mais de seis arquivos usados recentemente, ordenados de acordo com o uso mais recente.

Save

CtrlS

Salva o item de conteúdo atual. Se o documento já tiver um nome de arquivo associado, salve o documento imediatamente sem qualquer outra interação do usuário. Se houver quaisquer opções adicionais envolvidas na ação de salvar um arquivo, solicite-as na primeira vez que o documento é salvo, mas, posteriormente, use os mesmos valores de cada vez até que o usuário os altere. Se o documento não possui um nome de arquivo atual ou é somente leitura, selecionar esse item deve ser o mesmo que selecionar Save As.

Save As… | ShiftCtrlS | Salva o item de conteúdo com um novo nome de arquivo. Apresentar o usuário com o diálogo padrão Save As e salvar o arquivo com o nome do arquivo escolhido.

Save a Copy…

Nenhum

Solicita ao usuário que digite um nome de arquivo, com o qual uma cópia do documento é salva. Não altere a visão ou o nome do arquivo do documento original. Todas as alterações subsequentes ainda são feitas no documento original até que o usuário especifique o contrário, por exemplo escolhendo o comando Save As.

Como o diálogo Save As, o diálogo Save a Copy pode apresentar diferentes maneiras de salvar os dados. Por exemplo, uma imagem pode ser salva no formato nativo ou como PNG.

Page Setup | Nenhum | Permite ao usuário controlar as configurações relacionadas à impressão. Apresente ao usuário um diálogo que o permite definir opções como formato de retrato ou paisagem, margens e assim por diante.
Print Preview | ShiftCtrlP | Mostra ao usuário como será o documento impresso. Apresente uma nova janela contendo uma representação precisa da aparência de como o documento seria impresso.
Print… | CtrlP | Imprime o documento atual. Apresente ao usuário um diálogo que lhe permita configurar opções como o intervalo de páginas a serem impressas, a impressora a ser usada e assim por diante. O diálogo deve conter um botão Print que começa a imprimir e fecha o diálogo.

Send To…

CtrlM

Fornece ao usuário um meio para anexar ou enviar o documento atual como um e-mail ou anexo de e-mail, dependendo do formato. Você pode fornecer mais de um item Send dependendo de quais opções estão disponíveis. Se houver mais de dois desses itens, mova-os para um submenu. Por exemplo, se apenas Send by Email e Send by Bluetooth estiverem disponíveis, deixe-os no menu de nível superior. Se houver uma terceira opção, como Send by FTP, coloque todas as opções em um submenu Enviar.

Properties… | AltEnter | Abre a janela Properties do documento. Isso pode conter informações editáveis, como o nome do autor do documento, ou informações somente de leitura, como o número de palavras no documento ou uma combinação de ambos. O atalho AltEnter não deve ser fornecido onde Enter é mais usado para inserir uma nova linha.
Fechar | CtrlW | Fecha a aba ou janela atual. Se a janela usa abas e há apenas uma está aberta, o atalho deve fechar a janela.

## Edição

Atalhos de teclado e itens de menu padrão de edição.

Rótulo | Atalho | Descrição
--- | --- | ---
Undo ação | CtrlZ | Reverte o efeito da ação anterior.
Redo ação | ShiftCtrlZ | Executa a próxima ação na lista de histórico de desfazer, depois que o usuário se moveu para trás através da lista com o comando Undo.
Cut | CtrlX | Remove o conteúdo selecionado e o coloca na área de transferência. Visualmente, remove o conteúdo do documento da mesma maneira que Delete.
Copy | CtrlC | Copia o conteúdo selecionado para a área de transferência.
Paste | CtrlV | Insere o conteúdo da área de transferência no item de conteúdo. Ao editar texto, se não houver nenhuma seleção atual, usa o cursor como ponto de inserção. Se houver uma seleção atual, substitui-a pelo conteúdo da área de transferência.

Paste Special…

ShiftCtrlV

Insere uma representação não padrão do conteúdo da área de transferência. Abre um diálogo apresentando uma lista dos formatos disponíveis que o usuário pode selecionar. Por exemplo, se a área de transferência contiver um arquivo PNG copiado de um gerenciador de arquivos, a imagem pode ser incorporada no documento ou um link para o arquivo inserido para que as alterações na imagem no disco sejam sempre refletidas no documento.

Duplicate | CtrlU | Cria uma cópia duplicada do objeto selecionado.
Delete | Delete | Remove o conteúdo selecionado sem colocá-lo na área de transferência.
Select All | CtrlA | Seleciona todo o conteúdo no documento atual.

Deselect All

ShiftCtrlA

Desmarca todo o conteúdo no documento atual. Apenas fornece este item em situações em que nenhum outro método de desfazer a seleção seja possível ou esteja aparente para o usuário. Por exemplo, em aplicativos gráficos complexos, nos quais fazer e desfazer seleção geralmente não é possível, simplesmente usando as teclas de cursor. Nota: Não forneça Deselect All nos campos de entrada de texto, como dígito ShiftCtrlhex é usado para digitar caracteres Unicode, portanto seu atalho não funcionará.

Find… | CtrlF | Exibe uma interface de usuário para permitir o usuário pesquisar por conteúdo específico na página ou no item de conteúdo atual.
Find Next | CtrlG | Seleciona a próxima instância do último termo de Find no documento atual.
Find Previous | ShiftCtrlG | Seleciona a instância anterior do último termo de Find no documento atual.
Replace… | CtrlH | Exibe uma interface de usuário permitindo o usuário localizar conteúdo específico e substituir cada ocorrência.

## Visão

Atalhos de teclado e itens de menu padrão de visão.

Rótulo | Atalho | Descrição
--- | --- | ---
Icons | Nenhum | Mostra conteúdo como uma grade de ícones. Essa é um item de menu de botão de opção.
List | Nenhum | Mostra conteúdo como uma lista. Essa é um item de menu de botão de opção.
Sort By… | Nenhum | Especifica os critérios pelos quais o conteúdo deve ser ordenado. Pode abrir um diálogo de preferências, janelas sobrepostas ou submenu.
Filter… | Nenhum | Permite o conteúdo ser filtrado, abrindo uma janela sobrepostas, lista suspensa, diálogo.
Zoom In | Ctrl+ | Amplia, fazendo com que o conteúdo pareça maior.
Zoom Out | Ctrl- | Reduz, fazendo com que o conteúdo pareça menor.
Normal Size | Ctrl0 | Redefine o nível de ampliação de volta para o valor padrão.
Best Fit | Nenhum | Faz o documento preencher a janela.
Reload | CtrlR | Redesenha a visão atual do documento, verificando a origem dos dados para alterações primeiro. Por exemplo, verifica o servidor web por atualizações à página antes de redesenhá-la.

## Formação

Atalhos de teclado e itens de menu padrão de formatação.

Rótulo | Atalho | Descrição
--- | --- | ---
Style… | Nenhum | Define os atributos de estilo do texto ou dos objetos selecionados, individualmente ou em um estilo predefinido.
Font… | Nenhum | Define as propriedades de fonte do texto ou objetos selecionados.
Paragraph… | Nenhum | Define as propriedades do parágrafo selecionado.
Bold | CtrlB | Alterna o negrito da seleção de texto atual. Se alguma seleção estiver atualmente em negrito e algumas não, esse comando deve negritar o texto selecionado.
Italic | CtrlI | Alterna a itálico da seleção de texto atual. Se alguma seleção estiver atualmente em itálico e algumas não, esse comando deve italicizar o texto selecionado.
Underline | CtrlU | Alterna o sublinhado da seleção de texto atual. Se alguma seleção estiver atualmente sublinhada e algumas não, esse comando deve sublinhar o texto selecionado.
Cells… | Nenhum | Define as propriedades das células de tabela selecionadas.
List… | Nenhum | Define as propriedades da lista selecionada, ou torna os parágrafos selecionados em uma lista se elas não já estiverem formatadas como tal.
Layer… | Nenhum | Define as propriedades todas as camadas, ou algumas selecionadas, de um documento de várias camadas.
Page… | Nenhum | Define as propriedades todas as páginas, ou algumas selecionadas, do documento.

## Marcadores

Atalhos de teclado e itens de menu padrão de marcador.

Rótulo | Atalho | Descrição
--- | --- | ---
Add Bookmark | CtrlD | Adiciona um marcador para a localização atual. Não exibe um diálogo pedindo um título ou local para o marcador, em vez escolha padrões sensíveis (como o título ou o nome do documento como o nome do marcador) e permite que o usuário os altere mais tarde usando o recurso Edit Bookmarks.
Edit Bookmarks | CtrlB | Permite o usuário editar seus marcadores.
Lista de marcadores | Nenhum | Exibe os marcadores do usuário.

## Go

Atalhos de teclado de navegação e itens de menu de Go.

Rótulo | Atalho | Descrição
--- | --- | ---
Back | AltEsquerda | Navega para a localização anterior.
Forward | AltDireita | Navega para a próxima localização no histórico de navegação.
Up | AltCima | Navega para o item, o documento, a página ou a seção de conteúdo pai.
Home | AltHome | Navega a uma página inicial definida pelo usuário ou pelo aplicativo.
Location… | CtrlL | Permite o usuário especificar uma URI para navegar.
Previous Page | Page Up | Navega para a página anterior no documento.
Next Page | Page Down | Navega para a próxima página no documento.
Go to Page… | Nenhum | Permite o usuário especificar um número de página para onde navegar. Aplicativos baseados em texto também podem ser um item de menu Go to Line…, que permite o usuário pular para um número de linha especificado.
First Page | CtrlHome | Navega para a primeira página no documento.
Last Page | CtrlEnd | Navega para a última página no documento.

## Janelas

Itens de menu padrão Windows.

Rótulo | Atalho | Descrição
--- | --- | ---
Save All | Nenhum | Salva todos os documentos abertos. Se algum documento não tiver um nome de arquivo, solicita um nome de arquivo para cada um, usando um diálogo padrão Save.
Close All | Nenhum | Fecha todos os documentos abertos. Se houver alterações não salvas em qualquer documento, publica um alerta de confirmação para cada um deles.
Lista de janelas | Nenhum | Cada item de menu faz surgir a janela correspondente por cima da pilha de janelas.