Я бы предложил использовать элемент button
или input
для отправки или выполнения других действий над элементом form
(среди прочего) просто потому, что не все используют мышь для навигации или использования Интернета. , Я еще не использовал программное обеспечение для чтения с экрана, но, учитывая популярность form
s в Интернете, я считаю, что они разработали адекватное представление пользовательского интерфейса для button
.
Однако они не реализуют (или надежно не реализуют) JavaScript с той же целью или эффектом, который вы могли бы использовать для визуального интерфейса пользователя.
Поэтому, в зависимости от вашего варианта использования, я настоятельно рекомендую придерживаться универсального button
(или input
). В противном случае оставьте button
на месте в HTML, удалите его с помощью JavaScript и перенесите функциональность в любой элемент, который вы бы предпочли использовать (если нужно).
Лично я не вижу преимущества использования элемента уровня блока в качестве button
, но если вам имеет смысл отказаться от семантики и внутренних атрибутов элемента button
в пользу div
или p
(и предположительно настраиваемые атрибуты data-*
) - это ваш вызов. Но имейте в виду, что Интернет должен быть пригоден для тех, кто использует его не так, как вы или я.