@dmitriyivvvv

Элементы div или span в качестве кнопок?

Добрый вечер. При просмотре кода других сайтов часто замечаю что в качестве кнопок используются div и span.
Возник вопрос зачем это делается и чем хуже тот же button или a? Есть какие то преимущества у такого способа?
  • Вопрос задан
  • 1839 просмотров
Решения вопроса 1
AlexDingo
@AlexDingo
Frontend
Делают, если:
1. Не знают что лучше использовать button или a
2. Не знают/лень убирать фон, рамки и прочие прелести у button
3. У a не знают/лень убрать действие по умолчанию с помощью preventDefault (при клике кидает на верх страницы, пытаясь перейти по ссылке)
4. Еще варианты... =)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
alexiusp
@alexiusp
senior frontend developer
Вообще лучше пользоваться button - это лучше с точки зрения доступности страницы. Разные скринридеры для слабовидящих опираются на разметку при чтении. Ну и вообще, если есть в спецификации кнопка и ссылка, то и нужно их использовать по назначению. Используют div вместо кнопки в некоторых случаях, когда не хотят или не умеют бороться с ненужными в конкретном случае особенностями рендеринга элемента button.
Ответ написан
Комментировать
Yertuwernat
@Yertuwernat
Кратко о себе: живу в России, не женат, характер
Можно вообще для группировки и для строк использовать только div и span
То есть обойтись минимумом тегов.
А для обозначения семантики (роли) использовать WAI-ARIA
смотри тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы