如果空格键在所有浏览器中打开下拉菜单,为啥我的 onchange 触发菜单被认为无法访问
Posted
技术标签:
【中文标题】如果空格键在所有浏览器中打开下拉菜单,为啥我的 onchange 触发菜单被认为无法访问【英文标题】:If spacebar opens dropdowns across all browsers, why is my onchange triggered menu considered inaccessible如果空格键在所有浏览器中打开下拉菜单,为什么我的 onchange 触发菜单被认为无法访问 【发布时间】:2015-06-29 16:38:21 【问题描述】:背景:对于使用 Chrome 和 IE 的 Windows 用户,重新加载或更改页面的下拉菜单不利于可访问性。一旦用户按下向下箭头按钮,页面就会重新加载。这意味着用户只能访问第一个菜单选项。这是一个例子:http://html.cita.illinois.edu/script/onchange/onchange-example.php
WCAG 规则涵盖了这一点: “更改任何用户界面组件的设置不会自动导致上下文更改,除非用户在使用该组件之前已被告知该行为。 (A级)”
除了用户可以非常轻松地打开下拉菜单并浏览所有选项而不会触发 onchange 事件。用户通过按空格键来执行此操作。这是一个非常常见的键盘技巧,我看到所有测试过的用户都已经知道或能够快速弄清楚。
在我的系统中,我们使用下拉菜单在长目录中进行分页。 EG:“您在第 [1^] 页,共 16 页”([1^] 是浏览器默认下拉菜单)。设计师不允许任何视觉的 [go] 按钮。这发生在数千个页面上,我看到的 javascript 修复需要考虑每个下拉列表,而这在我们的案例中是不可能的。
使用空格键,用户可以查看所有选项并仅使用键盘从列表中的任何位置进行选择。那么为什么自动重新加载 onchange 的下拉页面菜单仍然被认为无法访问?如果我们在屏幕阅读器中包含“按空格键打开此菜单,进行选择将加载您的下一页”的文本,它们是否会被认为是可访问的?
【问题讨论】:
【参考方案1】:除了在 Firefox 中,键盘命令实际上是 F4,你是对的 - 这不是 WCAG 2 违规,而是最佳实践
这是一个您可以测试的页面:http://dylanb.github.io/onchange_select.html
【讨论】:
以上是关于如果空格键在所有浏览器中打开下拉菜单,为啥我的 onchange 触发菜单被认为无法访问的主要内容,如果未能解决你的问题,请参考以下文章