Нет , это недопустимый HTML5 в соответствии со спецификацией HTML5 Spec Document от W3C :
Модель содержимого: прозрачная , но не должно быть потомков интерактивного содержимого .
Элемент a может быть обернут вокруг целых абзацев, списков, таблиц и так далее, даже целых разделов, если внутри нет интерактивного содержимого (например, кнопок или других ссылок).
Другими словами, вы можете вкладывать любые элементы внутрь, <a>
кроме следующих:
<a>
<audio>
(если присутствует атрибут controls )
<button>
<details>
<embed>
<iframe>
<img>
(если присутствует атрибут usemap )
<input>
(если атрибут типа не находится в скрытом состоянии)
<keygen>
<label>
<menu>
(если атрибут типа находится в состоянии панели инструментов )
<object>
(если присутствует атрибут usemap )
<select>
<textarea>
<video>
(если присутствует атрибут controls )
Если вы пытаетесь создать кнопку, которая ссылается куда-нибудь, оберните эту кнопку внутри <form>
тега как такового:
<form style="display: inline" action="http://example.com/" method="get">
<button>Visit Website</button>
</form>
Однако, если ваш <button>
тег оформлен с использованием CSS и не похож на виджет системы ... Сделайте себе одолжение, создайте новый класс для своего <a>
тега и задайте ему такой же стиль.