屏幕上可供用户点击、触摸或以其他方式互动的所有元素应具有适中的尺寸,确保可靠的互动。建议确保这些元素的宽度和高度不低于 48dp,如 Material Design 无障碍功能指南中所述。
实施步骤
查看
在布局中实现可点击或可触摸的元素时,建议所使用的尺寸不小于建议的触摸目标尺寸。
如果这些控件的大小可动态调整,或可根据内容的尺寸调整大小,则不妨考虑使用 android:minWidth
和 android:minHeight
来设置尺寸下限。
要在扩展 View
的可触摸区域的同时保留其原始尺寸,则可考虑使用 TouchDelegate
,以允许父布局代表子 View
处理触摸事件。
提示:只有在 Android 10 及更高版本上运行时,无障碍功能扫描仪才能检测到并考虑使用 TouchDelegate
。在早期的 Android 版本中,即使您使用该 API 将触摸目标放大至适当的尺寸,触摸目标也可能会以结果尺寸显示。
写邮件
在可组合项中实现可点击或可触摸的元素时,建议所使用的尺寸不小于建议的触摸目标尺寸。
如果这些控件的大小可动态调整,或可根据内容的尺寸调整大小,则不妨考虑使用 Modifier.sizeIn
来设置尺寸下限。
clickable
或使用Modifier.mergeDescendants
,以允许无障碍服务仅关注较大的祖先可组合项并向其发送点击事件。设计
触摸目标包括响应用户输入的区域。触摸目标可超出元素的视觉边界:一个元素(如图标)可能显示为 24x24dp,但其周围的内边距也是完整 48x48dp 触摸目标的一部分。在 Jetpack Compose 中,Checkbox
或 Switch
等 Material 组件会自动添加内边距,以确保其为 48x48dp 或更大尺寸。在某些情况下,例如尺寸较小且靠得很近的按钮,相关元素在展开时不可避免地会使可触摸区域相互重叠。
建议将触摸目标设置为 48x48dp 或更大尺寸,并在四周设置 8dp 或更大的分隔空间,以确保平衡信息密度和易用性。无论屏幕尺寸是多少,触摸目标尺寸至少为 48x48dp 才能确保实际尺寸达到约 9 毫米。建议的触摸目标尺寸为 7 到 10 毫米。
要查看示例,请参阅 Material Design 无障碍功能指南。
测试
要手动验证应用的界面是否包含小尺寸触摸目标,请执行以下操作:
- 打开应用。
- 找出界面中所有可点击、可触摸或可互动的元素。
- 确保每个元素的尺寸为 48x48dp,或每条边的长度约为 9 毫米。
Android 的自动化测试工具能够检测到小尺寸触摸目标。您也可以考虑使用 Android 版无障碍功能扫描仪对设备上的应用进行人工测试。要实现自动化测试,请在 Espresso 和 Robolectric 中开启无障碍检查功能。