ระดับ 2 - ปรับอัตโนมัติให้เหมาะสม

แอปที่ปรับให้เหมาะสมจะรองรับหน้าจอทุกประเภทและสถานะของอุปกรณ์อย่างเต็มที่ รวมถึงการเปลี่ยนสถานะ

ภาพระดับคุณภาพ 3 ระดับเป็นเลเยอร์ที่ซ้อนกันในแนวตั้ง โดยไฮไลต์ระดับกลาง

หลักเกณฑ์

สร้างแอปให้ปรับให้เข้ากับขนาดการแสดงผลและสถานะของอุปกรณ์ทั้งหมด

อินเทอร์เฟซผู้ใช้

รหัสหลักเกณฑ์ รหัสทดสอบ คำอธิบาย
Responsive_adaptive_layouts T-Layout_Flow

แอปมีเลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์และปรับขนาดได้ซึ่งออกแบบมาสำหรับหน้าจอทุกขนาด เลย์เอาต์ทั้งหมดปรับเปลี่ยนตามอุปกรณ์ได้ (ดูย้ายข้อมูล UI ไปยังเลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์) การใช้เลย์เอาต์ที่ปรับขนาดได้จะพิจารณาจากคลาสขนาดหน้าต่าง

UI ของแอปอาจมีองค์ประกอบต่อไปนี้

  • แถบนำทางที่ล้ำสมัยซึ่งขยายเป็นแผงนำทางแบบเต็มในหน้าต่างขนาดใหญ่
  • เลย์เอาต์แบบกริดที่ปรับขนาดจำนวนคอลัมน์ให้เหมาะกับการเปลี่ยนแปลงขนาดหน้าต่าง
  • คอลัมน์ข้อความบนหน้าจอขนาดใหญ่
  • แผงด้านหลังที่เปิดอยู่โดยค่าเริ่มต้นในขนาดหน้าจอเดสก์ท็อป และปิดในหน้าจอขนาดเล็ก

สร้างเลย์เอาต์หลายบานหน้าต่าง (ตามความเหมาะสม) เพื่อใช้ประโยชน์จากพื้นที่หน้าจอขนาดใหญ่ ดูเลย์เอาต์มาตรฐาน

สำหรับแอป Jetpack Compose ให้ใช้เลย์เอาต์ที่ปรับขนาดได้ (เช่น ListDetailPaneScaffold) เพื่อสร้าง UI หลายบานหน้าต่าง สำหรับแอปเดิมที่อิงตามกิจกรรม การฝังกิจกรรม จะเปิดใช้เลย์เอาต์หลายบานหน้าต่างโดยการแสดงกิจกรรมแบบเคียงข้างกัน

UI_Secondary_Elements T-Layout_Flow

โมดัล เมนูตามบริบท และองค์ประกอบรองอื่นๆ มีการจัดรูปแบบอย่างเหมาะสมในหน้าจอทุกประเภทและสถานะของอุปกรณ์ เช่น

  • ชีตด้านล่างไม่เต็มความกว้างบนหน้าจอขนาดใหญ่ (ใช้ความกว้างสูงสุดเพื่อหลีกเลี่ยงการยืด) ดู ลักษณะการทำงาน ใน ชีต: ด้านล่าง
  • ปุ่มไม่เต็มความกว้างบนหน้าจอขนาดใหญ่ ดูลักษณะการทำงานในปุ่ม
  • ช่องและกล่องข้อความไม่ยืดจนเต็มความกว้างบนหน้าจอขนาดใหญ่ ดู ลักษณะการทำงาน ใน ช่องข้อความ
  • เมนูหรือโมดัลแก้ไขขนาดเล็กไม่ครอบคลุมทั้งหน้าจอและรักษาบริบทสำหรับผู้ใช้ให้ได้มากที่สุด ดูเมนู
  • เมนูตามบริบทจะปรากฏข้างรายการที่ผู้ใช้เลือก ดูหัวข้อ "เมนูตามบริบท" ใน เมนู
  • แถบนำทางจะแทนที่แถบนำทางเพื่อการยศาสตร์ที่ดีขึ้นบนหน้าจอขนาดใหญ่ ดูแถบนำทาง
  • ลิ้นชักการนำทางได้รับการอัปเดตเป็นแถบนำทางแบบขยาย ดูลิ้นชักการนำทาง
  • กล่องโต้ตอบได้รับการอัปเดตเป็นคอมโพเนนต์ Material เวอร์ชันล่าสุด ดูกล่องโต้ตอบ
  • รูปภาพจะแสดงที่ความละเอียดที่เหมาะสมและไม่ยืดหรือครอบตัด
Touch_Targets T-Touch_Targets เป้าหมายการสัมผัสมีขนาดอย่างน้อย 48dp ดูหลักเกณฑ์ด้านเลย์เอาต์และการพิมพ์ของ Material Design
Drawable_Focus T-Drawable_Focus สร้างสถานะโฟกัสสำหรับ Drawable ที่กำหนดเองซึ่งโต้ตอบได้ Drawable ที่กำหนดเองคือองค์ประกอบ UI ที่มองเห็นได้ซึ่งเฟรมเวิร์ก Android ไม่ได้ให้มา หากผู้ใช้โต้ตอบกับ Drawable ที่กำหนดเองได้ Drawable นั้นจะต้องโฟกัสได้เมื่ออุปกรณ์ไม่ได้อยู่ใน โหมดสัมผัส และต้องมีการระบุสถานะโฟกัสให้เห็นอย่างชัดเจน

แป้นพิมพ์ เมาส์ และแทร็กแพด

รหัสหลักเกณฑ์ รหัสทดสอบ คำอธิบาย
Keyboard_Navigation T-Keyboard_Navigation โฟลว์งานหลักในแอปรองรับการนำทางด้วยแป้นพิมพ์ ซึ่งรวมถึงการนำทางด้วยแป้น Tab และแป้นลูกศร ดูสร้างแอปที่รองรับการช่วยเหลือพิเศษมากขึ้น
Keyboard_Shortcuts T-Keyboard_Shortcuts แอปรองรับแป้นพิมพ์ลัดสำหรับการดำเนินการที่ใช้บ่อย เช่น เลือก ตัด คัดลอก วาง เลิกทำ และทำซ้ำ ดูแป้นพิมพ์ เมาส์ และแทร็กแพด
Keyboard_Media_Playback T-Keyboard_Media_Playback ใช้แป้นพิมพ์เพื่อควบคุมการเล่นสื่อได้ เช่น Spacebar ใช้เล่นและหยุดสื่อชั่วคราว
Keyboard_Send T-Keyboard_Send แป้น Enter บนแป้นพิมพ์ทำหน้าที่ ส่ง ในแอปการสื่อสาร
Keyboard_Exit T-Keyboard_Exit แป้น Esc บนแป้นพิมพ์ทำหน้าที่ ออก ซึ่งจะยกเลิกหรือเลิกทำการดำเนินการ เช่น
  • ปิดโมดัล กล่องโต้ตอบ ป๊อปอัป และเมนู
  • ล้างข้อความค้นหาหรือนำโฟกัสการค้นหาออก
  • ยกเลิกโฟกัสแป้นพิมพ์
  • ออกจากวิดีโอแบบเต็มหน้าจอ, PiP, โหมดเต็มหน้าจอ หรือสไลด์โชว์
  • ปิดการควบคุมบนหน้าจอ เช่น แถบความคืบหน้าหรือเมนู
  • ยกเลิกตัวจับเวลา "รายการถัดไป" / การเล่นอัตโนมัติ
  • ยกเลิกการเลือกรายการที่เลือกทั้งหมด
  • ยกเลิกการเปลี่ยนชื่อ/แก้ไขโดยไม่บันทึก
  • ออกจากเครื่องมือครอบตัด/แปลงและทิ้งการเปลี่ยนแปลง
Context_Menus T-Context_Menus เมนูตามบริบทสามารถเข้าถึงได้โดยการคลิกขวาด้วยเมาส์และแทร็กแพดตามปกติ (ปุ่มรองของเมาส์หรือการแตะรอง)
Content_Zoom T-Content_Zoom เนื้อหาแอปสามารถซูมได้โดยใช้ปุ่มลูกกลิ้งของเมาส์ (ร่วมกับการกดปุ่ม Control หรือ Ctrl) และท่าทางสัมผัสบีบด้วย 2 นิ้วบนแทร็กแพด
Hover_States T-Hover_States องค์ประกอบ UI ที่ดำเนินการได้จะมีสถานะวางเมาส์เหนือ (ตามความเหมาะสม) เพื่อระบุให้ผู้ใช้เมาส์และแทร็กแพดทราบว่าองค์ประกอบนั้นโต้ตอบได้

การทดสอบ

ทำการทดสอบต่อไปนี้เพื่อให้แน่ใจว่าแอปได้รับการปรับให้เหมาะสมและตอบสนองต่อการกำหนดค่าการแสดงผลทั้งหมด

อินเทอร์เฟซผู้ใช้

รหัสทดสอบ รหัสหลักเกณฑ์ คำอธิบาย
T-Layout_Flow Responsive_adaptive_layouts,
UI_Secondary_Elements

เรียกใช้แอปในอุปกรณ์ที่มีหน้าจอหลากหลายขนาด ซึ่งรวมถึงโทรศัพท์ โทรศัพท์ที่พับได้ แท็บเล็ตขนาดเล็กและขนาดใหญ่ รวมถึงอุปกรณ์เดสก์ท็อป เรียกใช้แอปในโหมดหลายหน้าต่างบนอุปกรณ์

ตรวจสอบว่าเลย์เอาต์ของแอปตอบสนองและปรับให้เข้ากับหน้าจอและหน้าต่างขนาดต่างๆ ตรวจสอบว่าแอปขยายและย่อแถบนำทาง ปรับขนาดจำนวนคอลัมน์ในเลย์เอาต์แบบกริด จัดข้อความเป็นคอลัมน์ และอื่นๆ หรือไม่ สังเกตว่าองค์ประกอบ UI ได้รับการจัดรูปแบบทั้งด้านความสวยงามและฟังก์ชันการทำงานหรือไม่

สำหรับแอปเดิมที่ใช้การฝังกิจกรรม ให้ทดสอบว่ากิจกรรมแสดงแบบเคียงข้างกันบนหน้าจอขนาดใหญ่และซ้อนกันบนหน้าจอขนาดเล็กหรือไม่

T-Touch_Targets Touch_Targets ตรวจสอบว่าเป้าหมายการสัมผัสมีขนาดและตำแหน่งที่เข้าถึงได้และสอดคล้องกัน รวมถึงไม่ถูกซ่อนหรือบดบังโดยองค์ประกอบ UI อื่นๆ สำหรับขนาดและการกำหนดค่าการแสดงผลทั้งหมด ดูข้อมูลเกี่ยวกับการช่วยเหลือพิเศษได้ที่ เครื่องตรวจการเข้าถึง
T-Drawable_Focus Drawable_Focus ในหน้าจอแอปแต่ละหน้าจอที่มี Drawable ที่กำหนดเองซึ่งโต้ตอบได้ ให้ตรวจสอบว่า Drawable สามารถโฟกัสได้โดยใช้แป้นพิมพ์ภายนอก แป้นควบคุมทิศทาง หรืออุปกรณ์อื่นๆ ที่ช่วยให้องค์ประกอบ UI โฟกัสได้ ตรวจสอบว่ามีการระบุสถานะโฟกัสให้เห็นอย่างชัดเจน ดูข้อมูลที่เกี่ยวข้องได้ในเอกสารประกอบเกี่ยวกับโฟกัสของ Compose

แป้นพิมพ์ เมาส์ และแทร็กแพด

รหัสทดสอบ รหัสหลักเกณฑ์ คำอธิบาย
T-Keyboard_Navigation T-Keyboard_Navigation ไปยังส่วนประกอบที่โฟกัสได้ของแอปโดยใช้แป้น Tab และแป้นลูกศรของแป้นพิมพ์ภายนอก
T-Keyboard_Shortcuts Keyboard_Shortcuts ใช้แป้นพิมพ์ลัดบนแป้นพิมพ์ภายนอกเพื่อดำเนินการเลือก ตัด คัดลอก วาง เลิกทำ และทำซ้ำ
T-Keyboard_Media_Playback Keyboard_Media_Playback ใช้แป้นพิมพ์ภายนอกเพื่อเริ่ม หยุดชั่วคราว กรอกลับ และกรอไปข้างหน้าการเล่นสื่อ
T-Keyboard_Send Keyboard_Send ใช้แป้น Enter ของแป้นพิมพ์ภายนอกเพื่อส่งหรือส่งข้อมูล
T-Keyboard_Exit Keyboard_Exit

ใช้แป้น Esc ของแป้นพิมพ์ภายนอกเพื่อทำหน้าที่ ออก ตรวจสอบว่าแป้นดังกล่าวทำหน้าที่ต่อไปนี้ (ตามความเหมาะสม)

  • ปิดโมดัล กล่องโต้ตอบ ป๊อปอัป และเมนู
  • ล้างข้อความค้นหาหรือนำโฟกัสการค้นหาออก
  • ยกเลิกโฟกัสแป้นพิมพ์
  • ออกจากวิดีโอแบบเต็มหน้าจอ, PiP, โหมดเต็มหน้าจอ หรือสไลด์โชว์
  • ปิดการควบคุมบนหน้าจอ
  • ยกเลิกตัวจับเวลา "รายการถัดไป" / การเล่นอัตโนมัติ
  • ยกเลิกการเลือกรายการที่เลือกทั้งหมด
  • ยกเลิกการเปลี่ยนชื่อ/แก้ไขโดยไม่บันทึก
  • ออกจากเครื่องมือครอบตัด/แปลงและทิ้งการเปลี่ยนแปลง
T-Context_Menus Context_Menus ใช้ปุ่มรองของเมาส์หรือความสามารถในการแตะรองของแทร็กแพดเพื่อเข้าถึงเมนูตามบริบทขององค์ประกอบแบบอินเทอร์แอกทีฟ
T-Content_Zoom Content_Zoom ใช้ปุ่มลูกกลิ้งของเมาส์ (ร่วมกับการกดปุ่ม Control หรือ Ctrl) และท่าทางสัมผัสบีบด้วย 2 นิ้วบนแทร็กแพดเพื่อซูมเนื้อหาเข้าและออก
T-Hover_States Hover_States วางเคอร์เซอร์เมาส์หรือแทร็กแพดเหนือองค์ประกอบ UI ที่ดำเนินการได้เพื่อเปิดใช้งานสถานะวางเมาส์เหนือขององค์ประกอบ