Верх страницы
Обложка к записи Исправляем css hover эффект на тач-устройствах
Время для прочтения: 0 мин. 7 сек.

Исправляем css hover эффект на тач-устройствах

При создании каскадного меню сайта, реализованного при помощи ненумерованного списка, с вложенным тегом <ul>, которое должно было появляться при наведении на родительский <li>, столкнулся с тем, что псевдокласс hover дико переглючивает на iPad, отчего меню совсем перестает работать.

К счастью, исправляется это очень просто, достаточно добавить атрибут aria-haspopup к тегу, на который вы навешиваете hover:


<ul>
	<li aria-haspopup="true">
		Developers
		<ul>
			<li>
				<a>Javadocs</a>
			</li>
			<li>
				<a>GitHub</a>
			</li>
			<li>
				<a>Build Server</a>
			</li>
		</ul>
	</li>
</ul>

При включении свойства aria-haspopup реакция веб-страницы для посетителей, использующих мышь или клавиатуру, не изменяется. Кроме того, применение свойства aria-haspopup для этой цели не влияет на его использование в качестве свойства стандарта доступности полнофункциональных интернет-приложений (Accessible Rich Internet Applications).

Знакомые разработчики также советуют прописать курсор, правда я это не проверял:


li:hover {
	cursor: pointer;
}

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

Ссылки

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

4 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Иван
Иван
6 лет назад

Такой классный сайт и нет комментариев? Админ, а есть статистика на сколько чаще люди заходят на страницы с эротикой чем в на другие?)

вапвыап
вапвыап
8 месяцев назад

Автор очень странный разработчик со странным стажем.

  1. «hover дико переглючивает на iPad». Айпад является тач-устройством, где отсутствует курсор. Без курсора какие ваши ожидания от работы ховера?
  2. Чтобы меню хорошо работало на мобильных и тач-устройствах — оно реализуется по касанию экрана. То есть, ховер нужно просто исключить и не делать говно из палок.
  3. Примеры кода не корректны. Автор указывает эффект ховера на элемент li. Лишка — это пункт списка, то есть это обертка для ссылки, не более. Она не является интерактивным элементом, а поэтому не требует интерактивных состояний. А вот ссылка — другое дело.
Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы