我可以在共享相同功能的不同元素中使用相同的role属性吗?
例如,在网站的不同部分使用相同的徽标,或者多个svg图标都是role: button。
我在某处读到了这是一个错误的做法,但我真的不知道如何在不失去我的网站可访问性的情况下解决这个问题。我应该把角色改成像"button1",“button2”这样的非WAI角色吗?
发布于 2019-03-29 19:31:58
这里可能会在id属性和role属性之间产生一些混淆,前者在HTML页面中应该具有唯一的值,后者标识UI组件的类型。
如果你有像按钮一样的SVG图标,那么role="button"是正确的,不管你在一个页面中有多少这样的按钮。没有规定在一个网页中只能有一个按钮。相反,如果您想让每个用作按钮的SVG图标都可以访问,那么您应该为它们分配role="button",并使它们可以通过键盘访问。
虽然从HTML5规范的角度来看,ARIA角色值的列表是strictly speaking non-normative,但创建自己的角色值并没有多大意义。WAI-ARIA基于现有可访问性API支持的UI组件类型开发了“角色分类”。这是WAI-ARIA1.0用户代理实现指南中mapping between WAI-ARIA and accessibility APIs背后的背景。"button“是辅助功能API通常支持的一种UI组件。"button1“、"button2”不是辅助功能API支持的UI组件。
简而言之,赋予您的SVG图标属性,如role="button1",role="button2"不是一个好主意;对于每个起按钮作用的图标,请使用role="button"。
https://stackoverflow.com/questions/55415788
复制相似问题