Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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