Re: Using <p> elements purely as containers of phrasing elements? Semantic or not?

2013-05-06 16:33, Ian Yang wrote:
> But when
> you use <p> element purely as container, is that really a semantic
> approach?

No, and there is very little semantics in HTML in general. The word 
"semantic" as usually used as a buzzword really refers to structure, not 
semantics (meaning).

In reality, both in HTML tradition and in HTML5 drafts, the <p> element 
means a block of text that may contain text-level markup, but not other 
markup. It largely corresponds to the word processor concept of 
paragraph, except that the latter is even wider: anything formatted as a 
block is a paragraph.

When some text and text-level markup needs to be marked up as a block, 
there are usually two basic options: <p> and <div>. In special cases, 
other markup may apply (e.g., <blockquote> or <li> or <td>), but this 
depends on context.

The real differences between <p> and <div> are:
1) <p> implies empty lines before and after, in default rendering, and 
may cause (short) pauses before and after in speech rendering
2) <div> content is not limited to text-level markup but can contain 
e.g. a list or a table.

It's pointless to try to describe the difference in more "semantic" 
terms, or even in more structural terms. Such descriptions just result 
in confusion, endless questions, and debate.

Of course you *can* ignore difference 1 if you think that non-CSS 
rendering does not matter, on the grounds that you can set vertical 
margins in CSS as desired. Then it would be natural to use <p> for all 
basic blocks of text (i.e., blocks that contain only text and text-level 
markup).

And "block" can be seen as a physical concept, which makes things 
easier, or as a logical concept, in which case your would need to refer 
to things like dealing with a specific topic as a logical unit, such as 
one passage (paragraph) in a novel, a collection of interrelated data, 
or a unit of a form consisting of a label and associated field.

Things would probably be easier if the word "paragraph" were not used at 
all (except perhaps when referring to paragraphs of prose) and <p> were 
defined as denoting a block of text.

-- 
Yucca, http://www.cs.tut.fi/~jkorpela/

Received on Monday, 6 May 2013 13:57:08 UTC