可编辑的 View 标签

应用中的可编辑项可让用户输入文本。每一个可编辑项都应带有一个说明性标签,以便说明各自的用途。

Android 为开发者提供了几种为应用界面中的 View 添加标签的方法。对于界面中的可编辑项,其中一些添加标签的方法可以改进无障碍功能。

实现

要为可编辑的 TextViewEditText 添加标签,请在其为空时使用 android:hint 在相应项中显示说明性文本标签。


<EditText
    android:id="@+id/email_subject"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/email_subject_hint" />

如果应用界面已经为可编辑项提供文本标签,请在所标注的 View 上定义 android:labelFor,以指出标签描述的是哪一项。


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/email_subject_label"
        android:labelFor="@id/email_subject" />
    <EditText
        android:id="@+id/email_subject"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

提示Android 设计支持库中的 TextInputLayout 可帮助您轻松管理 EditText 以及相关联的文本标签,并可与 Android 的无障碍服务完美配合使用。

如果为任何 EditText 或可编辑的 TextView 定义 android:contentDescription,则可能会干扰无障碍服务的说明和导航功能,以及与用户在相应项中输入的文本进行互动的功能。

设计

当用户借助屏幕阅读器导航到可编辑项时,完善的界面应该包含以下元素:

  • 如果可编辑字段为空,其中会有说明性标签可供屏幕阅读器朗读。
  • 如果用户在可编辑字段中输入了文本,那么除了说明性标签以外,屏幕阅读器还会读出文本。

当用户以较低的粒度(例如,一个字符接着一个字符)浏览时,屏幕阅读器会读出输入的文本,或在可编辑字段留空时给出提示。

测试

要手动验证应用所含可编辑项的标签是否正确,请按照以下步骤操作:

  1. 开启 TalkBack
  2. 在应用中,将无障碍功能焦点移至空的可编辑项上。
    • 检查 TalkBack 对空的可编辑项的语音说明是否包含标签,以及该说明性标签是否与应用中的任何视觉标签相符。
  3. 在相应的可编辑项中输入一些文本。
  4. 将无障碍功能焦点移至相应的可编辑项上。
    • 要确认语音描述是否包含您输入的文本,请听取 TalkBack 对可编辑项的说明。

Android 的自动化测试工具能够检测到可编辑项上的非空 contentDescription。您也可以考虑使用 Android 版无障碍功能扫描仪对设备上的应用进行人工测试。要实现自动化测试,请在 EspressoRobolectric 中开启无障碍检查功能。

搜索
清除搜索内容
关闭搜索框
主菜单
13762752505490103833
true
搜索支持中心
true
true
true
true
true
717068
false
false