Какой ключ связать, чтобы избежать конфликта с ярлыками браузера? - PullRequest
19 голосов
/ 05 мая 2010

Я еще не видел вопрос. Каждый браузер имеет разные собственные сочетания клавиш. Кто-то уже пытался выяснить, какой из них можно использовать бесплатно / безопасно, если мы хотим добавить некоторые острые вещи в наше веб-приложение?


Дополнительная информация:

Мне не нужно специально настраивать таргетинг на каждый браузер. 5 майоров один достаточно. Например, Opera использует Ctrl + key в качестве основной комбинации, оставляя почти все Alt + key «свободными для привязки».

Поскольку в разных браузерах используется другой основной ключ активации ярлыка ( Ctrl в Opera), я легко могу представить себе также использование другого ключа для привязки ярлыков. т.е. Alt + Клавиша в Opera и Ctrl + Клавиша в browser_2 и Ctrl + Alt в браузере 3.

Ответы [ 7 ]

10 голосов
/ 31 мая 2010

Для прагматичного решения скопируйте Google. У них есть сочетания клавиш в Gmail (и, возможно, других продуктах), которые довольно хорошо избегают сочетаний клавиш браузера.

9 голосов
/ 26 мая 2010

Если вам нужны только сочетания клавиш вне элементов формы, имеющих фокус, я бы использовал простые буквы (не Ctrl / Alt / Shift / и т. Д.) , Обычные символы важны для браузера, только если элемент формы имеет фокус. В противном случае они игнорируются.

Например, если у вас есть постраничное содержимое, P может быть предыдущим, а N может быть следующим.

(Не уверен, что это полностью решит вашу проблему, потому что это не сработает, когда элемент формы имеет фокус.)


Исходя из вашего комментария (фокус будет внутри текстовой области), я бы предложил одну букву, выбранную для каждого действия с различными Ctrl / Alt / Shift комбинация для браузера. Большинство людей используют только один браузер, поэтому для каждого пользователя освоить только собственную комбинацию не составляет особого труда.

Так, например, Ctrl + Alt + N в одном браузере может совпадать с Alt + N в другом.

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

Вот что я нашел в основном доступным:

OS X    - FF/Safari/Chrome - ctrl-[key]
Windows - FF/IE            - ctrl-alt-[key]
5 голосов
/ 05 мая 2010

Краткий ответ:

К сожалению, наше исследование обнаружил, что все ключи, кроме 3 ранее «востребованный» одной технологией или другой:

* AccessKey / (slash)
* AccessKey (backslash)
* AccessKey ] (right square bracket)

Это объяснение в этой статье:

Эта статья в Википедии дает хорошее общее введение в эту тему:

3 голосов
/ 26 мая 2010

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

Вы можете изменить настройку ярлыка на основе браузера, а также изменить инструкции, определяющие, какие ярлыки использовать на основе браузера пользователя.

В идеале вы должны сделать ярлык максимально интуитивно понятным ( Ctrl + X или Alt + X и т. Д.) фактически не мешая браузеру.


Редактировать: в качестве альтернативы, если вам удобнее переопределить функциональность по умолчанию, возможно, используйте это: http://www.openjs.com/scripts/events/keyboard_shortcuts/

Когда вы указываете ярлык для него, браузер игнорирует этот ярлык, и вы можете использовать его в своем приложении (как, например, gmail делает с Ctrl + S , например) .

2 голосов
/ 06 января 2011

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

http://hubpages.com/hub/Browser-Shortcuts-Cheat-Sheet

Надеюсь, это поможет. Если вы нашли этот ответ полезным, отметьте его как таковой

2 голосов
/ 30 мая 2010

Для пользователей Mac вы обязательно должны использовать Ctrl , так как Alt используется для ввода множества различных символов, а команда - это клавиша действия по умолчанию, которую используют браузеры. Я бы избегал комбо, которые также используют базовые ярлыки в стиле emacs (некоторые пользователи используют их как Ctrl + K , которые ТАК удается испортить;), хотя они менее известны и, возможно, поэтому годный к употреблению.

Для Windows это сложнее - и у меня нет выигрышной коробки, чтобы проверить это сам.

1 голос
/ 31 мая 2010

Программы чтения с экрана (JAWS, NVDA, ...) уже используют всю клавиатуру, включая мертвые клавиши (я немного преувеличиваю, но она конкурирует с Adobe Photoshop по количеству используемых сочетаний клавиш).

Поэтому, если вы хотите поддерживать программы чтения с экрана и другие вспомогательные технологии, вам следует использовать ARIA и особенно role = "application" . Это позволит избежать конфликтов между вашим приложением и стандартным режимом работы программ чтения с экрана на веб-страницах. Один недостаток в том, что у вас есть десятки и десятки страниц для чтения ...

Введение à WAI / ARIA (traduction en français) (наш общий родной язык, не так ли SDZ / zC?;))

РЕДАКТИРОВАТЬ: один из способов разрешения конфликтов позволяет пользователю определять и изменять свои собственные ярлыки.

...