Ответ
Использование div вместо button нарушает семантику HTML и создаёт проблемы с доступностью. Кнопки (button) имеют встроенные ARIA-роли и состояния, поддерживают фокус и клавиатурные события (Enter/Space) без дополнительного кода.
Пример проблем:
<!-- Плохо: -->
<div onclick="submitForm()">Отправить</div>
<!-- Хорошо: -->
<button type="button" onclick="submitForm()">Отправить</button>Различия:
- Доступность: скринридеры распознают
buttonкак интерактивный элемент - Фокус: кнопки автоматически включаются в tab-порядок
- Поведение: кнопки корректно обрабатывают состояния disabled
- Семантика: поисковики лучше понимают назначение элемента
Для стилизации лучше модифицировать button, а не заменять его div.