Forum Moderators: open
So <p> is one kind of mark-up that conveys semantic information, but <br> is a simple rendering instruction. How a <p> is rendered visually can vary widely, depending on the stylesheet rules. But it is still a paragraph - a semantic unit of a particular kind.
What has gone on in HTML over time is important to understand if you want to grok the changes from HTML 3 to HTML 4 transitional to HTML 4 strict.
HTML is one type of SGML -- S(tandard) G(eneralized) M(arkup) L(anguage). The mark-up HTML provides was supposed to indicate meaning, not rendering instructions. However, by the time HTML 3 arrived, HTML had strayed far from its SGML home. We had, most especially, the rendering-only instruction of the <font> tag.
We also had lots of coders using tags like <blockquote> when there was no quote involved at all - just to get an indent! When I was first learning HTML, I read one tutorial that said "<p> is shorthand for two <br> tags." Now that's just wrong.
So common practice was trashing the semantic roots of a true mark-up language, and the browser wars (with all the non-standard "innovation" that came along with the warfare) were adding in non-semantic mark-up at warp speed.
By the time we arrived at HTML 4, the W3C realized clearly that for the future, semantics and rendering instructions needed to be separate. Semantics should be the realm of HTML and rendering the realm of stylesheets.
But the two areas had become so intertwined that untangling them was clearly going to involve a process, not one bold stroke. That's the principle difference between "transitional" and "strict" mark-up. Transitional mark-up (whether html or xhtml) is a 'transition', a step toward the separation of semantics and rendering. Strict mark-up is a giant step in that direction.
Although "strict" is not really not pure enough for a truly purist take on the whole issue, the separation is dramatic compared to HTML 3. And anyone who has made the shift to strict mark-up knows that they have given the search engines a much easier document to handle, and the rewards on the SERPs can be remarkable.
And all of this is why one of my soapbox issues is the importance of learning strict mark-up, compared to writing transitional anything at all, xhtml or html 4.
Is this true or a myth? If it is true, is it a big problem, or do the SEO/usability benefits of "strict" outweigh the concern that a small % of visitors using older browsers will have problems?