การช่วยสำหรับการเข้าถึงใน Android: ข้อมูลเชิงลึกของนักพัฒนาและคู่มือการใช้งาน

เผยแพร่แล้ว: 2022-09-12

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

ผู้พิการทางสายตาใช้แอพอย่างไร?

โปรแกรมอ่านหน้าจอเป็นเครื่องมือสำหรับการเรียกใช้แอปพลิเคชัน (หรือเพียงแค่เรียกดูหน้าจอสมาร์ทโฟนของคุณ) สำหรับผู้พิการทางสายตาและผู้พิการทางสายตา โปรแกรมอ่านหน้าจอยอดนิยมสำหรับ Android คือ TalkBack ด้วยเครื่องมือนี้ ผู้ใช้ป้อนข้อมูลด้วยท่าทางสัมผัส เช่น การปัดหรือลาก

โดยปกติเอาต์พุตจะเป็นเสียงพูดตอบกลับ ใน TalkBack เรามีโหมดป้อนข้อมูลด้วยท่าทางสัมผัสสองโหมด:

  • การสำรวจแบบสัมผัส ซึ่งคุณลากนิ้วผ่านหน้าจอ
  • การนำทางเชิงเส้น ซึ่งคุณใช้นิ้วเลื่อนไปทางซ้ายและขวาจนกว่าคุณจะพบรายการที่สนใจ

เมื่อคุณมาถึงรายการที่คุณสนใจ คุณสามารถแตะสองครั้งที่รายการนั้นเพื่อเปิดใช้งาน ต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้ TalkBack หรือไม่ โปรดอ่านบทความต่อไปนี้

TalkBack เป็นโปรแกรมอ่านหน้าจอยอดนิยมสำหรับ Android

หลักการแอปที่เข้าถึงได้

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

เลย์เอาต์และการพิมพ์

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

แตะเป้าหมาย

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

เป้าหมายการสัมผัสเป็นส่วนหนึ่งของหน้าจอที่ตอบสนองต่อการโต้ตอบของผู้ใช้

สีและความคมชัด

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

  • อัตราส่วน : ข้อความและองค์ประกอบแบบโต้ตอบควรมีอัตราส่วนความคมชัดของสีอย่างน้อย 4.5:1
  • สีเป็นตัวบ่งชี้ : สีไม่ควรเป็นตัวบ่งชี้เดียวสำหรับองค์ประกอบแบบโต้ตอบ จะเป็นการดีที่สุดหากคุณขีดเส้นใต้ลิงก์บนโฮเวอร์หรือทำเครื่องหมายฟิลด์บังคับด้วยเครื่องหมายดอกจัน
  • ตาบอดสี: ตาบอดสี แดง/เขียวพบได้บ่อยที่สุด ดังนั้น คุณควรหลีกเลี่ยงสีเขียวบนสีแดง หรือสีแดงบนสีเขียว ด้วยเหตุผลเดียวกัน โปรดหลีกเลี่ยงการใช้สีแดงและสีเขียวสำหรับตัวบ่งชี้ "ไม่ดี" และ "ดี"

วิชาการพิมพ์

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

ข้อความการช่วยสำหรับการเข้าถึง

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

กรณีการใช้งานทั่วไปของ ข้อความการช่วยสำหรับการเข้าถึง มีอะไรบ้าง

ประเภทการควบคุมและสถานะ

โปรแกรมอ่านหน้าจอ เช่น TalkBack สามารถประกาศประเภทหรือสถานะของตัวควบคุมได้โดยอัตโนมัติโดยพูดชื่อตัวควบคุมหรือส่งเสียง

บ่งชี้องค์ประกอบโดยการกระทำ

กริยาการกระทำระบุว่ารายการหรือลิงก์ทำอะไรเมื่อคุณแตะที่รายการนั้นและอธิบายว่ามุมมองทำอะไร

องค์ประกอบที่มีการเปลี่ยนแปลงสถานะ

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

สรุป

บทนี้สอนวิธีปรับการออกแบบสำหรับผู้พิการทางสายตาและผู้พิการทางสายตา จนถึงตอนนี้ เราได้ครอบคลุมถึงรูปแบบ การพิมพ์ และการ เข้าถึงข้อความ แล้ว ตอนนี้เราจะไปยังหลักการของการดำเนินการ

การใช้งานการช่วยสำหรับการเข้าถึง

ในส่วนต่อไปนี้ ฉันจะเน้นที่ประเด็นสำคัญของการนำการช่วยสำหรับการ เข้าถึง ไปใช้ในแอปของคุณ เอาล่ะ!

เค้าโครง – แตะเป้าหมาย

ดังที่ฉันได้กล่าวไปแล้วในส่วนทฤษฎี องค์ประกอบที่คลิกได้ทั้งหมดควรมีอย่างน้อย 48dp/48dp

มีหลายตัวเลือกในการทำเช่นนี้ คุณสามารถ:

  • กำหนดค่าสำหรับแอตทริบิวต์ความกว้างและความสูงตามที่แนะนำ (48dp/48dp)
  • เพิ่มช่องว่างภายในไอคอน
  • ระบุค่าสำหรับแอตทริบิวต์: MinWidth และ/หรือ minHeight
  • ลงทะเบียน TouchDelegate

ดูตัวอย่างจากเอกสารทางการของ Google แสดงองค์ประกอบที่มี ขนาดเป้าหมายการสัมผัสที่แนะนำ :

 <ปุ่มรูปภาพ 
   ...
   android:minWidth="40dp"
   หุ่นยนต์:minHeight="32dp"
   android:paddingLeft="4dp"

   android:paddingTop="8dp"
   android:paddingRight="4dp"
   android:paddingBottom="8dp" />

ข้อความการช่วยสำหรับการเข้าถึง

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

ดูตัวอย่าง:

 <!-- ค่าสำหรับสตริงต่อไปนี้คือ "Search" -->
<ImageView
   ...
   android:contentDescription="@string/search" />

สำหรับองค์ประกอบตกแต่ง เช่น ตัวเว้นวรรคและตัวแบ่ง ให้ตั้งค่าแอตทริบิวต์ “android:contentDescription” เป็น "null" หากแอปของคุณรองรับเฉพาะอุปกรณ์ที่ใช้ Android 4.1 (API ระดับ 16) ขึ้นไป คุณสามารถตั้งค่าแอตทริบิวต์ “android:importantForAccessibility” เป็น "no" แทนได้

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

เทคนิคการติดฉลาก

ด้านล่างนี้ คุณจะพบชุดแนวทางปฏิบัติที่ดีในการอธิบายส่วนประกอบ UI ในแอปพลิเคชันของคุณ

องค์ประกอบที่อธิบายซึ่งกันและกัน

หากคุณมี องค์ประกอบที่อนุญาตให้คุณระบุข้อมูล a (เช่น EditText) จะเป็นการดีที่จะมี ออบเจ็กต์ View ที่อธิบายสิ่งนั้น (เช่น TextView) นี่คือสาเหตุที่สร้างแอตทริบิวต์ "android:labelFor" โปรดดูตัวอย่าง:

 <!-- ป้ายกำกับจะเป็น "ชื่อ:" -->
<มุมมองข้อความ 
   ...
   หุ่นยนต์:
   android:labelFor="@+id/nameEntry"
   android:text="@string/name" />

<!-- ข้อความการช่วยสำหรับการเข้าถึงจะเป็น "แก้ไขข้อความสำหรับชื่อ" -->
<แก้ไขข้อความ 
   ...
   android: />

<!-- ป้ายข้อความจะเป็น "นามสกุล:" -->
<มุมมองข้อความ 
   ...
   หุ่นยนต์:
   android:labelFor="@+id/surnameEntry"
   android:text="@string/surname" />

<!-- ข้อความการช่วยสำหรับการเข้าถึงจะเป็น "แก้ไขข้อความสำหรับนามสกุล" -->
<แก้ไขข้อความ 
   ...
   android: />

คอลเลกชันองค์ประกอบที่เกี่ยวข้อง

หากแอปของคุณมีองค์ประกอบ UI ที่เกี่ยวข้องกันตามธรรมชาติ (เช่น ช่องที่มีข้อมูลเกี่ยวกับหนังสือ) คุณสามารถ จัดเรียงองค์ประกอบเหล่านี้เป็นกลุ่ม โดยใช้ คอนเทนเนอร์ที่โฟกัส ได้ ในการดำเนินการดังกล่าว ให้ตั้งค่าแอตทริบิวต์คอนเทนเนอร์ “android:focusable” ให้เป็นจริง

ในการดำเนินการดังกล่าว TalkBack สามารถนำเสนอคำอธิบายเนื้อหาขององค์ประกอบภายในได้ทีละรายการในประกาศฉบับเดียว การจัดกลุ่มเนื้อหาช่วยลดจำนวนการเลื่อนที่ผู้ใช้ต้องทำในขณะที่ปรับปรุงเอาต์พุตคำพูด โปรดดูตัวอย่าง:

 <เลย์เอาต์เชิงเส้น 
   ...
   หุ่นยนต์:
   android:orientation="แนวตั้ง"
   android:focusable="true">

   <มุมมองข้อความ
	  ...
       หุ่นยนต์:
       android:text="@string/title"/>

   <มุมมองข้อความ
	  ...
       หุ่นยนต์:
       android:text="@string/author"/>

   <มุมมองข้อความ
	  ...
       หุ่นยนต์:
       android:text="@string/pages"/>
</LinearLayout>

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

การดำเนินการการเข้าถึง

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

ดูวิธีใช้งาน:

 ViewCompat.addAccessibilityAction(
   // ดูเพื่อเพิ่มการดำเนินการการเข้าถึง
   รายการดู,
   // ป้ายที่บริการการเข้าถึงอ่าน
   getString(R.string.save)
) { _, _ ->
   // คำสั่งการเข้าถึง
   บันทึกรายการ()
   จริง
}

ส่งผลให้ TalkBack ประกาศ "แตะสองครั้งเพื่อเก็บถาวร"

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

วิดเจ็ต

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

  • การดำเนินการการเข้าถึง
  • ลักษณะเฉพาะ
  • ข้อมูลของรัฐ

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

การนำทาง

TalkBack เติบโตอย่างต่อเนื่อง เราใช้เมนูบริบทสองเมนู (ทั่วโลกและท้องถิ่น) เมื่อไม่นานมานี้เพื่อไปยังส่วนต่างๆ ของระบบสมาร์ทโฟนของเรา ตอนนี้ทั้งสองเมนูกลายเป็นหนึ่งเดียว

เมนูบริบทใช้เพื่อวัตถุประสงค์หลักสองประการ:

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

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

การทดสอบการช่วยสำหรับการเข้าถึง

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

เครื่องสแกนการเข้าถึง

Accessibility Scanner - เครื่องมือสำหรับการทดสอบการช่วยสำหรับการเข้าถึงที่รวดเร็วและง่ายดาย

เครื่องมือนี้จะสแกนอินเทอร์เฟซผู้ใช้และให้คำแนะนำในการปรับปรุงการเข้าถึงแอปพลิเคชัน

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

Android Lint

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

เอสเพรสโซ

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

สรุป

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