You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开启屏幕阅读器时无法通过键盘访问<Select>组件

股票图表时间间隔选择器的屏幕阅读器无障碍问题解决办法

我有一个用于更改股票价格图表时间间隔的React样式Select组件,正常点击回车键可展开选项,但开启Chrome内置屏幕阅读器后,回车键操作被阻止,无法访问选项。

原组件代码

<Select
  aria-label="select interval"
  name="interval"
  id="line-chart-interval"
  defaultValue={chartInterval}
  onChange={({ target }) => {
    setChartInterval(target.value);
  }}
  on
>
  <option value="1min">1 min</option>
  <option value="5min">5 min</option>
  <option value="15min">15 min</option>
  <option value="30min">30 min</option>
  <option value="1h">1 h</option>
  <option value="2h">2 h</option>
  <option value="4h">4 h</option>
  <option value="1day">1 day</option>
  <option value="1week">1 week</option>
  <option value="1month">1 month</option>
</Select>

解决办法

  • 删除未完成的无效属性:原代码中存在未定义的on属性,这会破坏组件的事件绑定逻辑,导致屏幕阅读器无法识别正常交互行为,直接移除该属性即可。
  • 依托原生语义化标签:原生<select>和<option>本身具备完善的无障碍语义支持,无需额外添加冗余ARIA属性,确保组件基于原生HTML元素实现,避免非语义化自定义结构。
  • 验证键盘交互流程:修复后确认屏幕阅读器环境下的操作逻辑:
    • 按下回车键或空格键可展开下拉选项列表
    • 通过上下箭头键导航选择不同时间间隔
    • 按下回车键或空格键确认选中选项并更新图表
  • 排查组件库无障碍配置:如果使用第三方UI组件库的Select组件,查阅官方文档确认是否需要开启无障碍模式或配置特定属性,部分组件默认可能未完全适配屏幕阅读器交互。

内容的提问来源于stack exchange,提问作者kamilp522

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 01:50:34