Non, il n'est pas valide HTML5 selon la Spec HTML5 Document du W3C:
Modèle de contenu: Transparent, mais il doit y avoir pas de contenu interactif descendant.
L'élément peut être enroulé autour de l'ensemble des paragraphes, des listes, des tableaux, et ainsi de suite, même des sections entières, tant qu'il n'y a pas de contenu interactif à l'intérieur (par exemple, de boutons ou d'autres liens).
En d'autres termes, vous pouvez imbriquer des éléments à l'intérieur d'un <a>
sauf dans les cas suivants:
<a>
<audio>
(si le contrôle de l'attribut est présent)
<button>
<details>
<embed>
<iframe>
<img>
(si le usemap attribut est présent)
<input>
(si le type de l'attribut n'est pas dans le caché de l'état)
<keygen>
<label>
<menu>
(si le type de l'attribut est dans la barre d' état)
<object>
(si le usemap attribut est présent)
<select>
<textarea>
<video>
(si le contrôle de l'attribut est présent)
Si vous essayez d'avoir un bouton qui permet d'accéder à quelque part, d'envelopper ce bouton à l'intérieur d'un <form>
balise en tant que tel:
<form style="display: inline" action="http://example.com/" method="get">
<button>Visit Website</button>
</form>
Toutefois, si votre <button>
balise est de style à l'aide de CSS et qui ne ressemble pas au système de widget... Faites-vous une faveur, de créer une nouvelle classe pour votre <a>
balise et le style de la même manière.