我有一个组件,它提供了一个x / y轴平面和一个用户可以在平面内移动的小块。这里的可访问性的某些方面看起来很简单:小块应该是可聚焦的;键盘向上/向下/向左/向右键应将小块移动一定间隔,以便在适当的方向上增加x / y值。即使使用辅助文本输入,无论用户是否使用辅助技术,这些适用于小部件的行为都可能有所帮助。
但是当我开始研究如何以咏叹调的方式标记这一点时,我不确定适当的角色/角色应该是什么,或者沟通可用功能的最佳方式是什么。
角色最接近的匹配似乎是“滑块”: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_slider_role
然而,MDN上描述的滑块角色似乎可能特定于单轴滑块。
答案 0 :(得分:1)
滑块实际上仅为1D,因此它不是合适的角色。
要了解这一点,请阅读ARIA 1.1中滑块的说明。 http://www.w3.org/TR/wai-aria-1.1/
说明中没有任何内容提到您可以使用除简单数值之外的其他内容,值之间的比较应该是唯一的和总数(对于2D点不是),它还会读取以下内容:
具有角色滑块的元素具有水平
的隐式咏叹调方向值
它是水平的;它肯定是垂直的;但绝对不是两个在同一时间。
顺便说一句,默认情况下,Jaws会为滑块宣布或多或少这个:“左右滑块。使用左右箭头键来调整值”这对你的情况是错误的。
如果你在一个离散的平面上,我会建议网格/行/网格单元。但由于您在连续平面(或几乎)中选择坐标, 你的案件是特殊的/非常规的,你可以申请预定的ARIA食谱。
在没有真正适当角色的情况下,最佳游戏可能并不表示您的组件有任何作用。 因此,辅助技术不会让用户混淆,告诉他你的控制权不是真正的,也不会给他错误的指示如何使用它。没有任何迹象可能比错误的迹象好。
当然,您仍然必须使用aria-label / aria-labelledby为您的组件添加标签,使其可聚焦和键盘可用。 您还应该通过提供精确的键盘使用说明来理想地补偿缺少预定义角色。为此,在aria描述中保持简短(每次控件聚焦时都可以读取),如果需要/如果控件非常复杂,请用纯文本在其他地方解释它。
如果它真的太复杂,你也可以放弃,只要你提供一个可接受的替代输入意味着给予相同的可能性。对于颜色选择器,输入RGB值或#XXXXXX代码肯定是可接受的和足够的替代输入方式。