HTML最初的目的是为了表达语义(事物的意义),而不是表现(它们的外观)。由于<ul>
表示一个无序列表,而工具栏在概念上只是一组项目的列表,因此这是合理的。即使StackOverflow也这样做!
<div class="nav">
<ul>
<li><a href="/questions">Questions</a></li>
<li><a href="/tags">Tags</a></li>
<li><a href="/users">Users</a></li>
<li><a href="/badges">Badges</a></li>
<li><a href="/unanswered">Unanswered</a></li>
</ul>
</div>
UL
和LI
用于列表,而您正在列出一堆链接(子导航、工具等)。
通过允许使用border-left/right,它还避免了将不符合语义的分隔符(例如竖杠)强制添加到代码中以进行呈现的做法,这也会增加屏幕阅读器要朗读的不必要内容。 例如:
<div class="nav">
<a href="/questions">Questions</a> |
<a href="/tags">Tags</a> |
<a href="/users">Users</a> |
<a href="/badges">Badges</a> |
<a href="/unanswered">Unanswered</a>
</div>
可能的一个原因是 - 它们在低级客户端上具有合理的回退行为 - 即它变成了一棵树。但实际上,<ul>
和 <li>
只是描述嵌套列表数据的方式;使用 CSS 控制布局,它们最初的意图主要是为了方便。
可能是因为某些认为网络标准是唯一正确的人将它们标记为这样。毕竟,工具栏是一个图标列表!
但我个人对标记的方法是,在创建涉及工具栏等应用程序 UI 元素的 Web 应用程序时,您不必按照 HTML 网络标准构建所有内容,因为它们不是为标记应用程序而创建的,而是为文档创建的。在这种情况下,只需使用最适合您的任何内容(例如带有跨度列表的 div,使用类名称指定应用程序的上下文语义)。
注意:我的答案特别适用于使用工具栏,而不是常规网站导航。
http://blog.fryewiles.com/seo/03-04-2008/ul-titles-nesting-uls-for-better-seo http://importantseotips.blogspot.com/2008/09/why-using-div-is-better-than-table-seo.html http://webdev.entheosweb.com/2008/02/24/why-i-switched-to-a-tableless-design/
实际上,我找不到很多针对SEO的ul标签的专门文章,因此我将不得不通过表达我的观点来回答。
我认为,使用无序列表来呈现菜单将有助于网络爬虫正确解析和索引您的站点。通常,组织良好的数据(例如列表)更容易被爬虫快速地抓取。良好组织数据将显着提高机器人正确查找您的关键字并对您的站点进行排名的可能性。
(现在,如果只有我的观点像拉里·佩奇一样有价值就好了。;-))