自从我开始使用HTML,CSS等以来,我一直注意到的一个一致的事情是导航条似乎几乎总是以列表形式呈现,在某些变体中:
HTML:
<ul>
<li><a href="link1.html">link 1</a></li>
<li><a href="link2.html">link 2</a></li>
<li><a href="link3.html">link 3</a></li>
<li><a href="link4.html">link 4</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
还有<li>里面的<a>
CSS:
ul{list-style-type:none;}
li{display:inline-block;}
Run Code Online (Sandbox Code Playgroud)
现在HTML5基本上是相同的,但在<nav>标签或任何说"这是浏览器/屏幕阅读器的一些导航内容"的任何东西.
我的问题是他们是否需要具有现代HTML5语义和ARIA可访问性角色的列表,还有什么好处?当然是一个链接列表,但还有其他任何实际原因吗?
我找到的理由:
语义,屏幕阅读器和可访问性:意见各不相同,特别是它如何使屏幕阅读器更好(或更糟糕......).但是不应该<nav>在链接周围使用HTML5 和/或相关的ARIA角色吗?是否还需要专门显示为链接列表(无序或其他)?
美学:在带有默认项目符号的垂直列表中,或者没有CSS,是的.但是,否则替代标记(例如<a>in <nav>)而不是<li>in <ul>将会如期望的那样容易或更容易.
现有用途:它在现有网站中使用很多(例如StackExchange站点,MDN,还有更多......).
W3C <nav>规范:说链接不必在列表中,但它可以.但它也指定了<nav>"链接部分" 的内容,它还需要是"链接列表"吗?
向后兼容性:它经常被使用,因此应得到广泛支持,HTML5和ARIA可能无法供旧浏览器/屏幕阅读器使用.
各种帖子:
以下命令按预期工作.我需要找到的是第一列或第三列中可用的线程ID.
# tail -1000 general.log | grep Connect | egrep -v "(abc|slave_user)"
2856057 Connect root@localhost on
111116 5:14:01 2856094 Connect root@localhost on
Run Code Online (Sandbox Code Playgroud)
如果该行以日期开头,请选择第三列,即2856094或第一列,即2856057
Expected output:
2856057
2856094
Run Code Online (Sandbox Code Playgroud)