提升应用可访问性

请尝试使您的 Android 应用对所有人可用,包括有特殊需求的人群。

视力障碍、色盲、听力障碍、操作不便、认知障碍以及许多其他残疾人士都在使用 Android 设备。当您在开发应用时考虑到可访问性,您就能为有特殊需求的用户创造更好的用户体验。

此页面提供了实施可访问性关键要素的指南,以便每个人都能更轻松地使用您的应用。有关如何使您的应用更易于访问的更深入指南,请参阅改善应用可访问性的原则

提高文本可见度

对于应用中的每一组文本,我们建议颜色对比度(或文本颜色与文本后面背景颜色之间感知亮度的差异)应高于特定阈值。确切的阈值取决于文本的字体大小以及文本是否为粗体。

  • 如果文本小于 18pt,或者文本为粗体且小于 14pt,则将颜色对比度比率设置为至少 4.5:1。
  • 对于所有其他文本,请将颜色对比度比率设置为至少 3:1。

下图显示了文本与背景颜色对比度的两个示例。

Pictures displaying text
图 1. 低于推荐值(左)和足够(右)的颜色对比度。

要检查应用中的文本与背景颜色对比度,请使用在线颜色对比度检查器或辅助功能扫描器 应用。

使用大而简单的控件

如果应用的控件更易于查看和点击,则 UI 更易于使用。我们建议每个交互式 UI 元素都应具有一个可聚焦区域或触摸目标大小,至少为 48dp x 48dp。更大更好。

为了使给定的 UI 元素具有足够大的触摸目标大小,以下条件应同时成立。

填充值允许对象的可见大小小于 48dp x 48dp,同时仍具有推荐的触摸目标大小。

以下代码片段显示了一个具有推荐触摸目标大小的元素。

<ImageButton ...
    android:paddingLeft="4dp"
    android:minWidth="40dp"
    android:paddingRight="4dp"

    android:paddingTop="8dp"
    android:minHeight="32dp"
    android:paddingBottom="8dp" />

描述每个 UI 元素

对于应用中的每个 UI 元素,请包含一个描述该元素用途的描述。在大多数情况下,您将此描述包含在元素的contentDescription 属性中,如下面的代码片段所示。

<!-- Use string resources for easier localization. -->
<!-- The en-US value for the following string is "Inspect". -->
<ImageView
    ...
    android:contentDescription="@string/inspect" />

在向应用的 UI 元素添加描述时,请牢记以下最佳实践。

  • 不要在内容描述中包含 UI 元素的类型。屏幕阅读器会自动宣布元素的类型和描述。例如,如果选择按钮会导致应用中发生“提交”操作,则将按钮的描述设置为"提交",而不是"提交按钮"

  • 每个描述必须是唯一的。这样,当屏幕阅读器用户遇到重复的元素描述时,他们会正确识别焦点位于之前已具有焦点的元素上。特别是,RecyclerView 等视图组中的每个项目都必须具有不同的描述。每个描述都必须反映特定项目中唯一的内容,例如位置列表中城市的名称。

  • 如果应用的minSdkVersion16 或更高,则可以将android:importantForAccessibility 属性设置为"no",用于仅用于装饰效果的图形元素。

其他资源

要了解有关使您的应用更易于访问的更多信息,请参阅以下其他资源。

Codelab

博文