Este guia se concentra em como usar a navegação padrão do teclado, conforme implementada no Blockly.
.Como usar a navegação por teclado
Para que a navegação por teclado seja bem-sucedida, o usuário precisa ser capaz de concluir as seguintes tarefas:
- Mover-se pelo espaço de trabalho
- Conectar blocos em um espaço de trabalho
- Adicionar um bloco ao espaço de trabalho
- Desconectar blocos
- Navegar pela caixa de ferramentas
- Navegar pelo menu flutuante
- Inserir blocos do menu suspenso
A seguir, explicamos como a navegação padrão do teclado do Blockly realiza essas tarefas.
Como ativar a navegação por teclado
O usuário pode ativar e desativar a navegação pelo teclado pressionando Shift + Ctrl + k.
Quando a navegação por teclado é ativada pela primeira vez, uma linha vermelha piscando aparece no
espaço de trabalho. Esse é o cursor. Ele mostra o local atual do usuário e é atualizado
conforme o usuário navega pelo espaço de trabalho.
Ao pressionar Enter, uma linha azul é criada no local atual, representando o marcador do usuário. Um marcador mostra um local de destino para a inserção do bloco. Ele
não é atualizado conforme você move o cursor pelo espaço de trabalho.
Como usar o cursor padrão
O espaço de trabalho é composto por entradas, campos, conexões, blocos e coordenadas. O cursor padrão se move pelo espaço de trabalho dividindo todos os componentes em diferentes níveis.
Para navegar entre os níveis, use as teclas A e D. Para navegar em um nível, use as teclas W e S.
Nível do espaço de trabalho
Entre no modo de navegação por teclado pressionando Shift + Ctrl + k. Isso coloca
o cursor no espaço de trabalho ou no primeiro bloco dele. Se o
cursor estiver em um bloco, mova-o para o nível do espaço de trabalho pressionando A duas vezes.
Para mover o cursor na área de trabalho, use Shift + WASD. Para mover para o
nível da pilha, use a tecla D.
Nível da pilha
No nível da pilha, é possível navegar entre pilhas de blocos no
espaço de trabalho usando as teclas W e S. Nesse nível, o cursor é
representado por um retângulo vermelho sólido ao redor de todos os blocos em uma pilha. Para acessar
o primeiro bloco na pilha selecionada, use a tecla D.
Nível de blocos e conexões
Esse nível contém um bloco e todas as conexões externas no bloco. O cursor padrão é definido para pular o bloco se houver uma conexão anterior ou de saída. Se nenhum deles existir, o cursor vai se mover para o bloco, conforme mostrado abaixo.
As três possíveis conexões externas são mostradas abaixo.
No nível de bloco e conexão, é possível navegar pelas conexões externas
usando as chaves W e S. Nesse nível, o cursor
é representado por um contorno vermelho intermitente da conexão atual. Para acessar o
primeiro campo ou entrada em um bloco, pressione D.
Campos e nível de entrada
Esse nível contém todos os campos e entradas que estão no bloco. Confira abaixo exemplos de como os campos e as entradas podem ser.
Nesse nível, é possível navegar pelos campos editáveis e
entradas do bloco atual com W e S. Para um campo, o cursor é um retângulo
vermelho sólido. Para uma entrada, o cursor é uma peça de quebra-cabeça vermelha piscando. Quando o
cursor estiver em uma entrada, pressione D para mover para o bloco conectado.
Quando o cursor estiver em um campo, pressione Enter para editá-lo.
Como conectar blocos no Workspace
- Navegue até a conexão de destino usando as teclas WASD.
- Marcar a conexão usando a tecla Enter
- Navegue até um ponto de conexão válido usando as teclas WASD
- Conecte os dois blocos usando a chave I (para inserção)
Como mover um bloco no Workspace
Normalmente, no Blockly, você move um bloco para o espaço de trabalho pegando-o, arrastando-o para a posição desejada e soltando-o. Com os atalhos de teclado, você marca o local de destino, navega até o bloco que quer mover e o instrui a mover.
- Navegue até uma posição no espaço de trabalho usando as teclas Shift + WASD.
- Marque esse local no espaço de trabalho usando a tecla Enter
- Navegue até o bloco que você quer mover usando as teclas WASD.
- Mova o bloco para o local marcado usando a tecla I
Desconectar blocos
Normalmente, no Blockly, você desconecta dois blocos pegando o bloco inferior e arrastando-o para longe do bloco pai. Com os atalhos de teclado, desconecte os blocos pressionando X com o cursor na conexão que você quer interromper.
- Navegue até a conexão que você quer interromper usando as teclas WASD.
- Interromper a conexão com X
Como inserir um bloco da caixa de ferramentas
- Pressione a tecla T para abrir a caixa de ferramentas.
- Use as teclas W e S para navegar pelas categorias.
- Pressione a tecla D para mover os blocos no menu suspenso.
- Navegue pelos blocos usando as teclas W e S
- Pressione a tecla Enter para inserir um bloco no menu suspenso.
Experimentação
Acreditamos que há quatro áreas principais em que as pessoas podem ter interesse em testar:
- Mapeamentos de teclas: quais teclas devem ser mapeadas para quais ações.
- Texto para leitores de tela/Registro/Avisos: como um leitor de tela deve ler os locais do cursor, bem como erros ou avisos.
- Navegação no espaço de trabalho: como um usuário navega pelos diferentes blocos, campos, entradas e conexões no espaço de trabalho.
- Aparência do cursor: a aparência do cursor e do marcador.
Para mais informações sobre como usar essas APIs, consulte o laboratório de código de navegação de teclado do Blockly.
Se você quiser experimentar outras áreas em que podemos ajudar, preencha o formulário.
Perguntas frequentes
P: Por que você não usou as teclas de seta para navegar pelo teclado?
A:Os leitores de tela geralmente usam as teclas de seta. Não queremos interferir nisso
e, por isso, optamos por usar as teclas WASD.
No entanto, reconhecemos que cada pessoa
tem necessidades diferentes. Por isso, recomendamos
criar uma maneira fácil de mudar os mapeamentos de chaves.
P: Parece muito complicado. Por que precisamos de camadas diferentes?
A:Ao pensar na navegação por teclado, precisávamos de uma maneira estruturada de navegar
entre os diferentes blocos, conexões, campos, entradas e coordenadas do espaço de trabalho.
Internamente, representamos isso com uma árvore de sintaxe abstrata (AST). A implementação
padrão do cursor não se afasta muito desse modelo.Isso é intencional para
que os desenvolvedores entendam melhor a arquitetura subjacente. Existem
outros cursores
que podem ser mais fáceis de entender para um usuário final.
Limitações
Ainda não oferecemos suporte à navegação para componentes não em bloco (por exemplo, lixeira, botões de zoom e botões suspensos). Para mais informações sobre limitações, consulte a lista de bugs abertos de navegação do teclado.