“编辑”文本框中的文本中的Android可访问性无法正常读取/“再聊后再期待”

时间:2018-09-07 03:54:09

标签: android android-edittext accessibility talkback android-textinputedittext

我正在为盲人创建应用程序。在那里,当盲人在个人资料注册“编辑文本”框中输入邮政编码后,例如45987。它的读数为459 897。

但是,我想读四五九八七。 4 5 9 8 7。

注意:当我在TexView中尝试相同操作时,其读数正确。唯一的问题是EditText。

我的示例代码:zipCode_EditText.setContentDescription(“ 4 5 9 8 7”);

我已引用以下链接:

Android Acccessibility: How do I change the text read out loud for an EditText View

How to make TalkBack read TextView error message automatically?

感谢进阶

2 个答案:

答案 0 :(得分:0)

通常,您不想强迫屏幕阅读器以特定方式阅读某些内容。不幸的是,屏幕阅读器用户习惯了阅读事物的方式。如果您的输入字段带有正确关联的标签,例如“邮政编码”,那么当他们听到“邮政编码459和987”时,他们会明白它是什么。屏幕阅读器用户可以按字符浏览元素,因此他们可以根据需要分别阅读每个数字。

重要的部分是您具有与输入字段关联的标签。我知道您是专门为Android(我不熟悉)而写的,但是如果我将自己的工作与html进行比较,那么在html中,您会想要以下内容:

<label for="zip">zipcode:</label>
<input id="zip">

有一些方法(以html格式)可以强制屏幕阅读器说出什么,但通常会给盲文用户带来麻烦。您添加的用于强制屏幕阅读器讲话的任何“隐藏”文本都会实际显示在盲文设备上。

对于html,autocomplete属性可以用作“提示”,以针对字段中的信息类型向读者显示屏幕。屏幕阅读软件可以使用该提示来更改其读取字段内容的方式(例如autocomplete="postal-code"),但是对该提示的支持尚未得到广泛支持。同样,我知道这是针对html的,而您是专门为android编写的,但是对于android,也许还有一个类似的“提示”概念。

答案 1 :(得分:0)

最好不要强迫“回话”执行此操作。我的建议实际上是完全停止这样做。作为盲人,解析单个数字实际上比单个数字更容易。 45,500比4、5、5、0、0更容易记住。在心理上将“四万五千九百八十七”覆盖到邮政编码成为第二自然。而且,如果有足够长的号码,一次需要检查一个号码,那么TalkBack可以提供支持该功能的模式。您可以将“话语提示”切换为字符模式,然后手动进行浏览。

这个要求实际上只是来自有见识的人像有见识的人那样思考,并解决了盲人没有的问题。

由于另一个用户提出了它,所以在Android中编写编辑文本的最佳方法是

TextView label = ....
EditText editBox = .....

label.setLabeFor(editBox);