html - 导航中的当前页面使用什么 ARIA 状态角色

标签 html accessibility wai-aria wcag

最近我一直在将 ARIA 实现到 Web 应用程序中,我发现了 this question对改进导航部分很有帮助。

在所有模块中实现后,我发现了这个 HTML 验证错误:

Attribute aria-selected not allowed on element a at this point.

查看 ARIA 规范,我看到 aria-selected 仅用于角色 gridcell、option、row 和 tab。在我的例子中,链接的作用是 menuitem

这是 HTML 代码的代表性示例:

<nav role=navigation>
    <ul role=menubar>
        <li role=presentation><a href='page1.php' role=menuitem>Page 1</a></li>
        <li role=presentation><a href='page2.php' role=menuitem>Page 2</a></li>
        <li role=presentation><a href='page3.php' role=menuitem aria-selected=true>Page 3</a></li>
        <li role=presentation><a href='page4.php' role=menuitem>Page 4</a></li>
    </ul>
</nav>

如您所见,这是在“第 3 页”拍摄的。

此处使用的正确 ARIA 角色是什么?

最佳答案

您还可以使用 aria-current="page" 来描述导航项中当前显示的页面。

关于html - 导航中的当前页面使用什么 ARIA 状态角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19604677/

相关文章:

html - 如何动态填充无框网格?

html - 有没有机会使用 CSS/HTML 技巧创建图像,比如 CD Trey with CD Rings

angularjs - 可访问性:使用 aria-live 的页面加载器指示器

web-applications - Web 可访问性 - 屏幕阅读器在配置为读取 'title' 属性时的行为

accessibility - 在有多个子容器的容器上使用 "aria-describedby"是否可以接受?

javascript - 如何使没有 href 属性的链接可访问?

html - 是否可以将第二个 child 的宽度设置为行列表中最大的一个?

jquery - 文本选择禁用

visual-c++ - IAccessible 接口(interface)的覆盖函数在 cwnd 驱动的类中不起作用

ios - 如何正确设置 RN AccessibilityInfo setAccessibilityFocus