gpt4 book ai didi

html - "Duplicate"HTLM5 标签上的 ARIA 角色

转载 作者:太空宇宙 更新时间:2023-11-04 15:07:34 24 4
gpt4 key购买 nike

我在 Internet 上经常看到的是,HTML5 标签上的 ARIA 角色大多与标签名称本身完全相同(在含义上)。你为什么想这么做?我会说你可以通过查看标签名称来扣除某些角色。

例如,在这个“ARIA Role Cheat Sheet website”上,我看到了以下内容:

<nav role="navigation></nav>
<main role="main"></main>
<aside role="complimentory"></aside>

同样在 Twitter Bootstrap 的示例中,表单具有角色表单:例如 <form role="form">

我会说,不是开玩笑吗?当它具有类似搜索角色的功能时 <form role="search">它实际上提供了无法从标签本身中扣除的上下文。

在前面提到的情况下,将角色留空是否正确?它没有提供任何关于标签的明显额外信息。

最佳答案

ARIA(Accessible Rich Internet Applications)属性旨在用于以无法从标记中推断出的方式创建用户界面的元素。原因是这可能有助于用户代理和辅助软件帮助用户处理这些元素。考虑一个用作提交按钮、复选框或文本输入小部件的 span 元素。

因此,我们不希望对以其简单、自然的含义使用的元素使用 ARIA 属性。因此,为 nav 元素声明 role=navigation 原则上是多余的,因为该元素具有此角色作为默认 作为仅允许的角色(根据当前规范和草案)。但正如@Alohci 指出的那样,如果用户代理足够先进,可以识别该属性,但还不够新,无法了解该元素,则该属性可能仍有帮助。

文档Using WAI-ARIA in HTML (工作草案,2013 年 10 月 3 日)基于有关用户代理的信息提出了一些关于显式指定 ARIA 属性的建议。这些信息当然是可变的,但我们可以预期任何指定为冗余的属性都将保持冗余。特别是,它表示对于 navmainaside 应该指定一个 role 属性,但不是对于 form(因为用户代理肯定知道 form 元素)。

相比之下,最近移回 LC 状态的 W3C HTML5 草案,says :“在大多数情况下,设置与默认隐式 ARIA 语义匹配的 ARIA 角色和/或 aria-* 属性是不必要的,也不推荐,因为浏览器已经设置了这些属性。”它明确指出,当 navmainaside 的值可能不合适时,不应将 role 属性设置为匹配默认值。

关于html - "Duplicate"HTLM5 标签上的 ARIA 角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24309839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com