It is highly recommended to utilize styled unordered lists for creating menus. Not only are they semantic and SEO-friendly, but they also cater to screen readers.
For a horizontal menu, remember to apply {float:left}
to the li elements. If it's not a horizontal menu, focus on styling the A tags within the list instead of the LIs for optimal outcomes.
Here is an example of a simple menu:
<ul>
<li><a href="">item A</a></li>
<li><a href="">item B</a></li>
</ul>
For more complex multi-level menus, consider the following CSS styles:
.menu {
ul li { position:relative; float:left }
ul li a { display:block; ... your styles ...}
ul li ul {position:absolute ..position as needed ...}
ul li ul li {float:none}
}
<div class='menu'>
<ul>
<li><a href="">item A</a>
<ul>
<li><a href="">item A-1</a></li>
<li><a href="">item A-2</a></li>
</ul>
</li>
<li><a href="">item B</a></li>
</ul>
</div>
It is advisable to pair this with a CSS reset like the one provided here: http://developer.yahoo.com/yui/reset/