<div dir="ltr">Blarg forward to list.<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Tab Atkins Jr.</b> <span dir="ltr">&lt;<a href="mailto:jackalmage@gmail.com">jackalmage@gmail.com</a>&gt;</span><br>
Date: Tue, Aug 5, 2008 at 9:15 AM<br>Subject: Re: [whatwg] Nested lists<br>To: noclip &lt;<a href="mailto:noclip@gmail.com">noclip@gmail.com</a>&gt;<br><br><br><div dir="ltr"><br><br><div class="gmail_quote"><div><div></div>
<div class="Wj3C7c">On Mon, Aug 4, 2008 at 8:15 PM, noclip <span dir="ltr">&lt;<a href="mailto:noclip@gmail.com" target="_blank">noclip@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Are there plans to natively support nested unordered lists in HTML 5? I&#39;m referring here to something like this:<br>
<br>
Top level list item<br>
|-- Childless second level list item<br>
|-- Another childless second level list<br>
[+]- Collapsed second level list item with children<br>
[-]- Expanded second level list item with children<br>
| &nbsp; &nbsp;|-- Third level list item<br>
| &nbsp; &nbsp;|-- Another third level list item<br>
| &nbsp; [+]- Collapsed third level list item with children<br>
| &nbsp; [-]- Expanded third level list item with children<br>
| &nbsp; &nbsp;| &nbsp; &nbsp;|-- Fourth level list item<br>
| &nbsp; &nbsp;| &nbsp; &nbsp;|__ Another fourth level list item<br>
| &nbsp; &nbsp;|__ A final third level list item<br>
[+]- Another collapsed second level list item<br>
|__ A final second level list item<br>
<br>
This is already possible through CSS, but these kinds of nested lists are more organizational than presentational and could benefit from native support with their own kind of unordered list element. The markup for the above list could be something like this:<br>


<br>
&lt;nl&gt;<br>
&nbsp;&lt;li id=&quot;foo&quot;&gt;Top level list item&lt;/li&gt;<br>
&nbsp;&lt;lg parent=&quot;foo&quot;&gt;<br>
 &nbsp; &nbsp;&lt;li&gt;Childless second level list item&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;li&gt;Another childless second level list item&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;li id=&quot;bar&quot;&gt;Collapsed second level list item with children&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;lg parent=&quot;bar&quot;&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;!-- Child list items here --&gt;<br>
 &nbsp; &nbsp;&lt;/lg&gt;<br>
 &nbsp; &nbsp;&lt;li id=&quot;three&quot;&gt;Expanded second level list item with children&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;lg parent=&quot;three&quot;&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;li&gt;Third level list item&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;li&gt;Another third level list item&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;li id=&quot;four&quot;&gt;Collapsed third level list item&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;lg parent=&quot;bar&quot;&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;!-- Child list items here --&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;/lg&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;li id=&quot;five&quot;&gt;Expanded third level list item with children&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;lg parent=&quot;bar&quot;&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;li&gt;Fourth level list item&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;li&gt;Another fourth level list item&lt;/li&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;/lg&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;li&gt;A final third level list item&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;/lg&gt;<br>
 &nbsp; &nbsp;&lt;li id=&quot;boo&quot;&gt;Another collapsed second level list item&lt;/li&gt;<br>
 &nbsp; &nbsp;&lt;lg parent=&quot;boo&quot;&gt;<br>
 &nbsp; &nbsp; &nbsp; &lt;!-- Child list items here --&gt;<br>
 &nbsp; &nbsp;&lt;/lg&gt;<br>
 &nbsp; &nbsp;&lt;li&gt;A final second level list item&lt;/li&gt;<br>
&nbsp;&lt;/lg&gt;<br>
&lt;/nl&gt;<br>
<br>
Or you could define the list groups separately, at the beginning or end of the &lt;nl&gt;.</blockquote></div></div><div><br>Could you be more specific about how this is better than just nesting &lt;ul&gt;s?&nbsp; Your example can be organized just as well with:<br>

&nbsp;&lt;ul&gt;<br>&nbsp;&nbsp;&nbsp; &lt;li&gt;Foo&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp; &lt;li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ul&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;Bar&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;Baz&lt;/li&gt;<br>...<br><br>This markup has the added advantage that it&#39;ll display a nested list no matter what - it is it&#39;s own fallback content if the UA doesn&#39;t have appropriate CSS support.&nbsp; Plus it automatically nests appropriately, without the need to specify parents explicitly.&nbsp; As shown in your example, that&#39;s somewhat error-prone ( below &lt;li id=&quot;five&quot;&gt; you have &lt;lg parent=&quot;bar&quot;&gt;, which should obviously be &lt;lg parent=&quot;five&quot;&gt;).&nbsp; ^_^<br>

</div></div></div>
</div><br></div>