Panduan ini berfokus pada cara menggunakan navigasi keyboard default seperti yang saat ini diterapkan di Blockly.
Menggunakan Navigasi Keyboard
Agar navigasi keyboard berhasil, pengguna harus dapat menyelesaikan tugas-tugas berikut:
- Berpindah-pindah di ruang kerja
- Menghubungkan blok di ruang kerja
- Menambahkan blok ke ruang kerja
- Lepaskan blok
- Membuka kotak peralatan
- Menavigasi {i>flyout<i}
- Menyisipkan blok dari menu flyout
Di bawah ini, dijelaskan cara navigasi keyboard default Blockly menyelesaikan tugas-tugas ini.
Mengaktifkan Navigasi Keyboard
Pengguna dapat mengaktifkan dan menonaktifkan navigasi keyboard dengan menekan Shift + Ctrl + k.
Saat navigasi keyboard pertama kali diaktifkan, garis merah yang berkedip akan muncul di
ruang kerja. Ini adalah kursor. Hal ini menunjukkan lokasi pengguna saat ini dan pembaruan
saat pengguna menavigasi ruang kerja.
Menekan Enter akan membuat garis biru di lokasi saat ini yang menggambarkan penanda pengguna. Penanda menampilkan lokasi target untuk penyisipan blok. Tata letak ini
tidak diperbarui saat Anda memindahkan kursor di sekitar ruang kerja.
Menggunakan Kursor Default
Ruang kerja terdiri dari input, kolom, koneksi, blok, dan koordinat ruang kerja. Kursor default bergerak di sekitar ruang kerja dengan membagi semua komponen ke tingkat yang berbeda.
Untuk berpindah-pindah level, gunakan tombol A dan D. Untuk menavigasi dalam level, gunakan tombol W dan S.
Tingkat Ruang Kerja
Masuk ke mode navigasi keyboard dengan menekan Shift + Ctrl + k. Tindakan ini menempatkan
kursor pada ruang kerja atau di blok pertama pada ruang kerja. Jika
kursor berada pada blok, pindahkan ke tingkat ruang kerja dengan menekan A dua kali.
Untuk memindahkan kursor pada ruang kerja, gunakan Shift + WASD. Untuk berpindah ke
tingkat stack, gunakan tombol D.
Tingkat Tumpukan
Pada tingkat tumpukan, Anda dapat bernavigasi di antara tumpukan blok di
ruang kerja menggunakan kunci W dan S. Pada tingkat ini, kursor
diwakili oleh persegi panjang merah solid di sekitar semua blok dalam tumpukan. Untuk membuka
blok pertama dalam tumpukan yang dipilih, gunakan tombol D.
Tingkat Blok dan Koneksi
Level ini menampung blok dan semua koneksi luar pada blok. Kursor default disetel untuk melewati blok jika ada koneksi sebelumnya atau output. Jika tidak ada, kursor akan berpindah ke blok, seperti yang ditunjukkan di bawah ini.
Tiga kemungkinan koneksi luar ditampilkan di bawah ini.
Pada tingkat blok dan koneksi, Anda dapat bernavigasi melalui koneksi
luar menggunakan kunci W dan S. Pada tingkat ini, kursor
diwakili oleh garis batas merah yang berkedip pada koneksi saat ini. Untuk membuka
kolom atau input pertama pada blok, tekan D.
Kolom dan Level Input
Level ini menyimpan semua kolom dan input yang ada pada blok. Contoh
tampilan kolom dan input ditampilkan di bawah ini.
Pada tingkat ini, Anda dapat menjelajahi kolom dan input blok saat ini yang dapat diedit menggunakan W dan S. Untuk kolom, kursor adalah persegi panjang
berwarna merah solid. Untuk input, kursor adalah potongan puzzle berwarna merah yang berkedip. Saat
kursor berada pada input, tekan D untuk berpindah ke blok yang terhubung.
Saat kursor berada di kolom, tekan Enter untuk mengeditnya.
Menghubungkan Blok Di Ruang Kerja
- Buka koneksi target Anda menggunakan tombol WASD
- Tandai koneksi menggunakan tombol Enter
- Navigasikan ke titik koneksi yang valid menggunakan tombol WASD
- Hubungkan dua blok menggunakan kunci I (untuk menyisipkan)
Memindahkan Blok di Ruang Kerja
Biasanya di Blockly, Anda memindahkan blok ke ruang kerja dengan mengambilnya, menariknya ke posisi yang diinginkan, lalu melepaskannya. Dengan pintasan keyboard, Anda dapat menandai lokasi target, arahkan kursor ke blok yang ingin dipindahkan, lalu minta untuk memindahkannya.
- Arahkan ke posisi ruang kerja menggunakan tombol Shift + WASD
- Tandai lokasi tersebut di ruang kerja menggunakan tombol Enter
- Pilih blok yang ingin Anda pindahkan menggunakan tombol WASD
- Pindahkan blok ke lokasi yang ditandai menggunakan tombol I
Melepaskan Blok
Biasanya di Blockly, Anda memutuskan sambungan dua blok dengan mengambil blok yang lebih rendah dan menariknya dari blok induk. Dengan pintasan keyboard, Anda memutuskan blok dengan menekan X dengan kursor pada koneksi yang ingin diputus.
- Buka koneksi yang ingin Anda putuskan menggunakan tombol WASD
- Memutus koneksi dengan X
Memasukkan Blok Dari Toolbox
- Tekan tombol T untuk membuka kotak peralatan
- Gunakan tombol W & S untuk berpindah-pindah kategori
- Tekan tombol D untuk berpindah ke blok pada {i>flyout<i}
- Menjelajahi blok menggunakan tombol W & S
- Tekan tombol Enter untuk menyisipkan blok dari menu flyout
Eksperimen
Kami percaya ada empat area utama yang mungkin diminati orang untuk bereksperimen:
- Pemetaan Kunci: Tombol apa yang harus dipetakan ke tindakan yang perlu dilakukan.
- Teks untuk pembaca layar/Logging/Peringatan: Cara pembaca layar membacakan lokasi kursor serta error atau peringatan.
- Navigasi Workspace: Cara pengguna menavigasi berbagai blok, kolom, input, dan koneksi di ruang kerja.
- Tampilan Kursor: Tampilan kursor dan penanda.
Untuk informasi selengkapnya tentang cara menggunakan API ini, lihat code lab Navigasi Keyboard Blockly.
Jika Anda ingin bereksperimen dengan area lain yang mungkin dapat kami bantu, silakan isi formulir.
FAQ
T: Mengapa Anda tidak menggunakan tombol panah untuk navigasi keyboard?
J: Pembaca layar umumnya menggunakan tombol panah. Kami tidak ingin mengganggu hal ini,
jadi kami memilih untuk menggunakan kunci WASD.
Namun, kami menyadari bahwa setiap orang
memiliki kebutuhan yang berbeda, jadi sebaiknya buat cara mudah untuk mengubah pemetaan kunci.
T: Tampaknya cukup rumit, mengapa kita memerlukan lapisan yang berbeda?
J: Saat memikirkan navigasi keyboard, kami memerlukan cara terstruktur untuk bergerak
di berbagai blok, koneksi, kolom, input, dan koordinat ruang kerja.
Secara internal, kami merepresentasikannya dengan hierarki sintaksis abstrak (AST). Implementasi
kursor default tidak menyimpang dari model ini.Hal ini dimaksudkan untuk
memberi developer pemahaman yang lebih baik tentang arsitektur yang mendasarinya. Ada
cursors lain
yang mungkin lebih mudah dipahami oleh pengguna akhir.
Batasan
Kami belum mendukung navigasi ke komponen non-blok (misalnya tempat sampah, tombol zoom, dan tombol flyout). Untuk informasi selengkapnya tentang batasan, lihat daftar bugs navigasi keyboard terbuka.