Kombinasi Kunci Pengubah Terbaik untuk Pintasan Web
14
Banyak pengguna situs web saya meminta pintasan keyboard untuk mengakses halaman yang sering dilihat. Saya tahu bahwa tautan mungkin ada accesskeytetapi untuk mengaksesnya tidak konsisten di seluruh browser . Saya akan menggunakan JavaScript untuk mendeteksi pintasan dan saya ingin masukan Anda tentang apa kunci pengubah seharusnya. Saya condong ke Ctrl+ Shift.
Dua contoh mungkin tidak cukup untuk menyebutnya "praktik yang mapan", tetapi setidaknya dua contoh besar: Google dan Twitter tidak menggunakan keduanya. Atau, jika Anda ingin melihatnya seperti ini, kunci pengubahnya untuk navigasi adalah G.
Untuk membuka halaman "favorit" Twitter Anda, Anda menekan G, lalu F. Untuk pergi ke folder draft gmail Anda, tekan Glalu D.
Cara pintas non-navigasi juga menggunakan huruf sederhana; misalnya Juntuk bergerak maju dalam daftar (tweet, email, dll.), Kuntuk bergerak mundur. *
* Dalam buku saya, ini benar-benar salah. Bagi saya, "J" berada di sebelah kiri "K" berarti "J" harus "sebelumnya" dan "K" harus "berikutnya". Namun, melakukannya dengan cara lain tampaknya menjadi standar.
Tak satu pun dari keduanya menggunakan kunci pengubah "nyata" sama sekali. Kami juga mulai melihat pintasan keyboard untuk situs Stack Exchange, dan kami kemungkinan akan melakukan hal yang sama. Dua alasan lagi yang saya lihat untuk tidak menggunakan kunci pengubah sama sekali:
Lebih sedikit kemungkinan untuk tersandung sesuatu yang sudah digunakan. Kombinasi Ctrl, Alt, Meta, Command, Shift dengan huruf mungkin sudah diambil oleh beberapa sistem operasi, pengelola jendela, peramban, pengaya peramban, atau skrip Greasemonkey. Hanya surat? Tidak terlalu banyak.
Lebih mudah digunakan. "Tekan Ctrl-Alt-Q untuk membuka tab Foo, lalu Meta-Shift-F12 untuk menjalankan tindakan Bar" - itu tidak membuat hidup saya lebih mudah / lebih cepat, yang merupakan keseluruhan tujuan pintasan keyboard.
Di sisi lain, berikut adalah dua peringatan untuk dipertimbangkan:
Anda jelas harus mengabaikan penekanan tombol ketika itu terjadi saat pengguna mengetik di kotak teks. Ini bukan masalah teknis, tetapi itu berarti bahwa pengguna tidak dapat menggunakan pintasan itu.
Jika, katakanlah, halaman Anda memfokuskan secara otomatis kotak pencarian, atau aplikasi web Anda sangat entri teks, ini dapat menimbulkan masalah.
Anda mungkin ingin berpikir tentang mengaktifkan / menonaktifkan. Pintasan keyboard adalah fitur pengguna yang kuat; pengguna "normal" mungkin akan terkejut ketika mereka secara tidak sengaja memicu pintasan keyboard (jelas kunci pengubah akan membuat ini lebih kecil kemungkinannya).
Gmail misalnya memiliki pintasan keyboard dimatikan secara default, dengan pengecualian ?yang (secara alami) menunjukkan bantuan pintasan keyboard - termasuk tautan untuk mengaktifkan / menonaktifkan pintasan. Saya pikir pintasan keyboard adalah area di mana Anda dapat mengatakan tidak apa-apa untuk menjadikannya pengaturan (preferensi pengguna adalah sesuatu yang biasanya kami coba hindari di situs Stack Exchange), dan solusi Google untuk ini sepertinya bagus untuk ini.
Tapi "mati secara default" jelas menyembunyikan penemuan, yang mungkin atau mungkin tidak menjadi masalah.
- tetapi semua hal dipertimbangkan, "tidak ada kunci pengubah" sama sekali sepertinya solusi yang baik untuk saya.
Poin lain pada kombo pengubah gabungan (Tekan Ctrl-Alt-Q untuk membuka tab Foo, lalu Meta-Shift-F12) - seperti itu sebenarnya cukup canggung dari perspektif aksesibilitas. Atau bahkan jika Anda hanya memiliki keyboard yang aneh (batuk), beberapa kombinasi dapat memerlukan senam jari. Kunci tunggal: mudah.
Marc Gravell
2
Itu posting yang bagus @balpha. Saya ingin menunjukkan bahwa J "turun" dan K "naik". Editor teks VIM menggunakan logika yang sama
Mikhail
@Mikhail: Saya sadar akan hal itu, tetapi saya tidak setuju dengan logika itu - lagipula, J ada di sebelah kiri K. Bagi saya, jika J "turun", maka Anda harus "naik" . Tapi saya kira saya akan terbiasa dengannya :)
Tidak ada pilihan pengubah kunci universal atau terbaik
Pilihan terbaik Anda adalah:
Gunakan tidak ada kunci pengubah (hanya penekanan tombol saja), kemudian berhenti mendeteksi penekanan tombol ketika kursor pengguna berada dalam bidang input atau textarea, seperti yang Google lakukan dengan pintasan Gmail.
-- atau --
Pilih default yang sesuai dengan mayoritas pengunjung Anda berdasarkan statistik sistem operasi dari data Analytics Anda. Izinkan pengguna yang berkuasa yang menginginkan pintasan untuk mengaktifkannya dan mengganti kunci pengubah dalam pengaturan pengguna mereka, dengan cara yang sama seperti yang dilakukan oleh perangkat lunak desktop.
-- atau --
Gunakan kunci 'pemicu' alih-alih kunci pengubah. Pertimbangkan ,2untuk pergi ke tab kedua di area navigasi tab Anda dan ,3pergi ke yang ketiga, misalnya. Kombinasi koma diikuti segera oleh nomor tidak cukup biasa untuk mengurangi kemungkinan konflik atau pers yang tidak disengaja.
Dalam semua kasus, Anda dapat mempertimbangkan menonaktifkan tombol pintas secara default untuk mencegah perilaku tak terduga untuk sebagian besar pengguna yang mungkin tidak peduli dengan tombol pintas.
Mengapa tidak memilih kombo pengubah saja?
Alasan saya menyarankan metode ini adalah bahwa tidak ada kunci pengubah cross-platform standar yang dapat Anda anggap aman untuk digunakan dengan JavaScript di lingkungan browser. Apa pun yang mengandung Ctrl, Shift, Alt, atau Cmdkemungkinan akan istirahat beberapa cara pintas browser pada platform tertentu.
Saran Anda untuk menggunakan Ctrl+ Shift, misalnya, akan memecah pintasan Firefox di Windows, banyak di antaranya menggunakan kombinasi itu untuk melakukan fungsi-fungsi khusus , seperti Ctrl+ Shift+ D, yang menandai semua tab yang terbuka.
Pembuat peramban menggunakan pintasan yang berbeda untuk memicu akses pada setiap platform yang berbeda justru karena tidak ada standar lintas platform. Apple menggunakan Ctrlpada Mac dan AltWindows di Safari, misalnya.
Terlebih lagi, setiap browser menyelesaikan konflik jalan pintas secara berbeda, dan ini akan mengakibatkan konsekuensi yang tak terduga bagi pengguna Anda. Saat Anda mengikat penekanan tombol ke fungsi dalam JavaScript yang juga memiliki pengikatan sebagai pintasan browser asli ...
Firefox akan menjalankan pintasan JavaScript sendiri jika Anda return false;tetapi akan menjalankan fungsi JavaScript Anda diikuti oleh pintasan browser Firefox jika Anda return true;(yaitu, keduanya menjalankan keduanya secara default.)
IE akan menjalankan fungsi JavaScript diikuti oleh pintasan browser IE.
Safari / Chrome / Opera akan memproses pintasan browser tetapi bukan JavaScript.
@balpha
. Saya ingin menunjukkan bahwa J "turun" dan K "naik". Editor teks VIM menggunakan logika yang samaTidak ada pilihan pengubah kunci universal atau terbaik
Pilihan terbaik Anda adalah:
Gunakan tidak ada kunci pengubah (hanya penekanan tombol saja), kemudian berhenti mendeteksi penekanan tombol ketika kursor pengguna berada dalam bidang input atau textarea, seperti yang Google lakukan dengan pintasan Gmail.
-- atau --
Pilih default yang sesuai dengan mayoritas pengunjung Anda berdasarkan statistik sistem operasi dari data Analytics Anda. Izinkan pengguna yang berkuasa yang menginginkan pintasan untuk mengaktifkannya dan mengganti kunci pengubah dalam pengaturan pengguna mereka, dengan cara yang sama seperti yang dilakukan oleh perangkat lunak desktop.
-- atau --
Gunakan kunci 'pemicu' alih-alih kunci pengubah. Pertimbangkan ,2untuk pergi ke tab kedua di area navigasi tab Anda dan ,3pergi ke yang ketiga, misalnya. Kombinasi koma diikuti segera oleh nomor tidak cukup biasa untuk mengurangi kemungkinan konflik atau pers yang tidak disengaja.
Dalam semua kasus, Anda dapat mempertimbangkan menonaktifkan tombol pintas secara default untuk mencegah perilaku tak terduga untuk sebagian besar pengguna yang mungkin tidak peduli dengan tombol pintas.
Mengapa tidak memilih kombo pengubah saja?
Alasan saya menyarankan metode ini adalah bahwa tidak ada kunci pengubah cross-platform standar yang dapat Anda anggap aman untuk digunakan dengan JavaScript di lingkungan browser. Apa pun yang mengandung Ctrl, Shift, Alt, atau Cmdkemungkinan akan istirahat beberapa cara pintas browser pada platform tertentu.
Saran Anda untuk menggunakan Ctrl+ Shift, misalnya, akan memecah pintasan Firefox di Windows, banyak di antaranya menggunakan kombinasi itu untuk melakukan fungsi-fungsi khusus , seperti Ctrl+ Shift+ D, yang menandai semua tab yang terbuka.
Pembuat peramban menggunakan pintasan yang berbeda untuk memicu akses pada setiap platform yang berbeda justru karena tidak ada standar lintas platform. Apple menggunakan Ctrlpada Mac dan AltWindows di Safari, misalnya.
Terlebih lagi, setiap browser menyelesaikan konflik jalan pintas secara berbeda, dan ini akan mengakibatkan konsekuensi yang tak terduga bagi pengguna Anda. Saat Anda mengikat penekanan tombol ke fungsi dalam JavaScript yang juga memiliki pengikatan sebagai pintasan browser asli ...
return false;
tetapi akan menjalankan fungsi JavaScript Anda diikuti oleh pintasan browser Firefox jika Andareturn true;
(yaitu, keduanya menjalankan keduanya secara default.)[Sumber: tambahan di kaki halaman readme jquery.hotkeys John Resig .]
sumber