(reprise du message précédent)
A mon avis, ce n'est pas très malin d'avoir <><input /></a> ou <a><button></button></a>, quand bien même c'est W3C valide.
Je ne sais pas comment les navigateurs ont résolu cette ambiguïté mais mieux vaut ne pas s'y fier: deux zones cliquables sont superposées, il pourrait arriver qu'une se déclenche mais pas l'autre... d'Oû un lien ou un bouton qui ne marcherait peut-être pas dans certaines configuration.
Pour la même raison, j'éviterais aussi <button><a></a></button>, ou pire, plusieurs liens dans le même bouton; juste pour éviter la confusion entre un clic sur le bouton ou sur le(s) lien(s) qui peuvent être traitées différemment.
Pour des questions d'accessibilité, de sémantique et de logique, hors formulaire, je pense qu'il serait plus juste de toujours utiliser des liens, quitte à les styler pour qu'ils aient l'apparence de boutons. Je réserverais les vrais boutons pour les actions liées aux formulaires, et inversément, je n'utiliserais pas de lien pour soumettre un formulaire (pratique courante mais fondamentalement illogique, les lecteurs d'écran proposent des racourcis pour sauter directement au bouton d'envoi, c'est embêtant de ne pas pouvoir les utiliser parce que le « bouton » est en fait un lien).
Après, on peut discuter sur les formulaires qui sont constitués uniquement de champs cachés en-dehors du bouton d'envoi... dans ce cas, un lien est presque plus logique puisque l'utilisateur ne voit même pas qu'il y a un formulaire derrière.
A mon avis, ce n'est pas très malin d'avoir <><input /></a> ou <a><button></button></a>, quand bien même c'est W3C valide.
Je ne sais pas comment les navigateurs ont résolu cette ambiguïté mais mieux vaut ne pas s'y fier: deux zones cliquables sont superposées, il pourrait arriver qu'une se déclenche mais pas l'autre... d'Oû un lien ou un bouton qui ne marcherait peut-être pas dans certaines configuration.
Pour la même raison, j'éviterais aussi <button><a></a></button>, ou pire, plusieurs liens dans le même bouton; juste pour éviter la confusion entre un clic sur le bouton ou sur le(s) lien(s) qui peuvent être traitées différemment.
Pour des questions d'accessibilité, de sémantique et de logique, hors formulaire, je pense qu'il serait plus juste de toujours utiliser des liens, quitte à les styler pour qu'ils aient l'apparence de boutons. Je réserverais les vrais boutons pour les actions liées aux formulaires, et inversément, je n'utiliserais pas de lien pour soumettre un formulaire (pratique courante mais fondamentalement illogique, les lecteurs d'écran proposent des racourcis pour sauter directement au bouton d'envoi, c'est embêtant de ne pas pouvoir les utiliser parce que le « bouton » est en fait un lien).
Après, on peut discuter sur les formulaires qui sont constitués uniquement de champs cachés en-dehors du bouton d'envoi... dans ce cas, un lien est presque plus logique puisque l'utilisateur ne voit même pas qu'il y a un formulaire derrière.