Атрибут accesskey тега <details>


Описание

Атрибут accesskey позволяет назначить горячую клавишу для быстрого доступа к элементу <details>. При нажатии комбинации клавиш (зависит от браузера и ОС) элемент получит фокус или переключит своё состояние.

Важно: Комбинации клавиш различаются в разных браузерах и операционных системах, что может вызвать конфликты с системными сочетаниями.
Пример использования:
<details accesskey="d"> <summary>Дополнительная информация (Alt+D)</summary> <p>Этот блок можно открыть сочетанием клавиш Alt+D в Windows/Linux или Control+Option+D в macOS.</p> </details>

Рекомендации по выбору клавиш:

Клавиша Рекомендация Пример
Буквы Используйте первую букву функции accesskey="d" для Details
Цифры Для нумерованных элементов accesskey="1"
Избегайте Системных сочетаний (S, F, P и др.) -

Комбинации клавиш по платформам:

Платформа Комбинация
Windows/Linux Alt + ключ
macOS Control + Option + ключ
Firefox Alt + Shift + ключ

Практический пример с несколькими элементами:

<details accesskey="f" id="faq1"> <summary>Частые вопросы (Alt+F)</summary> <p>Ответы на популярные вопросы пользователей.</p> </details> <details accesskey="s" id="settings"> <summary>Настройки (Alt+S)</summary> <p>Параметры вашего аккаунта.</p> </details> <script> // Добавляем визуальную подсказку при использовании accesskey document.addEventListener('keydown', function(e) { if (e.altKey && !e.ctrlKey && !e.metaKey) { const key = String.fromCharCode(e.keyCode).toLowerCase(); const element = document.querySelector(`[accesskey="${key}"]`); if (element) { element.style.outline = '2px solid #4CAF50'; setTimeout(() => element.style.outline = '', 1000); } } }); </script>

Ограничения и проблемы доступности:

  • Сочетания клавиш не стандартизированы между браузерами
  • Могут конфликтовать с системными комбинациями
  • Неочевидны для пользователей (требуют подсказок)
  • Плохо работают на мобильных устройствах
  • Могут мешать пользователям скринридеров

Рекомендации по улучшению:

<style> .accesskey-hint::after { content: " [Alt+" attr(accesskey) "]"; font-size: 0.8em; color: #666; } </style> <details accesskey="h" class="accesskey-hint"> <summary>Справка</summary> <p>Информация о работе с системой.</p> </details>

Примечание: Хотя атрибут accesskey предоставляет возможность быстрого доступа, для профессиональных решений лучше использовать JavaScript-реализацию горячих клавиш с возможностью настройки и обработки конфликтов. Всегда предоставляйте видимые подсказки о доступных сочетаниях клавиш.