No , no es HTML5 válido según el documento de especificaciones HTML5 de W3C :
Modelo de contenido: transparente , pero no debe haber contenido interactivo descendiente de .
El elemento a puede estar envuelto alrededor de párrafos enteros, listas, tablas, etc., incluso secciones enteras, siempre que no haya contenido interactivo (por ejemplo, botones u otros enlaces).
En otras palabras, puede anidar cualquier elemento dentro de un <a>excepto los siguientes:
<a>
<audio>(si el atributo de controles está presente)
<button>
<details>
<embed>
<iframe>
<img>(si el atributo usemap está presente)
<input>(si el atributo type no está en estado oculto )
<keygen>
<label>
<menu>(si el atributo type está en el estado de la barra de herramientas )
<object>(si el atributo usemap está presente)
<select>
<textarea>
<video>(si el atributo de controles está presente)
Si está intentando tener un botón que se vincule a algún lugar, envuelva ese botón dentro de una <form>etiqueta como tal:
<form style="display: inline" action="http://example.com/" method="get">
<button>Visit Website</button>
</form>
Sin embargo, si su <button>etiqueta está diseñada con CSS y no se parece al widget del sistema ... Hágase un favor, cree una nueva clase para su <a>etiqueta y póngale el mismo estilo.