对于<ul>或<ol>来说,编码标题/标题的最好方法是什么?就像我们在<table>中有<caption>?

编码<ul><ol>标题/标题最好的方法是什么? 就像我们在<table><caption>一样,我们不想让它们变成粗体。

这个可以吗?

 <p>heading</p> <ul> <li>list item</li> <li>list item</li> <li>list item</li> </ul> 

还是应该总是使用标题?

 <h3|4|5|6>heading</h3|4|5|6> <ul> <li>list item</li> <li>list item</li> <li>list item</li> </ul> 

始终为标题使用标题标签。 线索是在名称:)

如果你不想让他们变得大胆,用CSS改变他们的风格。 例如:

HTML:

 <h3 class="list-heading">heading</h3> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul> 

CSS

 .list-heading { font-weight: normal; } 

在HTML5中,您可以使用<section>元素更清楚地关联标题和列表。 (尽pipe在IE8和更早版本中, <section>不能正常工作,但是没有一些JavaScript。)

 <section> <h1>heading</h1> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul> </section> 

你可以在HTML 4中做类似的事情:

 <div class="list-with-heading"> <h3>Heading</h3> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul> </div> 

然后风格如此:

 .list-with-heading h3 { font-weight: normal; } 

虽然这是旧的,我正在更新为其他谁可能会发现这个问题,当以后search。

@Matt Kelliher:

为列表使用css :beforedata- *属性是一个好主意,但可以稍微修改以便更容易访问:

HTML:

 <ul aria-label="Vehicle Models Available:"> <li>Dodge Shadow</li> <li>Ford Focus</li> <li>Chevy Lumina</li> </ul> 

CSS:

 ul:before{ content:attr(aria-label); font-size:120%; font-weight:bold; margin-left:-15px; } 

这将使列表中的“header”伪元素与文本设置为aria-label属性中的值。 然后,您可以轻松地devise您的需求。

使用data- *属性的好处在于,屏幕阅读器会将aria-label作为列表的“标签”读取,这对于您预期的数据使用而言,在语义上是正确的。

注: IE8支持:在属性之前,但必须使用单个冒号版本(并且必须定义有效的文档types)。 IE7不支持:以前,但Modernizer或Selectivizr应该为您解决这个问题。 所有现代浏览器都支持较早的语法:before语法,但更喜欢使用:: before语法。 一般来说,处理这个问题的最好办法是为IE7 / 8提供一个使用旧格式的外部样式表和一个使用新格式的通用样式表,但实际上,大多数情况下只使用旧的单一冒号格式,因为它仍然是100%交叉浏览器,即使在技术上对CSS3没有效果。

我喜欢使用css :beforedata-*属性作为列表

HTML:

 <ul data-header="heading"> <li>list item </li> <li>list item </li> <li>list item </li> </ul> 

CSS:

 ul:before{ content:attr(data-header); font-size:120%; font-weight:bold; margin-left:-15px; } 

这将创build一个列表,其上的标题是无论指定哪个文本作为列表的data-header属性。 然后,您可以轻松地devise出您的需求。

如何使标题为不同风格的列表元素如此

 <ul> <li class="heading">heading</li> <li>list item</li> <li>list item</li> <li>list item</li> <li>list item</li> </ul> 

和CSS

 ul .heading {font-weight: normal; list-style: none;} 

此外,使用复位CSS来设置边缘和填充正确的UL和李。 这是一个很好的重置CSS。 一旦你重置了边距和填充,你可以在列表元素上应用一些边界,而不是使用标题类来缩进它们。

h3绝对是比h2,h1或h6更好的解决scheme!

  1. 你必须使用特定的级别:如果你在一个h1,使用h2,如果你在一个h5,使用h6(如果你在一个h6 …嗡嗡声,使用强或em例如)。 这不是一个义务,而是一个无障碍的问题( 在这里,绿色部分 )。

  2. 你不必为列表提供标题…因为这个元素不存在。 所以屏幕阅读器不会使用一些特殊的东西

因此,使用Hn可能是最好的解决scheme之一,但肯定不是一个特定的级别。