安卓 TalkBack : Hint overwrites contentDescription

标签 android accessibility hint talkback

我有一个像下面这样的 EditText

<EditText
    android:id="@+id/extUsername"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="Username field"
    android:hint="Username" />

我希望 TalkBack 说出“用户名字段”,但它说的是“用户名”。它忽略 contentDescription。

不要让我删除提示或内容描述。我需要同时使用两者。

如有任何建议,我们将不胜感激。

最佳答案

您要做的是改用 LabelFor。 LabelFor 允许将可视标签与 EditText 框相关联。如果愿意,您可以使视觉标签不可见,这样它就不会改变您的视觉布局。

提示的缺点是,它们会在输入文本后消失,这使它们成为非常差的可访问性工具。如果您依赖辅助功能信息的提示,则您的应用无法访问。

做这样的事情:

<TextView
     android:text="@string/yourEditTextDescription"
     android:labelFor="@+id/editTextField" />

<EditText android:id="@+id/editTextField"/>

关于安卓 TalkBack : Hint overwrites contentDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29889904/

相关文章:

blackberry - TextField - 在用户开始输入文本之前显示提示

jquery - slider 和溢出的 CSS Jquery 提示 : hidden

java - 更改可见性导致我的应用程序崩溃,为什么?

javascript - IE 问题 : wrong tab focus

html - Tabindex 焦点样式

ios - SWIFT:让画外音停止阅读截断的字符串

haskell - 使用 GHC 的 API 或提示从已编译的二进制文件中导入已知函数

android - 如何以编程方式在表格行内添加 fragment ?

android - 将 onclick 小部件更新添加到现有的 AlarmManager 触发器更新

android - Scala 支持 Android 的 Parcelables 吗?