En esta guía, se explica cómo usar la navegación predeterminada del teclado como se implementa actualmente en Blockly.
Cómo usar la navegación con el teclado
Para que la navegación con el teclado se realice correctamente, el usuario debe poder completar las siguientes tareas:
- Cómo moverse por el lugar de trabajo
- Conecta bloques en un lugar de trabajo
- Agrega un bloque al espacio de trabajo
- Cómo quitar bloques
- Navega por la caja de herramientas
- Cómo navegar por la ventana emergente
- Cómo insertar bloques desde el menú flotante
A continuación, se explica cómo la navegación del teclado predeterminada de Blockly realiza estas tareas.
Cómo habilitar la navegación con el teclado
Un usuario puede habilitar y deshabilitar la navegación del teclado presionando Mayúsculas + Ctrl + k.
Cuando se habilita la navegación con el teclado por primera vez, aparece una línea roja intermitente en el
espacio de trabajo. Este es el cursor. Muestra la ubicación actual del usuario y se actualiza a medida que este navega por el lugar de trabajo.
Si presionas Intro, se crea una línea azul en la ubicación actual que representa el marcador del usuario. Un marcador muestra una ubicación de destino para la inserción de bloques. No se actualiza a medida que mueves el cursor por el espacio de trabajo.
Usa el cursor predeterminado
El lugar de trabajo se compone de entradas, campos, conexiones, bloques y coordenadas del lugar de trabajo. El cursor predeterminado se mueve por el espacio de trabajo dividiendo todos los componentes en diferentes niveles.
Para navegar entre niveles, usa las teclas A y D. Para navegar dentro de un nivel, usa las teclas W y S.
Nivel de Workspace
Presiona Mayúsculas + Ctrl + k para ingresar al modo de navegación con el teclado. Esto coloca
el cursor en el lugar de trabajo o en el primer bloque del lugar de trabajo. Si el cursor está en un bloque, muévelo al nivel del espacio de trabajo presionando A dos veces.
Para mover el cursor en el espacio de trabajo, usa Mayúsculas + WASD. Para moverte al nivel de la pila, usa la tecla D.
Nivel de pila
En el nivel de la pila, puedes navegar entre pilas de bloques en el espacio de trabajo con las teclas W y S. En este nivel, el cursor se representa con un rectángulo rojo sólido alrededor de todos los bloques de una pila. Para ir al primer bloque de la pila seleccionada, usa la tecla D.
Nivel de bloqueo y conexiones
Este nivel contiene un bloque y todas las conexiones externas del bloque. El cursor predeterminado está configurado para omitir el bloque si hay una conexión anterior o de salida. Si no existe ninguno, el cursor se moverá al bloque, como se muestra a continuación.
A continuación, se muestran las tres conexiones externas posibles.
A nivel del bloque y de la conexión, puedes navegar por las conexiones externas con las teclas W y S. En este nivel, el cursor se representa con un contorno rojo intermitente de la conexión actual. Para ir al primer campo o entrada de un bloque, presiona D.
Campos y nivel de entrada
Este nivel contiene todos los campos y las entradas que se encuentran en el bloque. A continuación, se muestran ejemplos de cómo se ven los campos y las entradas.
En este nivel, puedes navegar por los campos editables y las entradas del bloque actual con W y S. En el caso de un campo, el cursor es un rectángulo rojo continuo. Para una entrada, el cursor es una pieza de rompecabezas roja intermitente. Cuando el cursor esté sobre una entrada, presiona D para moverte al bloque conectado.
Cuando el cursor esté en un campo, presiona Intro para editarlo.
Cómo conectar bloques en el lugar de trabajo
- Navega a la conexión de destino con las teclas WASD.
- Marca la conexión con la tecla Intro.
- Navega a un punto de conexión válido con las teclas WASD.
- Conecta los dos bloques con la llave I (para insertar).
Cómo mover un bloque en el lugar de trabajo
Por lo general, en Blockly, para mover un bloque al espacio de trabajo, debes tomarlo, arrastrarlo a la posición deseada y soltarlo. Con las combinaciones de teclas, puedes marcar tu ubicación de destino, navegar al bloque que deseas mover y, luego, indicarle que se mueva.
- Navega a una posición en el espacio de trabajo con las teclas Mayúsculas + WASD.
- Marca esa ubicación en el lugar de trabajo con la tecla Intro.
- Navega al bloque que quieres mover con las teclas WASD.
- Mueve el bloque a la ubicación marcada con la tecla I.
Bloques de desprendimiento
Por lo general, en Blockly, para desconectar dos bloques, debes tomar el bloque inferior y arrastrarlo fuera del bloque superior. Con las combinaciones de teclas, puedes desconectar bloques presionando X con el cursor sobre la conexión que deseas romper.
- Navega a la conexión que quieres romper con las teclas WASD.
- Corta la conexión con X
Cómo insertar un bloque de la caja de herramientas
- Presiona la tecla T para abrir la caja de herramientas.
- Usa las teclas W y S para desplazarte por las categorías.
- Presiona la tecla D para desplazarte a los bloques del menú flotante.
- Navega por los bloques con las teclas W y S.
- Presiona la tecla Intro para insertar un bloque del menú flotante.
Experimentación
Creemos que hay cuatro áreas principales con las que a las personas les podría interesar experimentar:
- Asignaciones de teclas: Indica qué teclas deben asignarse a qué acciones.
- Texto para lectores de pantalla/Registro/Advertencias: Indica cómo un lector de pantalla debe leer las ubicaciones de los cursores, así como los errores o las advertencias.
- Navegación del lugar de trabajo: Indica cómo un usuario navega por los diferentes bloques, campos, entradas y conexiones del lugar de trabajo.
- Aspecto del cursor: Cómo deben verse el cursor y el marcador.
Para obtener más información sobre cómo usar estas APIs, consulta el code lab de navegación con el teclado de Blockly.
Si tienes otras áreas con las que quieres experimentar y con las que podamos ayudarte, completa el formulario.
Preguntas frecuentes
P.: ¿Por qué no usaste las teclas de flecha para la navegación con el teclado?
A: Por lo general, los lectores de pantalla usan las teclas de flecha. No queríamos interferir con esto, por lo que elegimos usar las teclas WASD.
Sin embargo, reconocemos que cada usuario tiene necesidades diferentes, por lo que te recomendamos crear una forma sencilla de cambiar las asignaciones de teclas.
P.: Parece bastante complicado. ¿Por qué necesitamos diferentes capas?
A: Cuando pensamos en la navegación con el teclado, necesitábamos una forma estructurada de movernos por los diferentes bloques, conexiones, campos, entradas y coordenadas del espacio de trabajo.
De forma interna, lo representamos con un árbol de sintaxis abstracta (AST). La implementación predeterminada del cursor no se aleja mucho de este modelo.Esto es intencional para que los desarrolladores comprendan mejor la arquitectura subyacente. Hay
otros cursores
que podrían ser más fáciles de entender para un usuario final.
Limitaciones
Aún no admitimos la navegación a componentes que no son de bloqueo (p.ej., papelera, botones de zoom y botones flotantes). Para obtener más información sobre las limitaciones, consulta la lista de errores abiertos de navegación del teclado.