Атрибут accesskey тега <map>
Описание
Атрибут accesskey для тега <map> позволяет назначить горячую клавишу для быстрого доступа к интерактивным областям карты изображения. Это глобальный атрибут HTML, который может применяться к элементам <area> внутри <map>.
<img src="navigation.png" alt="Навигационное меню" usemap="#navmap">
<map name="navmap">
<area shape="rect" coords="0,0,100,50" href="home.html"
alt="Главная" accesskey="1">
<area shape="rect" coords="100,0,200,50" href="products.html"
alt="Продукты" accesskey="2">
</map>
<p>Нажмите Alt+1 для перехода на главную, Alt+2 - к продуктам</p>
Особенности работы:
| Браузер/ОС | Комбинация клавиш | Примечание |
|---|---|---|
| Windows (Chrome, Firefox) | Alt + accesskey | Требуется подтверждение в некоторых браузерах |
| MacOS | Control + Option + accesskey | Может конфликтовать с системными сочетаниями |
| Linux | Alt + accesskey | Аналогично Windows |
Рекомендации по использованию:
- Используйте цифры (1-9) или простые буквы
- Избегайте конфликтов с системными комбинациями
- Обеспечьте видимые подсказки для пользователей
- Проверяйте работу в целевых браузерах
- Для сложных карт лучше использовать JavaScript
Пример с подсказками:
<img src="services.png" alt="Услуги" usemap="#services">
<map name="services">
<area shape="rect" coords="0,0,100,50" href="design.html"
alt="Дизайн (Alt+D)" accesskey="D">
<area shape="rect" coords="100,0,200,50" href="dev.html"
alt="Разработка (Alt+R)" accesskey="R">
</map>
Ограничения и проблемы:
- Не работает на мобильных устройствах
- Разные комбинации в разных браузерах
- Может конфликтовать с другими accesskey на странице
- Ограниченная поддержка в современных веб-приложениях
Альтернатива с JavaScript:
<script>
document.addEventListener('keydown', function(e) {
if(e.altKey && e.key === '1') {
document.querySelector('map[name="navmap"] area[href="home.html"]').click();
}
});
</script>
Примечание: Хотя accesskey может улучшить доступность карт изображений, в современных веб-приложениях рекомендуется использовать семантическую HTML-разметку с JavaScript-управлением для более надежного и кросс-браузерного решения.