在HTML中将标题混合到列表/表格中是否有效?

在HTML中将标题混合到列表/表格中是否有效?,html,validation,accessibility,Html,Validation,Accessibility,我经常在网页上遇到这样的事情: <h1>Main heading</h1> <h2>Sub heading 1</h2> <ul> <li> <h3>Sub sub heading 1</h3> <p>Some other content</p> </li> <li> <h3>Sub sub headi

我经常在网页上遇到这样的事情:

<h1>Main heading</h1>

<h2>Sub heading 1</h2>

<ul>
  <li>
    <h3>Sub sub heading 1</h3>
    <p>Some other content</p>
  </li>
  <li>
    <h3>Sub sub heading 2</h3>
    <p>Some other content</p>
  </li>
</ul>

<table>
  <tr>
    <td>
      <h3>Sub sub heading 3</h3>
      <p>Some other content</p>
    </td>
  </tr>
  <tr>
    <td>
      <h3>Sub sub heading 4</h3>
      <h4>Sub sub sub heading 1</h4>
      <p>Some other content</p>
      <h4>Sub sub sub heading 2</h4>
      <p>Some other content</p>
    </td>
  </tr>
</table>
主标题
分标题1
  • 分标题1 其他一些内容

  • 分标题2 其他一些内容

分标题3 其他一些内容

分标题4 分标题1 其他一些内容

分标题2 其他一些内容


将标题混合到列表和表格中是否有效?一位盲人朋友认为这有助于他使用屏幕阅读器导航,但我觉得这有点不对,它打破了“线性”的感觉。是的,它在任何HTML版本中都是有效的。只要检查
li
td
元素的内容模型,您就会看到允许使用标题


这是否是一种良好的做法是另一个问题,也是一个意见问题。通常,表中的标题元素是使用表进行布局的症状,但也有其他情况(例如,包含两种语言文本的表)。
li
元素中的标题元素通常是过度使用列表元素的症状。

这是对列表和表的滥用。这不是列表数据。这不是表格数据。我同意你的看法,但你能给我一个规范或什么不允许它的东西吗?没有什么不允许它,这只是荒谬的错误做法。据我所知,它是有效的
html
。但是在语义上不合适,尤其是表格。重新表格:根据您朋友使用的技术,它可能会看到“哦,这不是一个数据表格”,并将所有
都变成
。一位盲人同事确认表格和列表中不需要标题,因为在这些元素中还有其他导航方式(独立于标题)。