Строго говоря, <button>
соответствует установленным критериям. HTML5 говорит
Когда привязка кнопки применяется к элементу кнопки [что обычно происходит], элемент
ожидается, что будет отображаться как блок «встроенный блок», как кнопка, чей
содержимое - это содержимое элемента.
Однако, хотя это элемент контейнера, который имеет встроенный рендеринг по умолчанию, он не является контейнером общего назначения , поэтому его нельзя использовать ни для чего, кроме как для кнопки.