使用以下HTML
<!DOCTYPE html>
<html>
<head><title>Headings</title></head>
<body>
<main>
<h1>Heading 1</h1>
<section>
<h2>Heading 2</h2>
<h1 role="presentation">Not Heading 1</h1>
</section>
</main>
</body>
</html>
ChromeVOX宣布“不标题1”作为标题1
validator.w3.org警告: 警告:请考虑仅将h1元素用作顶级标题(许多屏幕阅读器和其他工具将所有h1元素视为顶级标题)。
从我收集的http://www.w3.org/TR/aria-in-html/#presentation
我认为role =“presentation”会从h1元素中删除语义值。
这是ChromeVox和validator.w3.org的正确期望吗?
答案 0 :(得分:0)
对于没有必需子元素的元素(如h1,h2等),任何嵌套在元素内的元素,其中role = presentation 保留它们的语义。
但是对于具有必需子元素的元素(例如ul或table),任何嵌套在具有role = presentation的元素内的必需子元素的语义都被删除。