God*_*win 1 html svg accessibility wai-aria
如果role
属性不存在并且文档包含可见图形,我一直在尝试确定 SVG 标记的默认角色应该是什么。
使用 Chrome 的辅助功能工具,它告诉我角色是SVGRoot
:
然而,这不是一个有效的 ARIA 角色,它是 Chrome 自己在内部使用的角色之一。
我已经能够通过此文档找到更多信息:WAI-ARIA 图形模块,它指示允许在 SVG 标签上使用哪些角色,但我似乎无法缩小哪个应该是默认角色的范围。
如果没有role
提供有效的属性,用户代理应该默认 SVG 扮演什么角色?
SVGs对自己有没有隐式唱腔的角色,但是开发商可以(并且可能应该)下列角色分配一个:application
,document
或img
。
使用application
如果您有SVG要求用户输入可聚焦元素。
document
如果您的 SVG 主要包含非交互式信息文本,请使用。
使用img
,如果你的SVG是纯粹的视觉或使用元素的集合,以弥补单一图像。
来源:https : //www.w3.org/TR/html-aria/#docconformance
根据 HTML 文档中的 ARIA,SVG 没有默认对应的角色
“无对应角色”状态定义如下:
表的第二列中标记为No相应角色的元素没有任何隐含的 ARIA 语义,但它们确实具有意义,并且这种意义可能在 ARIA 未提供的角色、状态和属性中表示,并暴露给使用 ARIA 的用户通过可访问性 API 提供辅助技术。因此,建议 Web 开发人员向语义中性元素(例如 div 或 span)添加角色属性,而不是覆盖所列元素的语义。
对SVG元素已经被@josh answerd,允许角色application
,document
或img