首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在锚和按钮上使用[role=option]

如何在锚和按钮上使用[role=option]
EN

Stack Overflow用户
提问于 2016-06-13 14:01:34
回答 2查看 5.3K关注 0票数 1

a[role=option]

代码语言:javascript
运行
AI代码解释
复制
<div role="listbox">
    <a role="option">orange</a>
    <a role="option">purple</a>
</div>

错误:元素option上属性role的坏值a

button[role=option]

代码语言:javascript
运行
AI代码解释
复制
<div role="listbox">
    <button role="option">orange</button>
    <button role="option">purple</button>
</div>

错误:元素option上属性role的坏值button

span[role=option]

代码语言:javascript
运行
AI代码解释
复制
<div role="listbox">
    <span role="option">orange</span>
    <span role="option">purple</span>
</div>

对跨度进行验证。基于文档,我认为a[role=option]button[role=option]是有效的,但它们都会产生验证错误。它们是合理的语义fallbacks...why,不是吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-13 15:04:32

abutton都不允许role="option"。这是故意的。有一张方便的桌子,它概述了在哪些元素(abutton)上允许哪些角色。

不过,我建议不要这样做。除非您准备完全模仿select的所有功能(例如,所有键盘交互)。一些问题和例子见MDN。,它包含了一些必须设置的额外角色和功能。ARIA是作为一种桥接技术创建的,而不是用来取代本机控件的。

票数 3
EN

Stack Overflow用户

发布于 2016-06-15 05:05:53

@aardrian指出的文档(见使用ARIA属性的文档一致性要求)表明,"没有href的元素“可能具有”任意角色“。因此,只要您满足其他条件,这可能是有效的:

作者必须确保具有角色选项的元素包含在带有角色列表框的元素中,或者由其拥有。

您用来验证文档的工具有一个问题。

对于button元素,您仅限于以下角色:checkboxlinkmenuitemmenuitemcheckboxmenuitemradioradioswitch。所以这个错误是可以预测的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37799846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档