องค์ประกอบใดก็ตามบนหน้าจอที่บุคคลคลิก แตะ หรือโต้ตอบด้วยได้ควรมีขนาดใหญ่เพียงพอสำหรับการโต้ตอบที่เชื่อถือได้ ลองตรวจสอบว่าองค์ประกอบเหล่านี้มีความกว้างและความสูงอย่างน้อย 48dp ตามที่อธิบายไว้ในหลักเกณฑ์การเข้าถึงของ Material Design
การใช้งาน
ดู
เมื่อคุณใช้งานองค์ประกอบที่คลิกได้หรือแตะได้ในเลย์เอาต์ ให้พิจารณาใช้ขนาดที่เท่ากับหรือเกินขนาดที่แนะนำสำหรับเป้าหมายการสัมผัส
หากตัวควบคุมเหล่านี้มีการกำหนดขนาดแบบไดนามิกหรือปรับขนาดตามขนาดของเนื้อหา ให้พิจารณาใช้ android:minWidth
และ android:minHeight
ในการกำหนดขนาดขั้นต่ำ
หากต้องการรักษาขนาดเดิมของ View
เมื่อขยายขอบเขตที่แตะได้ ให้พิจารณาใช้ TouchDelegate
เพื่อทำให้เลย์เอาต์หลักจัดการการโต้ตอบแบบสัมผัสแทน View
ที่สืบทอดมาได้
เคล็ดลับ: เครื่องตรวจการเข้าถึงจะตรวจจับและรองรับการใช้ TouchDelegate
ได้ก็ต่อเมื่อทำงานใน Android 10 ขึ้นไปเท่านั้น ส่วนใน Android เวอร์ชันก่อนหน้า ผลลัพธ์ของขนาดเป้าหมายการสัมผัสอาจปรากฏขึ้นแม้ว่าจะมีการใช้ API นี้ในการขยายเป้าหมายการสัมผัสเป็นขนาดที่เหมาะสมแล้วก็ตาม
เขียน
เมื่อคุณใช้งานองค์ประกอบที่คลิกได้หรือแตะได้ใน Composable ให้พิจารณาใช้ขนาดที่เท่ากับหรือเกินขนาดที่แนะนำสำหรับเป้าหมายการสัมผัส
หากตัวควบคุมเหล่านี้มีการกำหนดขนาดแบบไดนามิกหรือปรับขนาดตามขนาดของเนื้อหา ให้พิจารณาใช้ Modifier.sizeIn
ในการกำหนดขนาดขั้นต่ำ
clickable
ระดับบน หรือใช้ Modifier.mergeDescendants
ซึ่งจะช่วยให้บริการการช่วยเหลือพิเศษโฟกัสเฉพาะที่ Composable ระดับบนขนาดใหญ่ และส่งไปที่กิจกรรมการคลิกการออกแบบ
เป้าหมายการสัมผัสจะรวมพื้นที่ที่ตอบสนองต่อข้อมูลจากผู้ใช้ เป้าหมายการสัมผัสจะขยายเกินขอบเขตที่มองเห็นได้ขององค์ประกอบ กล่าวคือองค์ประกอบอย่างไอคอนอาจปรากฏเป็นขนาด 24x24dp แต่ระยะห่างจากขอบที่ล้อมรอบไอคอนจะประกอบเป็นเป้าหมายการสัมผัสขนาด 48x48dp ที่สมบูรณ์ ใน Jetpack Compose คอมโพเนนต์ Material เช่น Checkbox
หรือ Switch
จะเพิ่มระยะห่างจากขอบโดยอัตโนมัติเพื่อให้มีขนาดอย่างน้อย 48x48dp ในบางกรณี เช่น ปุ่มที่เล็กมากและมีระยะใกล้กัน องค์ประกอบต่างๆ จะขยายซึ่งทำให้บริเวณที่สัมผัสได้ทับซ้อนกัน
ลองทำให้เป้าหมายการสัมผัสมีขนาดอยู่ที่ 48x48dp เป็นอย่างน้อย โดยคั่นด้วยพื้นที่ว่างขนาด 8dp ขึ้นไป เพื่อให้แน่ใจว่าความสามารถในการใช้งานและความหนาแน่นของข้อมูลจะมีความสมดุล เป้าหมายการสัมผัสขนาด 48x48dp จะมีขนาดจริงประมาณ 9 มม. ไม่ว่าหน้าจอจะมีขนาดเท่าใดก็ตาม ซึ่งขนาดเป้าหมายที่แนะนำสำหรับวัตถุที่เป็นหน้าจอสัมผัสคือ 7-10 มม.
ดูตัวอย่างได้ที่หลักเกณฑ์การเข้าถึงของ Material Design
การทดสอบ
หากต้องการยืนยันด้วยตนเองว่าอินเทอร์เฟซผู้ใช้ของแอปไม่ได้มีเป้าหมายการสัมผัสที่มีขนาดเล็ก ให้ทำดังนี้
- เปิดแอป
- ระบุองค์ประกอบที่คลิก แตะ หรือโต้ตอบได้ทั้งหมดในอินเทอร์เฟซนั้นๆ
- ตรวจสอบว่าแต่ละองค์ประกอบมีขนาด 48x48dp หรือประมาณ 9 มม. ในแต่ละด้าน
เครื่องมือทดสอบอัตโนมัติของ Android จะตรวจพบเป้าหมายการสัมผัสที่มีขนาดเล็กได้ ลองใช้เครื่องตรวจการเข้าถึงสำหรับ Android เพื่อทดสอบแอปในอุปกรณ์ด้วยตนเอง สำหรับการทดสอบอัตโนมัติ ให้เปิดการตรวจสอบการเข้าถึงใน Espresso และ Robolectric