<394791328365891@web135.yandex.ru>
Current votes: None.
04.02.2012, 18:11, "Ambrose LI" <ambrose.li@gmail.com>: > 2012/2/4 Marat Tanalin | tanalin.com <mtanalin@yandex.ru>: > >> =C2=A0DIV is not anything. It's _common_ (one of two: block-level DIV = and >> =C2=A0inline SPAN) nonstructural HTML-container intended _solely_ to a= pply >> =C2=A0_styles_ to it, and nothing should prevent it to be used anywher= e >> =C2=A0where another block-level element can be used. > > I won=E2=80=99t exactly say DIV is non-structural. =C2=A0There are such= things as > structural uses of DIV; it=E2=80=99s more correct to say it=E2=80=99s a= n 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 semant= ics like DL/DT parent-child semantic relations, so microformats/microdata= do not interfere with what I've said about DIV. >> =C2=A0AFAIK, the limitation "list items must be direct children of lis= t" >> =C2=A0has been invented long before common containers (DIV/SPAN) has b= een >> =C2=A0invented. So, while it was reasonable initially to disallow alie= n >> =C2=A0_structural_ children of lists (for example, H2 as direct child = of UL >> =C2=A0would be semantically pointless indeed), it's currently unreason= able >> =C2=A0to disallow common containers as nonstructural children of lists= . > > I don=E2=80=99t even know if the structural/non-structural division eve= n 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 d= efined incorrectly in HTML5 spec, you probably should report it on W3 bug= tracker.