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

VoiceOver(Chrome/Mac)无法读取aria-errormessage关联的错误提示

解决VoiceOver在Chrome(Mac)中无法读取表单错误提示的问题

你的HTML结构已使用aria-invalid和aria-errormessage,但在Chrome+VoiceOver组合下可能需要额外调整才能正确关联并读取错误信息,试试以下修改方案:

调整后的代码示例

<label for=":r0:-input">First name</label>
<input 
  id=":r0:-input" 
  type="text" 
  value="" 
  name="firstName" 
  aria-required="true" 
  aria-invalid="true" 
  aria-describedby=":r0:-error"
>
<p 
  id=":r0:-error" 
  class="micro text-feedback-red flex items-center mt-4" 
  role="alert" 
  aria-live="assertive"
>
  This field is required
</p>

关键调整说明

  • 给输入框添加aria-describedby=":r0:-error":部分浏览器对aria-errormessage的支持稳定性不如aria-describedby,显式关联错误元素能让屏幕阅读器明确识别输入框对应的错误信息。
  • 给错误提示添加aria-live="assertive":虽然role="alert"隐含该属性,但显式声明能确保Chrome+VoiceOver环境下更可靠地触发即时播报。
  • 确保错误触发时输入框获得焦点:当表单校验失败后,主动将焦点移至错误输入框,VoiceOver会自动读取焦点元素的状态及关联的错误内容。

额外测试步骤

  • 使用VO+U打开元素转子,定位到输入框,查看是否能显示关联的错误信息;
  • 触发错误后直接聚焦输入框,验证VoiceOver是否播报“First name, invalid data, This field is required”这类完整提示;
  • 确认动态生成的ID(如:r0:-)在页面中唯一,无特殊字符导致的关联失效问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:17:37