html входной атрибут совместимости браузера с ключом доступа

Какие браузеры реализуют атрибут вводаaccesskey"?
Соответствует ли поведение кросс-браузер?
Безопасно ли использовать accesskey как просто дополнительный атрибут данных (например, "rel" а также "rev"иногда используются на a тег)?

Кроме того, есть ли способ захватить "onaccesskeypress" в JavaScript? Это просто запускает событие onclick?

3 ответа

Поддержка браузера:

Все основные браузеры поддерживают accesskey приписывать. Хотя было некоторое обсуждение того, является ли это хорошей вещью для доступности, это остается частью HTML (от HTML5).

Последовательное поведение:

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

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

Кроме того, управляющие клавиши для доступа к этим сочетаниям клавиш отличаются от браузера к браузеру и от платформы к платформе, и иногда также происходили изменения между версиями браузера.

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

Безопасный в использовании accesskey как просто дополнительный атрибут данных:

Я не уверен, что вы подразумеваете под "безопасным". Вот пример того, как его использовать:

<a accesskey="9" href="/sitemap.html">Sitemap</a>

Персональные рекомендуемые ключи доступа:

0 - Домой

9 - Карта сайта

8 - страница доступности (список ключей)

1,2,3... - Основные элементы навигации, только верхнего уровня

accesskey имеет довольно пятнистую реализацию. Firefox позволяет использовать любой символ в качестве accesskey значение, в то время как Safari, кажется, допускает только числовые символы (например, на этой странице).

Следующая кнопка отображается на > ключ доступа. Это работает в Firefox (Ctrl>, на Mac), но не в Safari.

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

Некоторые ресурсы я использовал, чтобы прийти к моим выводам.

РЕДАКТИРОВАТЬ: После немного больше экспериментов, кажется, что Safari уважает клавиши доступа, которые являются буквенно-цифровыми символами. Клавиша для их выполнения - CtrlAlt{ACCESSKEY}. Я все еще думаю, что JavaScript - лучший способ реализовать навигацию с помощью клавиатуры, но я решил добавить эту информацию для ясности.

Каждый основной браузер поддерживает accesskey (анализирует его и назначает сочетания клавиш соответственно).

Проблема в том, что управляющий ключ отличается для каждого браузера. В IE это клавиша Alt+, Firefox использует клавишу Alt+Shift+, Mac использует клавишу Ctrl+.

Другие вопросы по тегам