使用者可以點選、輕觸或產生互動的所有螢幕元素都必須設為適當大小,讓使用者能夠輕鬆互動。你不妨將這些元素的寬度和高度設為 48dp 以上,如同質感設計無障礙功能指南中所述。
導入作業
查看
將可點選或可輕觸的元素導入版面配置時,建議將觸控目標的大小設為建議值以上。
如果這些控制項目會動態變更尺寸或依據其內容調整大小,你可以考慮以 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 公釐。
如需相關範例,請參閱質感設計無障礙功能指南。
測試
如要手動驗證應用程式的使用者介面不含尺寸過小的觸控目標,請按照下列指示操作:
- 開啟應用程式。
- 找出介面中所有可點選、輕觸或產生互動的元素。
- 確定各項元素的大小均為 48x48dp,或是各個維度皆為 9 公釐左右。
Android 的自動測試工具可以偵測出尺寸過小的觸控目標。你可以使用 Android 專用無障礙功能檢查工具,手動測試裝置中的應用程式。如要進行自動測試,請啟用 Espresso 和 Robolectric 中的無障礙程度檢查功能。