1

我有一个菜单项链接列表,其中包含描述菜单的标题。这个菜单是向左浮动的,所以为了减少标记,我已经将标题作为它的一部分,ul所以它很容易浮动。

例如

<ul>
    <li class="heading">My Title</li>
    <li><a href="">Link</a></li>
    <li><a href="">Link</a></li>
    <li><a href="">Link</a></li>
    <li><a href="">Link</a></li>
</ul>

我应该做一些特别的事情来分隔标题吗?添加wai-aria ? 搜索引擎有可能会混淆吗?

它本身在语义上似乎并不正确。

4

2 回答 2

6

根据在 HTML 中使用 WAI-ARIAli的工作草案,一个元素可能具有各种角色,但heading不在其中。所以不,您不应该使用 ARIA 属性将列表项声明为标题。

因此,正如@JamesDonnelly 所建议的那样,将标题作为列表之前的单独标题元素会更合适,尽管您需要根据整体结构选择标题的级别。

(搜索引擎可能不在乎。)

(这实际上不是关于语义,而是关于结构。语义是关于意义,将元素声明为标题并不能描述它的意义,只是它与结构的关系或它的作用。)

于 2013-03-27T17:50:36.817 回答
3

我认为将标题与列表分开在语义上会更正确(作为链接列表而不是链接和标题列表)。但是,我不知道这将如何影响搜索引擎。但这不应该使样式变得更加困难:

<div>
    <h4>My Title</h4>
    <ul>
        <li><a href="">Link</a></li>
        <li><a href="">Link</a></li>
        <li><a href="">Link</a></li>
        <li><a href="">Link</a></li>
    </ul>
</div>

如果您希望它们内联显示,您可以简单地:

div h4, div ul, div ul li { display:inline-block; }
div ul { list-style-type:none; padding:0; }

JSFiddle 示例

于 2013-03-27T16:19:19.053 回答