I am trying to develop/design a main menu/site map for our website.
The brief is that the menu should look like a directory tree and each item on the menu should either expand to reveal more menu items or link to another page on the site.
On top of this, every item should have the functionality to be added to the sites "Favourites" application, so that every user can more quickly find items that are buried deep within the menu structure.
Because of my insane OCD to make sure that everything is done correctly and to the best possible standards, I am having issues getting my markup to be semantically correct and accessible.
Here's what I've got so far:
<ul>
<li>
<ul>
<li>
<a href="example1.html">Collapse "Menu Item 1"</a>
</li>
<li>
<a href="example2.html">Add "Menu Item 1" to Favourites</a>
</li>
<li>
<a href="example1.html">Menu Item 1</a>
<ul>
<li>
<ul>
<li>
<a href="example3.html">Open "Menu Item 1's
First Child"</a>
</li>
<li>
<a href="example4.html">Add "Menu Item 1's
First Child" to Favourites</a>
</li>
<li>
<a href="example3.html">Menu Item 1's First
Child</a>
</li>
</ul>
</li>
<li>
<ul>
<li>
<a href="example5.html">Open "Menu Item 1's
Second Child"</a>
</li>
<li>
<a href="example6.html">Add "Menu Item 1's
Second Child" to Favourites</a>
</li>
<li>
<a href="example5.html">Menu Item 1's Second
Child</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<ul>
<li>
<a href="example7.html">Expand "Menu Item 2"</a>
</li>
<li>
<a href="example8.html">Add "Menu Item 2" to Favourites</a>
</li>
<li>
<a href="example7.html">Menu Item 2</a>
</li>
</ul>
</li>
<li>
<ul>
<li>
<a href="example9.html">Open "Menu Item 3"</a>
</li>
<li>
<a href="example10.html">Add "Menu Item 3" to Favourites</a>
</li>
<li>
<a href="example9.html">Menu Item 3</a>
</li>
</ul>
</li>
</ul>
As you can see, things start to get very complicated very quickly.
Is this the best way to convey this information or am I over complicating the matter?
Can you think of a better way for me to do this?