You hav added outer elements, section, article, ... for which I never saw much need, but did nothing for inner parts--and those I sorely missed.
Quote: The solution is to realise that a paragraph, in HTML terms, is not a logical concept, but a structural one. In the fantastic example above, there are actually five paragraphs as defined by this speciication: one before the list, one for each bullet, and one after the list. The markup for the above example could therefore be: <p>For instance, this fantastic sentence has bullets relating to</p> <ul> <li>wizards, <li>faster-than-light travel, and <li>telepathy, </ul> <p>and is further discussed below.</p> :quote This is the same bad hack that writers have suffered since they have had software to do their formatting. (HTML allows at least some nesting; muSoft Word has none, nor Word Perfect.) But your description of paragraph is very appropriate. A paragraph is not a grouping construct, except in, say novels, writing that is divided only by chapter and section. Instead, a paragraph is a block-level leaf node; something, therefore, that does not warrant its own HTML element (unless for a separator). On the other hand, HTML definitely needs something that nests, even as blockquote nests. To chide those who use blockquote for nesting & (structural) indenting is, of course, right, but there is no construct that does that which they want. I suggest that one be made up, which here I call k: <k>For instance, this fantastic sentence has bullets relating to <ul> <li>wizards, <li>faster-than-light travel, and <li>telepathy, </ul> and is further discussed below.</k> Div is not in the least a contender for this, because it has no default style, no function other than grouping. There is a more definite problem with this sentence marked up as in the webpage: style to make it look as anyone who actually writes such a thing, when the list s elements are short, is not easily written unless there is now a construct for saying that for ol that follows p margin-top is 0, and likewise for p margin-bottom is 0, and when p follows ol its margin-top is 0, and ol s margin-bottom is 0. But if it is expressed as I suggest, then one can say that inside k ol s margin-top and margin-bottom are 0, and CSS already for a long while has that. I know of no name for this that I call k, but it very often is used in some forms of technical writing, generally, to be sure, numbered--but that is only style. Indenting, too, is a valid means of showing subordination and nesting, if not too great. Imagine something written with two levels of this k--maybe not all throughout, but at least here and there: <k> <k> </k> <k> </k> </k> <k> </k> <k> <k> </k> </k> .. .. .. With style, one in quite a few ways can mark it up: the inner is indented, the outer less (an appropriate default); the inner has one bullet, the outer another; the inner has first-line indent, the outer not--and so on. (It becomes clear that there never was a need for ul or ol apart from a basic nesting element: with no attribute "type", it is the basic nesting element; with it, it is ul or ol.) My writing is written in two levels, but here there is nothing but the most primitiv layout.
