SVG 的默认 ARIA 角色是什么?

God*_*win 1 html svg accessibility wai-aria

如果role属性不存在并且文档包含可见图形,我一直在尝试确定 SVG 标记的默认角色应该是什么。

使用 Chrome 的辅助功能工具,它告诉我角色是SVGRoot

然而,这不是一个有效的 ARIA 角色,它是 Chrome 自己在内部使用的角色之一。

我已经能够通过此文档找到更多信息:WAI-ARIA 图形模块,它指示允许在 SVG 标签上使用哪些角色,但我似乎无法缩小哪个应该是默认角色的范围。

如果没有role提供有效的属性,用户代理应该默认 SVG 扮演什么角色?

Jos*_*osh 5

SVGs对自己有没有隐式唱腔的角色,但是开发商可以(并且可能应该)下列角色分配一个:applicationdocumentimg

使用application如果您有SVG要求用户输入可聚焦元素。

document如果您的 SVG 主要包含非交互式信息文本,请使用。

使用img,如果你的SVG是纯粹的视觉或使用元素的集合,以弥补单一图像。

来源:https : //www.w3.org/TR/html-aria/#docconformance


Ada*_*dam 5

根据 HTML 文档中的 ARIA,SVG 没有默认对应的角色

“无对应角色”状态定义如下:

表的第二列中标记为No相应角色的元素没有任何隐含的 ARIA 语义,但它们确实具有意义,并且这种意义可能在 ARIA 未提供的角色、状态和属性中表示,并暴露给使用 ARIA 的用户通过可访问性 API 提供辅助技术。因此,建议 Web 开发人员向语义中性元素(例如 div 或 span)添加角色属性,而不是覆盖所列元素的语义。

对SVG元素已经被@josh answerd,允许角色applicationdocumentimg

  • 根据链接文档(该文档又链接到 SVG-AAM),SVG 现在具有隐式“图形文档”角色。https://www.w3.org/TR/svg-aam-1.0/#details-id-66 (2认同)