Questa guida illustra come utilizzare la navigazione predefinita della tastiera così come è attualmente implementata in Blockly.
Utilizzare la navigazione da tastiera
Affinché la navigazione con tastiera vada a buon fine, l'utente deve essere in grado di completare le seguenti attività:
- Muoversi nello spazio di lavoro
- Collegare blocchi in uno spazio di lavoro
- Aggiungere un blocco allo spazio di lavoro
- Scollegare i blocchi
- Navigare nella cassetta degli attrezzi
- Navigare nel riquadro a comparsa
- Inserire blocchi dal menu a scomparsa
Di seguito viene spiegato in che modo la navigazione con tastiera predefinita di Blockly consente di svolgere queste attività.
Attivazione della navigazione con tastiera
Un utente può attivare e disattivare la navigazione da tastiera premendo Maiusc + Ctrl + K.
Quando la navigazione con la tastiera viene attivata per la prima volta, nello spazio di lavoro viene visualizzata una linea rossa lampeggiante. Questo è il cursore. Mostra la posizione attuale dell'utente e si aggiorna mentre l'utente naviga nello spazio di lavoro.
Se premi Invio, nella posizione attuale viene creata una linea blu che rappresenta l'indicatore di un utente. Un indicatore mostra una posizione target per l'inserimento del blocco. Non
si aggiorna quando sposti il cursore nello spazio di lavoro.
Utilizzo del cursore predefinito
Lo spazio di lavoro è costituito da input, campi, connessioni, blocchi e coordinate dello spazio di lavoro. Il cursore predefinito si sposta nell'area di lavoro suddividendo tutti i componenti in diversi livelli.
Per spostarti tra i livelli, utilizza i tasti A e D. Per spostarti all'interno di un livello, utilizza i tasti W e S.
Livello dello spazio di lavoro
Accedi alla modalità di navigazione da tastiera premendo Maiusc + Ctrl + K. Il cursore viene visualizzato nello spazio di lavoro o nel primo blocco dello spazio di lavoro. Se il cursore si trova su un blocco, spostalo a livello di spazio di lavoro premendo A due volte.
Per spostare il cursore nello spazio di lavoro, utilizza Maiusc + WASD. Per passare al livello della pila, utilizza il tasto D.
Livello di serie
A livello di serie, puoi spostarti tra le serie di blocchi nello spazio di lavoro utilizzando i tasti W e S. A questo livello il cursore è rappresentato da un rettangolo rosso pieno attorno a tutti i blocchi di una serie. Per andare al primo blocco della serie selezionata, utilizza il tasto D.
Livello di blocchi e connessioni
Questo livello contiene un blocco e tutte le connessioni esterne al blocco. Il cursore predefinito è impostato per saltare il blocco se è presente un collegamento precedente o di output. Se non esistono, il cursore si sposta sul blocco, come mostrato di seguito.
Le tre possibili connessioni esterne sono mostrate di seguito.
A livello di blocco e connessione, puoi spostarti tra le connessioni esterne utilizzando i tasti W e S. A questo livello il cursore è rappresentato da un contorno rosso lampeggiante della connessione corrente. Per andare al primo campo o all'inserimento in un blocco, premi D.
Campi e livello di input
Questo livello contiene tutti i campi e gli input del blocco. Di seguito sono riportati alcuni esempi di campi e input.
A questo livello puoi spostarti tra i campi e gli input modificabili del blocco corrente con W e S. Per un campo, il cursore è un rettangolo rosso pieno. Per un input, il cursore è un pezzo di puzzle rosso lampeggiante. Quando il cursore si trova su un input, premi D per passare al blocco collegato.
Quando il cursore è su un campo, premi Invio per modificarlo.
Collegamento di blocchi nello spazio di lavoro
- Vai alla connessione di destinazione utilizzando i tasti WASD
- Contrassegna la connessione utilizzando il tasto Invio
- Vai a un punto di connessione valido utilizzando i tasti WASD
- Collega i due blocchi utilizzando il tasto I (per inserire)
Spostare un blocco nello spazio di lavoro
In genere, in Blockly sposti un blocco nell'area di lavoro selezionandolo, trascinandolo nella posizione desiderata e rilasciandolo. Con le scorciatoie da tastiera, puoi contrassegnare la posizione di destinazione, andare al blocco che vuoi spostare e poi dirgli di muoversi.
- Vai a una posizione nello spazio di lavoro utilizzando i tasti Maiusc + WASD.
- Contrassegna la posizione nello spazio di lavoro utilizzando il tasto Invio
- Vai al blocco che vuoi spostare utilizzando i tasti WASD.
- Sposta il blocco nella posizione contrassegnata utilizzando il tasto I
Blocchi staccabili
In genere, in Blockly scolleghi due blocchi selezionando il blocco inferiore e trascinandolo lontano dal blocco principale. Con le scorciatoie da tastiera puoi scollegare i blocchi premendo X con il cursore sulla connessione che vuoi interrompere.
- Vai alla connessione che vuoi interrompere utilizzando i tasti WASD.
- Interrompi la connessione con X
Inserire un blocco dalla cassetta degli attrezzi
- Premi il tasto T per aprire la cassetta degli attrezzi
- Usa i tasti W e S per spostarti tra le categorie
- Premi il tasto D per passare ai blocchi nel menu a scomparsa
- Per spostarti tra i blocchi, utilizza i tasti W e S.
- Premi il tasto Invio per inserire un blocco dal menu a scomparsa.
Sperimentazione
Riteniamo che le persone potrebbero essere interessate a sperimentare quattro aree principali:
- Mappature dei tasti: quali tasti devono essere mappati a quali azioni.
- Testo per screen reader/registrazione/avvisi: la modalità di lettura da parte di uno screen reader delle posizioni dei cursori, nonché di eventuali errori o avvisi.
- Navigazione nello spazio di lavoro: la modalità di navigazione dell'utente tra i diversi blocchi, campi, input e connessioni nello spazio di lavoro.
- Aspetto del cursore: l'aspetto del cursore e dell'indicatore.
Per ulteriori informazioni su come utilizzare queste API, consulta il lab di codice di navigazione con tastiera di Blockly.
Se vuoi sperimentare altre aree in cui potremmo aiutarti, compila il modulo.
Domande frequenti
D: Perché non hai utilizzato i tasti freccia per la navigazione da tastiera?
R: in genere gli screen reader utilizzano i tasti freccia. Non volevamo interferire con questo, quindi abbiamo scelto di utilizzare i tasti WASD.
Tuttavia, siamo consapevoli che ognuno ha esigenze diverse, pertanto consigliamo vivamente di creare un modo semplice per modificare le mappature delle chiavi.
D: Sembra piuttosto complicato, perché abbiamo bisogno di livelli diversi?
R: quando abbiamo pensato alla navigazione con la tastiera, avevamo bisogno di un modo strutturato per muoverci tra i diversi blocchi, le connessioni, i campi, gli input e le coordinate dello spazio di lavoro.
All'interno, lo rappresentiamo con un albero sintattico astratto (AST). L'implementazione predefinita del cursore non si discosta molto da questo modello.Si tratta di una scelta intenzionale per aiutare gli sviluppatori a comprendere meglio l'architettura sottostante. Esistono altri cursor che potrebbero essere più facili da comprendere per un utente finale.
Limitazioni
Non supportiamo ancora la navigazione verso componenti non bloccanti (ad es. cestino, pulsanti di zoom e pulsanti popup). Per ulteriori informazioni sulle limitazioni, consulta l'elenco dei bug relativi alla navigazione con la tastiera aperti.