html - 禁用所有可访问性 API(屏幕阅读器)读取的占位符文本
问题描述
有些屏幕阅读器会读取占位符值,有些则不会。有没有一种方法可以为所有屏幕阅读器禁用读取占位符值(在 HTML 输入的上下文中)。特别是IOS屏幕阅读器读取占位符值,在这种情况下,相同的信息重复了两次。
我想要的是为屏幕用户显示占位符,为屏幕阅读器用户显示隐藏标签。
编辑:当我问这个问题时,这是第一次研究可访问性,只是为了解决一个问题。在进一步探索中,我发现我们可以只使用隐藏标签并将其与用于属性的输入元素相关联。这里是 w3 文档链接。
解决方案
因此,在没有任何其他附近文本字符串的情况下(如前面列表中所述),如果输入包含占位符文本,则此类文本可能是名称中标签的候选者。这通过可访问的名称计算(稍后讨论)和实际意义上得到支持,即在不提供可见标签的情况下,语音输入用户可能会尝试使用占位符文本值作为交互方式与输入。
只要您不提供视觉标签,辅助技术(例如语音输入)就会使用占位符文本。禁用输入辅助以向输出辅助提供更多用户体验会适得其反。
当字段为空时,您可以完美地使用模拟占位符行为的可视标签(采取适当的预防措施,使字段在填充字段后可在输入帮助下使用)。
推荐阅读
- javascript - 具有文本 mime 类型并包含_任何_用户输入的网页的安全性如何
- html - 仅从自动格式化中禁用一个电话号码?
- excel - Excel VBA - 用另一个工作簿中的动态范围填充 ActiveX 组合框
- r - R中多个事件的百分比变化
- python - 如何告诉根进程使用 anaconda python 安装而不是 /usr/bin/python?
- python - 您可以按字母顺序将字典键排序到列表变量中并使用特定输出进行打印吗?
- python - 使用 CouchDB-Python 批量取消删除 CouchDB 文档
- python - 使用 conda 在 Visual Studio python 项目中安装 PyTorch
- python - 当有 None 时打印一些东西
- javascript - Javascript - 如何在 chart.js 的选项规范区域内插入 if 和 else 语句