【问题标题】:HTML select onchange accessibility concernsHTML select onchange 可访问性问题
【发布时间】:2011-02-23 18:29:50
【问题描述】:

我们有一个使用select 元素的onchange 触发移动到新页面的请求。

过去,我读过的网络可访问性文献通常建议不要这样做。这是因为它打破了用户的期望,并且浏览器(尤其是 IE

IE6+ 和我测试过的所有其他更现代的浏览器会在实际通过鼠标或回车键选择选项时触发select onchange。对相关应用程序的分析表明,早期的 IE 浏览器基本上已被根除 (

鉴于我们的用户将能够仅使用键盘正确操作这些 select 元素,是否仍应将此功能视为可访问性的障碍?这种行为现在似乎很普遍,我也想知道它是否真的以一种有意义的方式打破了用户的期望?

编辑:如果select 使用鼠标或键盘聚焦,IE 的行为会有所不同。当用鼠标聚焦时,通过选项键盘输入不会触发onchange,但是当通过键盘切换以聚焦时,onchange 会在箭头通过时触发。

【问题讨论】:

  • 等一下,你是不是暗示 IE6 是现代浏览器? ;)
  • 你的问题到底是什么?
  • @Andrew Marshall 打完那句话后,我希望没有人会这么想。
  • @Fernando 由于可访问性问题,是否应该避免使用select 触发移动到新页面的做法仍然?是不是更清楚了?
  • 现在是。我认为有时它非常有用,这完全取决于您的需求,因为市场上大多数浏览器都提供了它。自从我开始编程以来,我就自己使用它……为什么要“避免”?给我们一个很好的理由...

标签: javascript html accessibility onchange


【解决方案1】:

使用select元素的onchange事件在页面之间导航绝对可以pose an accessibility problem for keyboard-only users

至少有one method of creating accessible select elements with onchange handlers,它自 2004 年以来一直在互联网上!

直接链接到Accessible Select 代码。

【讨论】:

  • 我以前读过 iCITA 文件,它似乎已经过时了。它说“在大多数浏览器上,使用向上和向下箭头键会触发 onChange”但是,我测试过的所有浏览器都不会在每次键盘更改时触发 onchange。而是在按下回车键或控件失去焦点时触发。
  • 哦,等一下 - 在 IE 中,如果您首先使用鼠标和键盘通过它来聚焦选择,似乎不会触发 onchange。但是,如果您使用键盘聚焦选择,onchange 确实会在每次后续键盘动作时触发。
【解决方案2】:

我同意你的观点,这种类型的功能很常见。但是,大多数网站使用链接而不是<select> 来实现效果(如果我没记错的话)。 IE。这是标准(双关语)。

【讨论】:

    猜你喜欢
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多