背景:对于 Chrome 和 IE 上的 Windows 用户,重新加载或更改页面的下拉菜单不利于可访问性。一旦用户按下向下箭头按钮,页面就会重新加载。这意味着用户只能访问第一个菜单选项。这是一个例子:http ://html.cita.illinois.edu/script/onchange/onchange-example.php
这包含在 WCAG 规则中:“更改任何用户界面组件的设置不会自动导致上下文的更改,除非用户在使用该组件之前已被告知该行为。(A级)”</p>
除了用户可以非常轻松地打开下拉菜单并浏览所有选项而不会触发 onchange 事件。用户通过按空格键来执行此操作。这是一个非常常见的键盘技巧,我看到所有测试过的用户都已经意识到或能够快速弄清楚。
在我的系统中,我们使用下拉菜单在长目录中进行分页。EG:“您在第 [1^] 页,共 16 页”([1^] 是浏览器默认下拉菜单)。设计师不允许任何视觉的 [go] 按钮。这发生在数千个页面上,我看到的 javascript 修复需要考虑每个下拉列表,而这在我们的案例中是不可能的。
使用空格键,用户可以查看所有选项并仅使用键盘从列表中的任何位置进行选择。那么为什么自动重新加载 onchange 的下拉页面菜单仍然被认为无法访问?如果我们在屏幕阅读器中包含“按空格键打开此菜单,进行选择将加载您的下一页”的仅屏幕阅读器文本,它们是否被认为是可访问的