Re: <di>? Please?

04.02.2012, 18:11, "Ambrose LI" <ambrose.li@gmail.com>:
> 2012/2/4 Marat Tanalin | tanalin.com <mtanalin@yandex.ru>:
>
>>  DIV is not anything. It's _common_ (one of two: block-level DIV and
>>  inline SPAN) nonstructural HTML-container intended _solely_ to apply
>>  _styles_ to it, and nothing should prevent it to be used anywhere
>>  where another block-level element can be used.
>
> I won’t exactly say DIV is non-structural.  There are such things as
> structural uses of DIV; it’s more correct to say it’s an HTML
> container with undefined semantics (defined by conventions) and/or
> undefined style (defined by stylesheets).

According to HTML5 spec, "the div element has no special meaning at all":
http://www.w3.org/TR/html5/grouping-content.html#the-div-element

Microformats/microdata are a separate pseudosemantic "layer" that usually rely purely on classes and attributes and don't rely on core HTML semantics like DL/DT parent-child semantic relations, so microformats/microdata do not interfere with what I've said about DIV.

>>  AFAIK, the limitation "list items must be direct children of list"
>>  has been invented long before common containers (DIV/SPAN) has been
>>  invented. So, while it was reasonable initially to disallow alien
>>  _structural_ children of lists (for example, H2 as direct child of UL
>>  would be semantically pointless indeed), it's currently unreasonable
>>  to disallow common containers as nonstructural children of lists.
>
> I don’t even know if the structural/non-structural division even makes
> sense. Even HTML5 calls P structural, but any writer, editor, or
> proofreader can tell us that P cannot possibly be structural the way
> it is defined.

All the more so.

Independently of the tread subject, if you think P element is currently defined incorrectly in HTML5 spec, you probably should report it on W3 bug tracker.

Received on Saturday, 4 February 2012 14:32:08 UTC