如果role
属性不存在且文档包含可见图形,我一直在尝试确定SVG标记的默认角色。
使用Chrome的辅助功能工具,它告诉我该角色为SVGRoot
:
然而,这不是一个有效的ARIA角色,它是Chrome在内部使用的角色之一。
我已经能够通过这个文档找到更多的信息:WAI-ARIA Graphics Module,它表明允许在SVG标签上使用哪些角色,但我似乎无法缩小应该是哪个角色默认角色。
如果没有提供有效的role
属性,用户代理应默认采用什么角色?
答案 0 :(得分:2)
根据HTML文档中的ARIA,SVG has no default corresponding role
"没有相应的角色"状态定义如下:
在表的第二列中标有无对应角色的元素没有任何隐式ARIA语义,但它们确实有意义,这个含义可以用角色,状态和属性表示ARIA不提供,并通过辅助功能API向辅助技术用户展示。因此,建议Web开发人员将角色属性添加到语义中性元素(如div或span),而不是覆盖所列元素的语义。
正如@josh已经回答的那样,SVG元素的允许角色为application
,document
或img
答案 1 :(得分:1)
SVG本身没有隐式的aria角色,但是开发人员可以(也可能应该)分配以下角色之一:application
,document
或img
。
如果您的SVG具有需要用户输入的可聚焦元素,请使用application
。
如果您的SVG主要包含非交互式的信息文本,请使用document
。
如果您的SVG纯视觉或使用一组元素构成单个图像,请使用img
。