Accessibility (a11y) คือแนวปฏิบัติในการสร้างแอปพลิเคชันที่ผู้พิการสามารถใช้ได้ ตามข้อมูลขององค์การอนามัยโลก มีผู้คนมากกว่า 1.3 พันล้านคน (16% ของประชากร) ใช้ชีวิตอยู่กับความพิการในรูปแบบใดรูปแบบหนึ่ง WHO (รายงาน 2024) เน้นย้ำว่าการเข้าถึงดิจิทัลกำลังมีความสำคัญอย่างยิ่ง มาดูวิธีทำให้แน่ใจว่าสามารถเข้าถึงได้บน iOS และ Android และมาตรฐานที่มีอยู่
ประเด็นสำคัญ
Accessibility (ตัวย่อ a11y — ตัวอักษร a + 11 ตัวอักษร + y) คือคุณสมบัติของผลิตภัณฑ์ที่ผู้พิการสามารถใช้งานได้ ในบริบทของแอปพลิเคชันมือถือ หมายถึง: การรองรับโปรแกรมอ่านหน้าจอ (VoiceOver, TalkBack), ขนาดข้อความที่เหมาะสม, ความคมชัดสูง, ลำดับโฟกัสที่ถูกต้องสำหรับการนำทางด้วยแป้นพิมพ์ และไม่มีองค์ประกอบเคลื่อนไหวที่ทำให้เวียนศีรษะ
การไม่แบ่งแยกไม่ใช่แค่พันธะทางจริยธรรม แต่ยังเป็นพันธะทางกฎหมายอีกด้วย หลายประเทศมีกฎหมายเกี่ยวกับการเข้าถึงดิจิทัล: ADA (สหรัฐอเมริกา), Section 508, European Accessibility Act (สหภาพยุโรป บังคับใช้กับแอปตั้งแต่ปี 2025) ตามข้อมูลของ Business Disability Forum บริษัทที่ลงทุนในการเข้าถึงสามารถเพิ่มผู้ชมได้ 15–20% และลดความเสี่ยงทางกฎหมาย
ที่ IT Sectr เราตรวจสอบการเข้าถึงในทุกขั้นตอนของการพัฒนา ประสบการณ์ของเราแสดงให้เห็นว่า การแก้ไขปัญหาการเข้าถึงในขั้นตอนการออกแบบมีค่าใช้จ่ายถูกกว่าหลังการเปิดตัวถึง 10 เท่า การเข้าถึงไม่ใช่ฟีเจอร์ แต่เป็นข้อกำหนดพื้นฐานสำหรับแอปพลิเคชันสมัยใหม่
ระบบนิเวศของ Apple มีเครื่องมือการเข้าถึงที่ทรงพลัง VoiceOver เป็นโปรแกรมอ่านหน้าจอในตัวที่อ่านออกเสียงทุกอย่างที่เกิดขึ้นบนหน้าจอ ผู้ใช้ควบคุมอุปกรณ์ด้วยท่าทาง: ปัดขวา — องค์ประกอบถัดไป, ปัดซ้าย — องค์ประกอบก่อนหน้า, แตะสองครั้ง — การเปิดใช้งาน
Accessibility Label คือข้อความที่ VoiceOver อ่านสำหรับองค์ประกอบ โดยค่าเริ่มต้น iOS จะใช้ข้อความปุ่มหรือป้ายกำกับ แต่สำหรับไอคอนและองค์ประกอบกราฟิก คุณต้องตั้งค่าป้ายกำกับอย่างชัดเจน Accessibility Trait คือคุณสมบัติที่อธิบายประเภทขององค์ประกอบ: button (ปุ่ม), header (ส่วนหัว), link (ลิงก์), image (รูปภาพ) traits ที่ถูกต้องช่วยให้ผู้ใช้เข้าใจวิธีการโต้ตอบกับองค์ประกอบ
VoiceOver รองรับมากกว่า 40 ภาษาและทำงานบนอุปกรณ์ Apple ทั้งหมด สำหรับนักพัฒนา สิ่งสำคัญคือการตั้งค่า accessibilityLabel และ accessibilityTraits ที่ถูกต้องสำหรับแต่ละองค์ประกอบอินเทอร์เฟซ หากองค์ประกอบไม่ควรสามารถเข้าถึงได้ (รูปภาพตกแต่ง) ให้ตั้ง isAccessibilityElement = false
// Swift — การตั้งค่าการเข้าถึงสำหรับปุ่ม
let shareButton = UIButton()
shareButton.setImage(UIImage(named: "share-icon"), for: .normal)
shareButton.accessibilityLabel = "แชร์บทความนี้"
shareButton.accessibilityHint = "เปิดกล่องโต้ตอบเพื่อเลือกวิธีการส่ง"
shareButton.accessibilityTraits = .button
// SwiftUI — ยิ่งง่ายกว่า
struct ShareButtonView: View {
var body: some View {
Button(action: share) {
Image(systemName: "square.and.arrow.up")
}
.accessibilityLabel("แชร์")
.accessibilityHint("เปิดเมนูแชร์")
}
}
โค้ดแสดงการตั้งค่าการเข้าถึงสำหรับปุ่มที่ไม่มีข้อความ (ไอคอนเท่านั้น) AccessibilityLabel คือสิ่งที่ผู้ใช้จะได้ยิน AccessibilityHint คือคำแนะนำเพิ่มเติมเกี่ยวกับผลลัพธ์ของการดำเนินการ อย่าใช้วลีเช่น «ปุ่มสำหรับ» ในป้ายกำกับ — Trait บอกอยู่แล้วว่าเป็นปุ่ม
TalkBack คือโปรแกรมอ่านหน้าจอจาก Google สำหรับ Android ซึ่งเป็นส่วนหนึ่งของแพ็กเกจ Android Accessibility Suite เช่นเดียวกับ VoiceOver มันอ่านออกเสียงองค์ประกอบอินเทอร์เฟซและควบคุมด้วยท่าทาง TalkBack รองรับมากกว่า 100 ภาษาและทำงานบนอุปกรณ์ทั้งหมดที่มี Google Play Services
Content Description คือค่าที่เทียบเท่ากับ accessibilityLabel บน Android ตั้งค่าผ่านแอตทริบิวต์ android:contentDescription ใน XML หรือผ่านเมธอด setContentDescription() ในโค้ด สำหรับองค์ประกอบที่ไม่สามารถโฟกัสได้ (ImageView ตกแต่ง) ให้ใช้ importantForAccessibility="no"
Focus Order (ลำดับโฟกัส) คือลำดับที่ TalkBack เคลื่อนที่ระหว่างองค์ประกอบเมื่อปัด โดยค่าเริ่มต้น Android จะใช้ลำดับขององค์ประกอบในเลย์เอาต์ แต่สามารถเปลี่ยนแปลงได้ผ่านแอตทริบิวต์ accessibilityTraversalBefore และ accessibilityTraversalAfter ซึ่งสำคัญสำหรับหน้าจอที่ซับซ้อนที่มีคอมโพเนนต์แบบกำหนดเอง
ที่ IT Sectr เราตรวจสอบ Focus Order ในทุกหน้าจอ ข้อผิดพลาดของลำดับโฟกัสเป็นหนึ่งในปัญหาการเข้าถึงที่พบบ่อยที่สุด ตัวอย่างเช่น หากหลังจากส่วนหัวผู้ใช้ไปที่ความคิดเห็นแทนที่จะเป็นเนื้อหาของบทความ — นั่นคือบั๊กการเข้าถึง
WCAG (Web Content Accessibility Guidelines) คือมาตรฐานการเข้าถึงระดับสากลที่พัฒนาโดย W3C เวอร์ชันปัจจุบันคือ WCAG 2.2 (2023) มาตรฐานแบ่งออกเป็น 4 หลักการ: Perceivable (การรับรู้ได้), Operable (การใช้งานได้), Understandable (ความเข้าใจได้), Robust (ความทนทาน) — ตัวย่อ POUR
ระดับ WCAG: A (ขั้นต่ำ), AA (ปานกลาง, จำเป็นตามกฎหมายในสหภาพยุโรป), AAA (สูงสุด) สำหรับแอปพลิเคชันมือถือ ระดับ AA ก็เพียงพอ: ความคมชัดของข้อความอย่างน้อย 4.5:1, รองรับโปรแกรมอ่านหน้าจอ, ขนาดเป้าหมายขั้นต่ำ 44x44 พิกเซล, คำบรรยายสำหรับวิดีโอ
ระดับ A — ข้อกำหนดพื้นฐาน: ข้อความทดแทนสำหรับรูปภาพ, การควบคุมด้วยแป้นพิมพ์, ความคมชัดอย่างน้อย 3:1 ระดับ AA — ปานกลาง: ความคมชัด 4.5:1, รองรับการขยายสูงสุด 200%, ส่วนหัวและป้ายกำกับที่ถูกต้อง ระดับ AAA — สูง: ความคมชัด 7:1, ภาษามือสำหรับวิดีโอ, การควบคุมด้วยเสียงอย่างสมบูรณ์ ในทางปฏิบัติ บริษัทส่วนใหญ่ตั้งเป้าไปที่ AA
| พารามิเตอร์ | iOS | Android |
|---|---|---|
| โปรแกรมอ่านหน้าจอ | VoiceOver | TalkBack |
| ป้ายกำกับองค์ประกอบ | accessibilityLabel | android:contentDescription |
| ประเภทองค์ประกอบ | accessibilityTraits | accessibilityRole (Compose), ความสำคัญของโฟกัส |
| ลำดับโฟกัส | อัตโนมัติ (สามารถเปลี่ยนแปลงได้) | accessibilityTraversalBefore/After |
| การปรับขนาดข้อความ | Dynamic Type (UIFontMetrics) | sp (scale-independent pixels) |
| ลดการเคลื่อนไหว | UIAccessibility.isReduceMotionEnabled | Settings.Global.getFloat(... ANIMATOR_DURATION_SCALE) |
ตาราง 2. การเปรียบเทียบ API การเข้าถึงของ iOS และ Android แม้จะมีชื่อที่แตกต่างกัน แต่แนวคิดเหมือนกัน: ป้ายกำกับ ประเภท ลำดับโฟกัส และการรองรับการปรับข้อความ
การทดสอบการเข้าถึง คือการตรวจสอบแอปพลิเคชันว่าสอดคล้องกับมาตรฐาน WCAG และทำงานได้อย่างถูกต้องกับโปรแกรมอ่านหน้าจอ ชุดทดสอบขั้นต่ำ: เปิด VoiceOver/TalkBack และนำทางผ่านหน้าจอทั้งหมดของแอปพลิเคชัน ฟังเพื่อตรวจสอบว่าองค์ประกอบทั้งหมดถูกอ่านออกเสียง ลำดับโฟกัสเป็นตรรกะ และองค์ประกอบที่ไม่เหมาะสม (ตกแต่ง) ถูกละเว้น
เครื่องมืออัตโนมัติ: Xcode Accessibility Inspector (การตรวจสอบใน Xcode สำหรับ iOS), Android Accessibility Scanner (สแกนหน้าจอและค้นหาปัญหา), Axe DevTools, WAVE เครื่องมือเหล่านี้ตรวจสอบความคมชัด ขนาดเป้าหมาย การมีป้ายกำกับ และพารามิเตอร์อื่นๆ
ที่ IT Sectr เราทำการตรวจสอบการเข้าถึงก่อนทุกการเปิดตัว กระบวนการรวมถึง: การตรวจสอบอัตโนมัติ (Accessibility Inspector), การทดสอบด้วยตนเองกับ VoiceOver และ TalkBack, การตรวจสอบความคมชัดและการปรับขนาดข้อความ เราบันทึกปัญหาใน Jira และกำหนดให้กับสปรินต์ สิ่งนี้ช่วยให้เรารักษาระดับ AA WCAG ในทุกโครงการ
คำถามที่พบบ่อย
การตั้งค่า → การช่วยการเข้าถึง → VoiceOver หรือกปุ่มด้านข้าง (หรือปุ่มโฮม) สามครั้งเมื่อเปิดทางลัดการช่วยการเข้าถึงไว้ สำหรับการเปิดใช้งานอย่างรวดเร็ว ให้ใช้ Siri: «เปิด VoiceOver» บน Android เปิด TalkBack ได้ในการตั้งค่า → การช่วยการเข้าถึง → TalkBack
เพื่อให้สอดคล้องกับกฎหมายของสหภาพยุโรป (European Accessibility Act ตั้งแต่ปี 2025) และสหรัฐอเมริกา (ADA) จำเป็นต้องมี ระดับ AA ซึ่งหมายถึง: ความคมชัด 4.5:1, องค์ประกอบทั้งหมดมีป้ายกำกับ, ขนาดเป้าหมายอย่างน้อย 44x44 พิกเซล, รองรับโปรแกรมอ่านหน้าจอ, คำบรรยายสำหรับวิดีโอ
ใช่ การเข้าถึงช่วยทุกคน: ผู้สูงอายุ ผู้ใช้ในวันที่แดดจ้า พ่อแม่ที่อุ้มลูก (มือเดียว) นอกจากนี้ยังเป็นข้อกำหนดทางกฎหมายในหลายประเทศ การไม่แบ่งแยก ขยายผู้ชมและปรับปรุงประสบการณ์ผู้ใช้สำหรับทุกคน
ใช้เครื่องมือเหล่านี้: WebAIM Contrast Checker (ออนไลน์), Stark สำหรับ Figma/Sketch สำหรับ WCAG AA อัตราส่วนขั้นต่ำคือ 4.5:1 สำหรับข้อความปกติ และ 3:1 สำหรับข้อความขนาดใหญ่ (18px ขึ้นไป) สำหรับ AAA — 7:1 และ 4.5:1 ตามลำดับ
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ