繁体   English   中英

屏幕阅读器检测来自输入标签占位符的文本,如 ocr

[英]screen reader detects text from input tag's placeholder like ocr

这是我的示例代码

<label id="label-id" for="input-id">some description</label>
<input id="input-id" aria-labelledby="label-id" placeholder="hello">

当我启用屏幕阅读器(Android Talkback)时,它从输入标签中读取占位符,然后从输入标签中读取检测到的文本(因此它读取占位符两次)

我如何告诉屏幕阅读器只阅读占位符而不检测输入标签中的任何文本?

我尝试了“aria-label”、“aria-labelledby”、“aira-describedby”,但没有用。

通过 OCR 进行文本检测是特定于设备和操作系统的。 它基本上意味着它可能不可用(大多数情况下它不可用,例如在台式计算机或旧手机上),并且应该是可配置的。

这也意味着你不应该试图干扰它,因为这样做,你很可能会让所有没有使用与你完全相同的设备/操作系统/屏幕阅读器的用户的可访问性变得更糟。

大多数人没有 OCR。 如果您禁用向屏幕阅读器呈现信息的正常且唯一正确的方式,则用户将看不到任何内容。

此外,OCR 通常不那么可靠。 字体/大小和其他视觉文本特征的轻微变化可能会导致错误或失败。 在一个易于访问的应用程序或网站上,完全没有必要依赖它。 当应用程序或网站无法访问屏幕阅读器时,它特别适合作为最后的手段。 如果所有应用程序和网站都可以完美访问,那么 OCR 将完全无用。

在你的情况下,你的代码是完全可访问的:该字段有它的 label。所以 OCR 可能说的是无关紧要的。 如果可以,请禁用它,否则就忽略它。

关于您的代码的一个小注意事项: <input>上的属性 aria-labelledby 是无用的,因为该字段和 label 之间的链接已经使用<label>的 for 属性建立。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM