ลำดับการส่งผ่าน

พื้นหลัง

ผู้ที่ใช้โปรแกรมอ่านหน้าจอ TalkBack จะไปยังส่วนต่างๆ ของแอปได้ 2 วิธีดังนี้

  • แตะเพื่อสำรวจ: ลากนิ้วผ่านหน้าจอเพื่อสำรวจการจัดวางองค์ประกอบทางกายภาพ
  • การไปยังส่วนต่างๆ แบบเชิงเส้น: เลื่อนไปทางซ้ายและขวา เพื่อไปข้างหน้าและข้างหลังทีละรายการ 

แอป Android ควรรองรับทั้งการสำรวจด้วยการแตะและการไปยังส่วนต่างๆ แบบเชิงเส้นอยู่แล้ว โดยปกติแล้ว ลำดับการส่งผ่านในระหว่างการไปยังส่วนต่างๆ แบบเชิงเส้นควรตรงกับลำดับภาพ หรือควรมีการเพิ่มประสิทธิภาพลำดับการส่งผ่านในลักษณะอื่น เพื่อรักษาการจัดลำดับเชิงตรรกะสำหรับผู้ใช้โปรแกรมอ่านหน้าจอ  

โดยค่าเริ่มต้น TalkBack จะใช้ลำดับชั้นการแสดงผลของแอปในการกำหนดลำดับการส่งผ่านรายการในระหว่างการไปยังส่วนต่างๆ แบบเชิงเส้น

การใช้งาน

ในกรณีที่ลำดับชั้นการแสดงผลของแอปไม่ได้แสดงถึงโครงสร้างเชิงตรรกะของแอป นักพัฒนาซอฟต์แวร์กำหนดการส่งผ่านการเข้าถึงได้โดยการตั้งค่า android:accessibilityTraversalBefore หรือ android:accessibilityTraversalAfter คุณสมบัติเหล่านี้จะเป็นตัวระบุว่าโปรแกรมอ่านหน้าจอควรเข้าชมเนื้อหาของการแสดงผลหนึ่งก่อน (หรือหลัง) เนื้อหาของการแสดงผลอื่น ระบบจะส่งผ่านการแสดงผลที่ไม่มีความสัมพันธ์ก่อนหรือหลังตามลำดับ ซึ่งพิจารณาโดยโปรแกรมอ่านหน้าจอ

ลำดับการส่งผ่านการเข้าถึงต่างจากลำดับ "โฟกัสอินพุต" ที่ใช้สำหรับการไปยังส่วนต่างๆ ด้วยแป้นพิมพ์ คุณระบุลำดับการไปยังส่วนต่างๆ ด้วยแป้นพิมพ์ได้โดย android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight และ android:nextFocusUp

เมื่อใช้ accessibilityTraversalBefore และ accessibilityTraversalAfter ลองใช้เคล็ดลับต่อไปนี้เพื่อหลีกเลี่ยงการเกินขีดจำกัดของลำดับการส่งผ่าน

  • ใช้เฉพาะแอตทริบิวต์เหล่านี้ในที่ที่การลำดับเชิงตรรกะแตกต่างจากการจัดลำดับของลำดับชั้นการแสดงผล
  • แต่ละองค์ประกอบที่ผู้ใช้โฟกัสได้ด้วยการแตะเพื่อสำรวจควรโฟกัสได้ในระหว่างการไปยังส่วนต่างๆ แบบเชิงเส้นด้วย
  • ลำดับการส่งผ่านควรสอดคล้องกับการไปยังส่วนต่างๆ แบบเชิงเส้นโดยไม่คำนึงถึงทิศทาง เช่น ท่าทางสัมผัสเพื่อย้ายโฟกัสไปยังองค์ประกอบ "ถัดไป" ที่ตามด้วยท่าทางสัมผัสเพื่อย้ายโฟกัสไปยังองค์ประกอบ "ก่อนหน้า" ทันทีควรส่งผลให้เกิดการเปลี่ยนโฟกัสกลับไปยังองค์ประกอบเดิมเสมอ
  • วงจรไม่ควรเกิดขึ้นเมื่อกำหนด accessibilityTraversalBefore และ accessibilityTraversalAfter หรือผู้ใช้อาจพบสถานการณ์ที่ไม่สามารถเข้าถึงองค์ประกอบบางอย่างได้เมื่อใช้การไปยังส่วนต่างๆ แบบเชิงเส้น

ดีไซน์

เมื่อออกแบบแอป ลองคิดว่าคุณตั้งใจจะให้ผู้ที่ใช้โปรแกรมอ่านหน้าจอส่งผ่านข้อมูลแบบเชิงเส้นซึ่งปรากฏในอินเทอร์เฟซอย่างไร ตามหลักแล้ว ลำดับการส่งผ่านจะตรงกับลำดับของการแสดงข้อมูลเป็นภาพ อย่างไรก็ตาม เมื่อลำดับดังกล่าวไม่ตรงกัน คุณสามารถระบุลำดับการส่งผ่านที่แสดงโครงสร้างเชิงตรรกะหรือ Intent ของอินเทอร์เฟซได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างการไปยังส่วนต่างๆ ที่ทำตามได้ง่ายๆ

การทดสอบ

วิธีประเมินลำดับการส่งผ่านการเข้าถึงของแอปด้วยตนเองมีดังนี้

  1. เปิด TalkBack
  2. เปิดแอป
  3. ใช้ท่าทางสัมผัสการไปยังส่วนต่างๆ แบบเชิงเส้น เพื่อย้ายโฟกัสการเข้าถึงไปยังแต่ละองค์ประกอบบนหน้าจอ
  4. ตรวจสอบว่า TalkBack ย้ายโฟกัสผ่านองค์ประกอบบนหน้าจอตามลำดับเชิงตรรกะ และกล่าวถึงการแสดงแต่ละองค์ประกอบที่เคลื่อนผ่านอย่างเหมาะสม
  5. ตรวจสอบว่า TalkBack ย้ายโฟกัสไปข้างหน้าและข้างหลังผ่านองค์ประกอบบนหน้าจอในลักษณะที่สอดคล้องกัน โดยไม่คำนึงถึงทิศทางในการไปยังส่วนต่างๆ

เครื่องมือทดสอบอัตโนมัติของ Android สามารถตรวจพบปัญหาเกี่ยวกับการลำดับการส่งผ่านบางอย่างได้ ลองใช้เครื่องตรวจการเข้าถึงสำหรับ Android เพื่อทดสอบแอปในอุปกรณ์ด้วยตนเอง ในกรณีของการทดสอบอัตโนมัติ ให้เปิดการตรวจสอบการเข้าถึงใน Espresso และ Robolectric

ค้นหา
ล้างการค้นหา
ปิดการค้นหา
เมนูหลัก
7226090117893322005
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
717068
false
false