假设我有一个包含不同
<section>
的页面。某些 <sections>
中可能包含其他 <sections>
等等。现在,假设我想创建一个非主导航,以允许轻松导航所有这些部分并且还突出显示用户正在滚动的当前部分(当然是通过JavaScript完成的)。
由于,通过阅读嵌套部分,您仍在阅读父部分,因此我最终遇到了一种情况,即父部分和“最多”一个(如果其直接子项可能都有)。我想知道这是否格式不正确或有问题。 这是所处理的层次结构类型的简单演示。最多
一个链接到一个部分可能会以
aria-current="true"
每层嵌套结束。
aria-current
(在实际代码中,我已在 <nav>
<ol>
<li>
<a href="#sec1" aria-current="true">Section 1</a>
<nav>
<ol>
<li><a href="#sec1_1">Section 1.1</a></li>
<li><a href="#sec1_2" aria-current="true">Section 1.2</a </li>
</ol>
</nav>
</li>
<!-- Other Sections (can be arbitrarily nested) -->
</ol>
</nav>
中添加了 aria 标签。为清楚起见,此处省略)
根据
nav
上的 仅使用 aria-current
将一组元素中的一个元素标记为当前元素。“元素集”
然而,“一组元素”的措辞有点过于模糊,无法回答我的疑问。嵌套导航中的项目是否会被分类为足够独立的上下文,或者它们最终仍属于其父级的
(就好像它们在逻辑上被扁平化一样)?
这最终就是我的问题所在:每个列表是否可以有自己的aria-current
来突出显示
上下文中的当前项目?或者嵌套列表会共享其父列表的逻辑上下文,因此整个嵌套结构只能允许一个
aria-current
?更具体地说,aria-current
和Section 1
都可以是当前的吗?是的,“元素集”可能不明确,但在我看来,这里有一个目录,因此所有链接都是目录的元素。因此,我认为将每个嵌套链接列表视为一个单独的集合可能是可行的。
,它说“作者
应该仅使用Section 1.1
将一组元素中的一个元素标记为当前元素。”这个“应该”很重要。这意味着它受到强烈鼓励并被认为是最佳实践,但它并不“非法”。因此从技术上讲,集合中允许有多个 aria-current
属性,因此您“可以”这样做,但是否应该这样做是另一个问题。
aria-current
,并将其放在当前查看的实际部分的链接上。