<br /> tag seems to get short shrift a lot. Perhaps because it contains no content and appears to have no meaning within a document. You can’t communicate any of the information that a line-break contains structurally because it seems to be a purely presentational element.
Robert Nyman boils the issue down to a number of different perspectives on line breaks: “no”, “yes”, “I don’t know”, and “who cares?” (Perspectives have been paraphrased. A lot.)
I’m not firmly on one side or the other – I can’t help sitting on the fence on this question. There are pieces of information which, to me, seem to be best presented using line breaks. Take an address, for example. You can do it in a single
<address> element without line breaks – and it’s OK, but not really the standard presentation of an address. Most people expect an address to cross multiple lines, after all. Saying we don’t use line breaks, this can be a bit tricky. It seems hardly semantic to put each line of an address into a separate address element – since each line is only a part of the whole.
So using line breaks is pretty standard for an address. Conceivably, a more semantic layout would actually be in definition list format where the definition term is the person’s name and each definition part is the address. This would still require multiple
<address> elements, however, since a single element couldn’t span multiple
<dd> tags, but the address would still require line breaks if used in a single definition element.
So, ultimately, using a definition list may be the most semantic way of expressing an address, but line breaks unquestionably require much less code. The semantic cost is really not too much for me to pay, personally.
I don’t think that a line break has semantic value. However, there are situations where a line break is required because custom dictates it. Other methods of formatting may have their value, but the use of an occasional line break isn’t going to make or break a site’s quality code.