Какие кросс-браузерные и кросс-операционные сочетания клавиш можно использовать для веб-приложений? - PullRequest
40 голосов
/ 25 июля 2010

Я занимаюсь разработкой довольно большого веб-приложения, и, вероятно, было бы неплохо использовать горячие клавиши для некоторых типичных задач.Однако я обнаружил, что поиск безопасных комбинаций клавиш является проблемой для всех различных браузеров и операционных систем.

Например, в Chrome такой длинный список горячих клавиш, что он пытается использовать какую-то схему логических горячих клавиш для своего веб-сайта.применение невозможно - например, Ctrl + 1 , Ctrl + 2 , Ctrl + 3 и т. Д.

У вас есть шпаргалка безопасных горячих клавиш, которые можно использовать в веб-приложении, и не беспокоиться о каких-либо помехах браузера или ОС?

Ответы [ 4 ]

14 голосов
/ 25 июля 2010

Я бы на это не рассчитывал. Вероятно, можно слушать ярлыки, которые используют модификатор Alt , но все еще нет способа убедиться, что сочетание клавиш свободно. Пользователи всегда могут устанавливать программы, которые слушают сочетания клавиш, или использовать браузер, который вы не ожидали.

Если ярлыки можно использовать только тогда, когда пользователь не печатает в текстовом поле или чем-то еще, возможно, лучше было бы просто прослушивать нажатия клавиш без клавиши-модификатора.

Если текстовое поле или другой элемент графического интерфейса не выделены, то document.activeElement == document.body должно быть верным (кто-то поправит меня, если я ошибаюсь).

9 голосов
/ 25 июля 2010

Я не думаю, что такого списка нет. Это может даже отличаться для разных регионов.

Вы можете попробовать использовать функцию доступа в HTML: http://www.w3.org/TR/html401/interact/forms.html#adef-accesskey. Это должно поддерживать относительно небольшое количество коллизий. Хотя я полагаю, что браузеры Windows будут предлагать эти клавиши как Alt + Letter, который сталкивается с строкой меню.

В качестве альтернативы сделайте то, что делают Google reader и Gmail: используйте буквы напрямую без каких-либо модификаторов горячих клавиш. Это будет работать только для определенных типов приложений.

0 голосов
/ 25 октября 2016

Facebook использует следующие кнопки, для нажатия которых нужны разные основные клавиши в зависимости от используемого браузера:

https://www.facebook.com/help/156151771119453?helpref=faq_content

Key Combinations for Different Browsers

Find the right combination of keys for your browser in the list below, and replace # with the access key number listed under access keys below.

Internet Explorer for PC: Alt + #, then Enter
Firefox for PC: Shift + Alt + #
Safari for Mac: Ctrl + Opt + #
Firefox for Mac: Ctrl + Opt + #
Chrome for Mac: Ctrl + Opt + #
Chrome for PC: Alt + #

Access keys
0 - Help
1 - Home
2 - Timeline
3 - Friends
4 - Inbox
5 – Notifications
6 – Settings
7 - Activity Log
8 - About
9 - Terms

Однако Facebook поддерживает эти сочетания клавиш во всех браузерах:

Web Messenger Keyboard Shortcuts
Ctrl + G - Search conversations
Ctrl + Q - Show/hide keyboard shortcuts
Ctrl + Delete - Archive/unarchive conversation
Ctrl + J - Mark as spam
Ctrl + M - Start a new message
Ctrl + I - Go to Inbox
Ctrl + U - Go to Other

Вывод: некоторые ярлыки могут работать во всех браузерах, но большинство из них требуют дополнительных пояснений.

0 голосов
/ 17 июля 2014

Как и в большинстве списков, легче перечислить (и, следовательно, найти) то, что существует, а не то, что доступно. В зависимости от того, как вы определяете «безопасную горячую клавишу», их может быть несколько (основные) или тысячи (чуть более сложные, например, как Gmail использует две буквенные комбинации (горячие строки)).

Я думаю, что лучшее, что вы можете сделать, - это взглянуть на эти два исчерпывающих списка для ОС и браузера определенных горячих клавиш и составить список на их основе. Если вы хотите сделать еще один шаг вперед, вот что может вам помочь (не проверял сам) .

Что касается вашей конкретной проблемы, я думаю, вы должны взглянуть на то, как Gmail, Facebook, Remember the Milk используют горячие клавиши; как все они решили вашу проблему элегантно. Если вы составите список того, что они используют, у вас может быть список горячих клавиш для использования там. Кроме того, я использую Breevy, AutoHotkey и несколько других программ, которые создаю «горячие» клавиши продвинутого типа (43 956 и считая), и поскольку они простые, вряд ли когда-либо возникала проблема с перекрытием горячих клавиш с их системами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...