Atalhos de teclado
As quatro teclas que o tema vincula, onde cada uma se aplica e onde quem lê fica a saber.
O tema vincula quatro teclas. Esta página diz quais são, quando estão à escuta e onde alguém que nunca leu esta página fica a saber delas — porque um atalho que ninguém consegue descobrir é um atalho que ninguém tem.
As vinculações
| Teclas | Faz | À escuta enquanto |
|---|---|---|
| ⌘K · CtrlK | Abre a pesquisa, e volta a fechá-la | Em qualquer ponto da página, mesmo sobre uma ligação ou botão com foco |
| ? | Abre a folha de atalhos | O conteúdo próprio da página tem o foco |
| [ | A página anterior desta secção | O conteúdo próprio da página tem o foco |
| ] | A página seguinte desta secção | O conteúdo próprio da página tem o foco |
O modificador segue o teclado de quem lê, não o de quem escreve: ⌘ num da
Apple, Ctrl em todo o resto. É resolvido assim que houver um navegador para
responder, pelo que uma página pré-renderizada envia o Ctrl mais seguro e
troca-o à chegada.
[ e ] ficam dentro da secção que está a ser lida. A última página de uma
secção não oferece uma seguinte para outra — mudar de secção é tarefa da fila das
secções, e uma tecla chamada «página seguinte» que abandona o assunto não é a
mesma tecla.
Onde quem lê fica a saber
Quatro sítios, e os quatro bebem da mesma definição, pelo que nenhum pode vir a anunciar uma tecla que a camada deixou de vincular:
- O botão de pesquisa traz o seu próprio acorde —
⌘KouCtrl+K— na cápsula à direita. - As ligações para a página anterior e seguinte ao fundo de uma página trazem
[e]. Eram estas as teclas que nada mencionava: era preciso abrir a folha para descobrir que as duas ligações já à vista tinham teclas. - O botão de teclado ao lado da pesquisa abre a folha com o ponteiro, em cada
página a partir do breakpoint
lg; abaixo dele, o cabeçalho esconde-o, porque um ecrã tátil não tem teclas para listar. É a resposta à parte circular do problema:?abre a lista de teclas, e é preciso sabê-lo para a premir. - A própria folha enumera cada vinculação viva com as suas teclas, com
?ou a partir desse botão.
Quando uma tecla se retira
Um atalho global de um só caractere dispara sob alguém que nunca o pediu, pelo que as teclas sem modificador estão guardadas, não apenas vinculadas. Nada dispara:
- assim que algo mais próximo da tecla já a tratou;
- enquanto quem lê escreve — um campo, uma textarea, um select, uma região editável;
- em qualquer ponto dentro de um diálogo, menu, listbox, combobox, grelha ou árvore, que respondem às teclas por si próprios.
As teclas sem modificador retiram-se mais um passo: só disparam enquanto o
conteúdo próprio da página tiver o foco, nunca sobre uma ligação, um botão ou um
separador. ⌘/Ctrl+K é a excepção, porque nenhum controlo quer esse acorde.
Um alvo de foco com tabindex="-1" conta como conteúdo, deliberadamente: é aí
que o foco estaciona depois de uma navegação, e quem acabou de chegar a uma
página é exactamente para quem [ e ] existem.
Desligar as teclas nuas
shortcuts.singleCharacter: false desvincula ?, [ e ] e deixa ⌘/Ctrl+K.
O acesso por comutador, o controlo por voz e o ditado emitem caracteres nus a
todo o momento, e uma página que navega para fora sob um deles não mostra causa
nenhuma; nenhum método de entrada produz o acorde com modificador por acidente.
? é um caractere nu como os outros, pelo que um site que defina isto não tem
tecla nenhuma que abra a folha de atalhos. O botão de teclado no cabeçalho passa
a ser a única entrada. Abaixo de lg o cabeçalho esconde-o — um ecrã tátil não
tem teclas para listar — passando-lhe hidden lg:inline-flex a partir de
DuxtHeader; o componente em si não tem nenhuma classe responsiva. Retira-o de
um cabeçalho substituído e a folha fica inalcançável.
A política é um booleano e não uma tabela de vinculações, e é deliberado: ver
shortcuts na referência de configuração.
Substituir qualquer parte
A lista, as guardas e o desenho são um módulo —
useDuxtShortcuts(). Os dois
componentes à sua volta são
DuxtShortcuts, a folha, e
DuxtShortcutsTrigger,
o botão que a abre. Ambos são teus pela via do costume; ver
Substituir o tema.