- From: Elliott Sprehn <esprehn@gmail.com>
- Date: Sun, 29 Apr 2007 15:01:45 -0400
- To: Marat Tanalin <mtanalin@yandex.ru>
- Cc: <public-html@w3.org>
- Message-Id: <2DA246B4-60EC-41FF-9600-776E9EA6484F@gmail.com>
I created a test case [1][2] to check if this suggestion would be compatible with current browser implementations. I tested in Safari 2.0.4, Webkit Nightly (Sat Apr 28 4:26:58 GMT 2007), Opera 9.1 (OSX), Firefox 2.0.3 (OSX), and IE6. It appears as though the only cases where the rendering is consistent across all the browsers are "Div inside a ul around items" and "Div inside a dl around items". Rendering of a div inside an element that requires strictly inline content such as an <a> or <span>, or rendering of a div inside an element that has implicit close tags such as a <p> was not reliable. From this I suggest, in accordance with the Degrade Gracefully design principal [3], that if this suggestion is to be considered that it must only be considered in the context of lists, and not arbitrary HTML elements. [1] http://paste.css-standards.org/11014/view [2] http://paste.css-standards.org/11014 [3] http://esw.w3.org/topic/HTML/ProposedDesignPrinciples#head- f3ceb325558784b71d74ca38ba513f985eebd330 - Elliott Sprehn On Apr 29, 2007, at 1:19 PM, Marat Tanalin wrote: > > Hi to all HTML WG Members. > > I suggest to allow using DIV element inside any element (probably > except > tables). > > It's necessary in order to make code more _semantic_. Let assume > that we > have definition list: > > <dl> > <dt>lorem</dt> > <dd>ipsum</dd> > > <dt>dolor</dt> > <dd>sit</dd> > </dl> > > Currently, if we want to group each pair DT/DD (mainly to apply > styles to > each DT/DD _pair_) we have to use own DL for each pair: > > <dl> > <dt>lorem</dt> > <dd>ipsum</dd> > </dl> > > <dl> > <dt>dolor</dt> > <dd>sit</dd> > </dl> > > But sequence of DLs where each one contains only one DT/DD pair is not > semantic equivalent of one DL that contains several DT/DD pairs. > > Another example, unordered list: > > <ul> > <li>lorem</li> > <li>ipsum</li> > <li>dolor</li> > <li>sit</li> > </ul> > > Currently, if we want to _visually_ present list as several lists > (just two > cols or any another case), we have to _break_ one list to several > _different_ lists: > > <ul> > <li>lorem</li> > <li>ipsum</li> > </ul> > <ul> > <li>dolor</li> > <li>sit</li> > </ul> > > Again, sequence of ULs is not equivalent of one UL. It's clear. > > Making DIV possible to use inside any element solves this problem. For > example in case of DL: > > <dl> > <div> > <dt>lorem</dt> > <dd>ipsum</dd> > </div> > <div> > <dt>dolor</dt> > <dd>sit</dd> > </div> > </dl> > > ....or UL: > > <ul> > <div> > <li>lorem</li> > <li>ipsum</li> > </div> > <div> > <li>dolor</li> > <li>sit</li> > </div> > </ul> > > One semantic list and several divisions inside -- _without breaking > semantics_ unlike current approach. > > DIV is _common_ (with no any semantic sense) container element to > apply > styles, so let's make it full truth since there is _no_ real > reasons to > forbid DIVs inside DL, UL, etc. while it make sense to use DIVs > inside any > element as it illustrated above. > > Thanks. > > -- > Marat Tanalin > > >
Received on Sunday, 29 April 2007 19:01:54 UTC