- From: Rocky Kahn <rocky@teampatent.com>
- Date: Fri, 23 May 2008 18:44:49 -0700
- To: public-html-comments@w3.org
- Message-ID: <5e7dca810805231844w27c525f3i398247407b857953@mail.gmail.com>
The HTML 5 draft and preceding w3c
standards<http://www.w3.org/html/wg/html5/#the-ol>seem to specify that
<ul>/<ol> can not be direct child of <ul>/<ol>.
Specifically, the content model of <ol> and <ul> is "Zero or more
li<http://www.w3.org/html/wg/html5/#li>elements." This poses a
problem for designing a rich text editor (which
we're doing). Typically, when users add a list item onto an already created
list, it is encoded as a separate list rather than joining it with previous
list items. Consider a case where a user of a rich text editor such as
Google Mail or Google Documents starts with "apple" & "banana" at level 1
and "pear" at level 2 as shown below:
* apple
* pear
* banana
When the user indents "banana", it's coded as a separate <UL> as shown
below.
> <ul>
> <li>apple</li>
> <ul>
> <li>pear</li>
> </ul>
> <ul>
> <li>banana</li>
> </ul>
> </ul>
Consider what happens now when the user attempts to further indent "banana"
to look like the following:
> * apple
> * pear
> * banana
This could be coded correctly but that would require the editor to
automatically join pear and banana into a single <UL>. Since "banana" was
previously coded as a separate UL, indenting it instead produces the
following code where a UL which is a direct child of a UL as shown below:
> <ul>
> <li>apple</li>
> <ul>
> <li>pear</li>
> </ul>
> <ul>
> <ul>
> <li>banana</li>
> </ul>
> </ul>
> </ul>
This is correctly rendered on all the browsers I cared to check (FF2, IE7, &
Opera). Is there some compelling reason to continue strictly specifying
that UL or OL may not be directly contained in a <UL>/<OL>? If not,
considering Google's using it and all the browsers support it, perhaps the
specification ought to be changed.
Received on Sunday, 25 May 2008 19:13:56 UTC