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

JAWS 2023输入按键时重复播报问题求助

解决JAWS 2023文本框输入重复播报问题

问题现象

使用JAWS 2023时,在特定文本框输入字符会出现重复播报,例如输入字母"P"时,会被播报为"P username P"或"P password P",问题仅出现在以下两个输入框:

<input id="textboxUsername" autocapitalize="none" autocorrect="off" autocomplete="on" type="text" placeholder="Username" maxlength="30" tabindex="0" role="textbox" aria-level="1">

<input id="textboxPassword" autocapitalize="none" autocorrect="off" autocomplete="on" type="text" placeholder="Password" maxlength="30" tabindex="0" role="textbox" aria-level="1">

问题原因

  1. 冗余语义属性冲突:原生<input type="text">本身已经具备textbox的语义角色,额外添加role="textbox"会导致JAWS重复识别控件类型。
  2. 错误的ARIA属性:aria-level="1"用于定义标题层级(如<h1>),将其应用在文本框上会干扰JAWS的播报逻辑,引发重复读取。
  3. 模糊的自动完成配置:autocomplete="on"未明确指定输入框用途,JAWS可能同时读取placeholder和自动完成提示信息,造成重复播报。

修复方案

  1. 移除不必要的role="textbox"和aria-level="1"属性,保留原生控件的语义。
  2. 明确设置autocomplete属性值,匹配输入框的实际用途:
    • 用户名框设置autocomplete="username"
    • 密码框设置autocomplete="current-password"

修改后的代码示例

<input id="textboxUsername" autocapitalize="none" autocorrect="off" autocomplete="username" type="text" placeholder="Username" maxlength="30" tabindex="0">

<input id="textboxPassword" autocapitalize="none" autocorrect="off" autocomplete="current-password" type="text" placeholder="Password" maxlength="30" tabindex="0">

测试验证:修改后重新在JAWS 2023中输入字符,重复播报的情况应该会消失,JAWS会正常播报输入的字符及控件用途。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:31:19