Atajos de teclado
Las cuatro teclas que vincula el tema, dónde se aplica cada una y dónde se entera quien lee.
El tema vincula cuatro teclas. Esta página dice cuáles son, cuándo están escuchando y dónde se entera de ellas alguien que nunca ha leído esta página —porque un atajo que nadie puede descubrir es un atajo que nadie tiene.
Las vinculaciones
| Teclas | Hace | Escucha mientras |
|---|---|---|
| ⌘K · CtrlK | Abre la búsqueda, y vuelve a cerrarla | En cualquier punto de la página, incluso sobre un enlace o botón enfocado |
| ? | Abre la hoja de atajos | El contenido propio de la página tiene el foco |
| [ | La página anterior de esta sección | El contenido propio de la página tiene el foco |
| ] | La página siguiente de esta sección | El contenido propio de la página tiene el foco |
El modificador sigue al teclado de quien lee, no al de quien escribe: ⌘ en uno
de Apple, Ctrl en el resto. Se resuelve en cuanto hay un navegador que pueda
responder, así que una página prerrenderizada envía el Ctrl más seguro y lo
cambia al llegar.
[ y ] se quedan dentro de la sección que se está leyendo. La última página de
una sección no ofrece una siguiente hacia otra: cambiar de sección es tarea de la
fila de secciones, y una tecla llamada «página siguiente» que abandona el tema no
es la misma tecla.
Dónde se le dice a quien lee
Cuatro sitios, y los cuatro beben de la misma definición, así que ninguno puede llegar a anunciar una tecla que la capa ya no vincula:
- El botón de búsqueda lleva su propio acorde —
⌘KoCtrl+K— en la cápsula de su derecha. - Los enlaces a la página anterior y siguiente al pie de una página llevan
[y]. Estas eran las teclas que no mencionaba nada: había que abrir la hoja para descubrir que los dos enlaces que ya se estaban mirando tenían teclas. - El botón de teclado junto a la búsqueda abre la hoja con el puntero, en
cada página a partir del breakpoint
lg; por debajo, la cabecera lo oculta, porque una pantalla táctil no tiene teclas que listar. Es la respuesta a la parte circular del problema:?abre la lista de teclas, y hay que saberlo para pulsarla. - La propia hoja enumera cada vinculación viva con sus teclas, con
?o con ese botón.
Cuándo se retira una tecla
Un atajo global de un solo carácter se dispara bajo alguien que nunca lo pidió, así que las teclas sin modificador están vigiladas, no solo vinculadas. No se dispara nada:
- en cuanto algo más cercano a la tecla ya la ha atendido;
- mientras quien lee escribe —un campo, un textarea, un select, una región editable—;
- en cualquier punto dentro de un diálogo, menú, listbox, combobox, cuadrícula o árbol, que responden a las pulsaciones por sí mismos.
Las teclas sin modificador se retiran un paso más: solo se disparan mientras el
contenido propio de la página tiene el foco, nunca sobre un enlace, un botón o
una pestaña. ⌘/Ctrl+K es la excepción, porque ningún control quiere ese acorde.
Un destino de foco con tabindex="-1" cuenta como contenido a propósito: ahí es
donde aparca el foco tras una navegación, y quien acaba de llegar a una página es
exactamente para quien están [ y ].
Apagar las teclas desnudas
shortcuts.singleCharacter: false desvincula ?, [ y ] y deja ⌘/Ctrl+K.
El acceso por conmutador, el control por voz y el dictado emiten caracteres
desnudos por norma, y una página que navega fuera bajo uno de ellos no muestra
ninguna causa; ningún método de entrada produce el acorde con modificador por
accidente.
? es un carácter desnudo como los demás, así que un sitio que ponga esto no
tiene ninguna tecla que abra la hoja de atajos. El botón de teclado de la
cabecera es entonces la única entrada. Por debajo de lg la cabecera lo oculta
—una pantalla táctil no tiene teclas que listar— pasándole
hidden lg:inline-flex desde DuxtHeader; el componente en sí no lleva ninguna
clase responsive. Quítalo de una cabecera sobrescrita y la hoja queda
inalcanzable.
La política es un booleano y no una tabla de vinculaciones, y es deliberado:
véase shortcuts en la referencia de configuración.
Sobrescribir cualquier parte
La lista, las guardas y el dibujado son un módulo:
useDuxtShortcuts(). Los
dos componentes a su alrededor son
DuxtShortcuts, la hoja, y
DuxtShortcutsTrigger,
el botón que la abre. Ambos son tuyos por la vía de siempre; véase
Sobrescribir el tema.