Il n'y a rien de mal à utiliser <br /> ou <hr />. Aucun d'entre eux sont obsolètes tags, même dans le nouveau HTML 5 projet de spec (les spec info). En fait, il est difficile de préciser l'utilisation correcte de la balise <br /> mieux que le W3C lui-même:
L'exemple suivant est l'utilisation correcte de la br élément:
<p>P. Sherman<br>
42 Wallaby Way<br>
Sydney</p>
br éléments ne doivent pas être utilisés pour séparer les groupes thématiques dans un paragraphe.
Les exemples suivants sont non-conformes, comme ils l'abus de la br élément:
<p><a ...>34 commentaires.</a><br>
<a ...>Ajouter un commentaire.<a></p>
<p>Nom: <input name="nom"><br>
Adresse: <input name="adresse"></p>
Ici sont les alternatives à la ci-dessus, qui sont correctes:
<p><a ...>34 commentaires.</a></p>
<p><a ...>Ajouter un commentaire.<a></p>
<p>Nom: <input name="nom"></p>
<p>Adresse: <input name="adresse"></p>
<hr /> peut très bien être une partie du contenu, et pas seulement un élément d'affichage. Faites preuve de jugement lorsqu'il s'agit de ce qui est du contenu, et ce qui ne l'est pas, et vous le saurez lors de l'utilisation de ces éléments. Ils sont tous les deux valides, des éléments utiles dans les spécifications du W3C en cours. Mais avec un grand pouvoir vient une grande responsabilité, afin de l'utiliser correctement.
Edit 1:
Une autre pensée que j'ai eu après j'ai d'abord hit "post" - il y a eu beaucoup d'anti-<table>, le sentiment chez les développeurs de sites web au cours des dernières années, et avec raison. Les personnes abusant de la balise <table>, de l'utiliser pour l'aménagement du site et la mise en forme. Ce n'est pas ce qu'il est, de sorte que vous ne devriez pas l'utiliser de cette façon. Mais est-ce à dire que vous devriez ne jamais utiliser la balise <table>? Que faire si vous avez réellement un honnête à la bonté de table dans votre code, par exemple, si vous écrivez un article scientifique, et que vous vouliez inclure le tableau périodique des éléments? Dans ce cas, l'utilisation de <table> est tout à fait justifié, il devient un balisage sémantique au lieu de mise en forme. C'est la même situation avec <br />. Lorsque c'est une partie de votre contenu (c'est à dire, le texte qui devrait casser à ces points afin d'être correct en anglais), l'utiliser! Lorsque vous êtes juste de le faire pour des raisons de mise en forme, il est préférable d'essayer d'une autre manière.