尝试让您的 Android 应用对所有人可用,包括有无障碍需求的用户。
视力障碍、色盲、听力障碍、肢体不便、认知障碍以及许多其他残障人士都在使用 Android 设备。在开发应用时考虑无障碍功能,可以改善有无障碍需求用户的体验。
本页面介绍了实现无障碍功能关键要素的指南,以便每个人都能更轻松地使用您的应用。如需了解如何让应用更易于访问的更多深入指导,请参阅提高应用无障碍功能原则。
提高文本可见性
对于应用中的每组文本,我们建议色彩对比度(即文本颜色与文本背景颜色之间的感知亮度差异)超出特定阈值。确切的阈值取决于文本的字体大小以及文本是否加粗。
- 如果文本小于 18pt,或者文本加粗且小于 14pt,请将色彩对比度设置为至少 4.5:1。
- 对于所有其他文本,请将色彩对比度设置为至少 3:1。
下图显示了文本与背景色彩对比度的两个示例
要检查应用中的文本与背景色彩对比度,请使用在线色彩对比度检查工具或 无障碍扫描工具应用。
使用大而简单的控件
如果应用的 UI 控件更易于查看和点按,那么应用就会更易于使用。我们建议每个交互式 UI 元素都应具有可聚焦区域,或触摸目标尺寸,至少为 48dp x 48dp。越大越好。
对于给定 UI 元素要具有足够大的触摸目标尺寸,以下条件应都成立
android:paddingLeft
、android:minWidth
和android:paddingRight
的值总和应大于或等于 48dp。android:paddingTop
、android:minHeight
和android:paddingBottom
的值总和应大于或等于 48dp。
填充值允许对象的可见尺寸小于 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 元素的类型。屏幕阅读器会自动同时播报元素的类型和说明。例如,如果选择一个按钮会导致应用中发生“提交”操作,则应将该按钮的说明设置为
"Submit"
,而不是"Submit button"
。每个说明都必须是唯一的。这样,当屏幕阅读器用户遇到重复的元素说明时,他们就能正确识别焦点位于之前已获得焦点的元素上。特别是,视图组(例如
RecyclerView
)中的每个项都必须具有不同的说明。每个说明都必须反映给定项的唯一内容,例如位置列表中的城市名称。如果您的应用的
minSdkVersion
为16
或更高,您可以将android:importantForAccessibility
属性设置为"no"
,对于仅用于装饰效果的图形元素。
其他资源
要详细了解如何让应用更易于访问,请参阅以下其他资源