首页 > 解决方案 > 禁用所有可访问性 API(屏幕阅读器)读取的占位符文本

问题描述

有些屏幕阅读器会读取占位符值,有些则不会。有没有一种方法可以为所有屏幕阅读器禁用读取占位符值(在 HTML 输入的上下文中)。特别是IOS屏幕阅读器读取占位符值,在这种情况下,相同的信息重复了两次。

我想要的是为屏幕用户显示占位符,为屏幕阅读器用户显示隐藏标签。

编辑:当我问这个问题时,这是第一次研究可访问性,只是为了解决一个问题。在进一步探索中,我发现我们可以只使用隐藏标签并将其与用于属性的输入元素相关联。这里是 w3 文档链接

标签: htmlinputaccessibilityplaceholder

解决方案


根据理解成功标准 2.5.3:名称中的标签

因此,在没有任何其他附近文本字符串的情况下(如前面列表中所述),如果输入包含占位符文本,则此类文本可能是名称中标签的候选者。这通过可访问的名称计算(稍后讨论)和实际意义上得到支持,即在不提供可见标签的情况下,语音输入用户可能会尝试使用占位符文本值作为交互方式与输入

只要您不提供视觉标签,辅助技术(例如语音输入)就会使用占位符文本。禁用输入辅助以向输出辅助提供更多用户体验会适得其反。

当字段为空时,您可以完美地使用模拟占位符行为的可视标签(采取适当的预防措施,使字段在填充字段后可在输入帮助下使用)。


推荐阅读