触摸目标尺寸

屏幕上可供用户点击、触摸或以其他方式互动的所有元素应具有适中的尺寸,确保可靠的互动。建议确保这些元素的宽度和高度不低于 48dp,如 Material Design 无障碍功能指南中所述。

实施步骤

查看

在布局中实现可点击或可触摸的元素时,建议所使用的尺寸不小于建议的触摸目标尺寸。

如果这些控件的大小可动态调整,或可根据内容的尺寸调整大小,则不妨考虑使用 android:minWidthandroid:minHeight 来设置尺寸下限。

要在扩展 View 的可触摸区域的同时保留其原始尺寸,则可考虑使用 TouchDelegate,以允许父布局代表子 View 处理触摸事件。

提示:只有在 Android 10 及更高版本上运行时,无障碍功能扫描仪才能检测到并考虑使用 TouchDelegate。在早期的 Android 版本中,即使您使用该 API 将触摸目标放大至适当的尺寸,触摸目标也可能会以结果尺寸显示。

写邮件

在可组合项中实现可点击或可触摸的元素时,建议所使用的尺寸不小于建议的触摸目标尺寸。

如果这些控件的大小可动态调整,或可根据内容的尺寸调整大小,则不妨考虑使用 Modifier.sizeIn 来设置尺寸下限。

要在扩展可组合项的可触摸区域的同时保持其原始尺寸,则可考虑创建祖先 clickable 或使用Modifier.mergeDescendants,以允许无障碍服务仅关注较大的祖先可组合项并向其发送点击事件。

设计

触摸目标包括响应用户输入的区域。触摸目标可超出元素的视觉边界:一个元素(如图标)可能显示为 24x24dp,但其周围的内边距也是完整 48x48dp 触摸目标的一部分。在 Jetpack Compose 中,CheckboxSwitch 等 Material 组件会自动添加内边距,以确保其为 48x48dp 或更大尺寸。在某些情况下,例如尺寸较小且靠得很近的按钮,相关元素在展开时不可避免地会使可触摸区域相互重叠。

建议将触摸目标设置为 48x48dp 或更大尺寸,并在四周设置 8dp 或更大的分隔空间,以确保平衡信息密度和易用性。无论屏幕尺寸是多少,触摸目标尺寸至少为 48x48dp 才能确保实际尺寸达到约 9 毫米。建议的触摸目标尺寸为 7 到 10 毫米。

要查看示例,请参阅 Material Design 无障碍功能指南

测试

要手动验证应用的界面是否包含小尺寸触摸目标,请执行以下操作:

  1. 打开应用。
  2. 找出界面中所有可点击、可触摸或可互动的元素。
  3. 确保每个元素的尺寸为 48x48dp,或每条边的长度约为 9 毫米。

Android 的自动化测试工具能够检测到小尺寸触摸目标。您也可以考虑使用 Android 版无障碍功能扫描仪对设备上的应用进行人工测试。要实现自动化测试,请在 EspressoRobolectric 中开启无障碍检查功能。

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