10 คะแนน โดย GN⁺ 2024-03-20 | 3 ความคิดเห็น | แชร์ทาง WhatsApp

นำ a11y (การเข้าถึง) ไปใช้ใน SwiftUI อย่างรวดเร็ว

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

ตรวจสอบการเข้าถึงของแอป

  • การทดสอบการเข้าถึงบนอุปกรณ์จริงเป็นสิ่งสำคัญ
  • ตั้งค่า Control Center ให้เหมาะสมเพื่อให้เปิดใช้ฟีเจอร์ด้านการเข้าถึงได้อย่างรวดเร็ว

ตรวจสอบขนาดข้อความ

  • ใน iOS มีขนาดข้อความให้เลือก 12 ระดับ และควรทดสอบว่าแอปรองรับแต่ละขนาดได้ดีหรือไม่
  • จำเป็นต้องตรวจสอบว่า UI ยังทำงานได้ดีแม้ใช้ขนาดข้อความใหญ่ที่สุด

ตรวจสอบโปรแกรมอ่านหน้าจอ

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

นำการเข้าถึงไปใช้อย่างรวดเร็ว

  • เมื่อระบุปัญหาได้แล้ว ให้รีบแก้ทีละข้อ

เนื้อหาที่เลื่อนได้

  • เมื่อขนาดข้อความใหญ่ขึ้น ให้ขยายเนื้อหาไปอยู่ใน scroll view เพื่อแก้ปัญหา
  • ใช้ view modifier แบบกำหนดเองชื่อ a11yScrollView() เพื่อให้เลื่อนเนื้อหาได้เฉพาะเมื่อจำเป็น

code smell จากการเว้นพื้นที่

  • ใช้ modifier frame() แทน Spacer() เพื่อให้ได้เลย์เอาต์ที่เชื่อถือได้มากกว่า

ปรับขนาดรูปภาพและไอคอน

  • ใช้ property wrapper @ScaledMetric เพื่อปรับขนาดรูปภาพและไอคอนแบบไดนามิกตามขนาดข้อความของผู้ใช้

การจัดแนวเนื้อหา

  • ใช้ A11yHStack เพื่อจัดแนวเนื้อหาตามขนาดข้อความของผู้ใช้

ปรับปรุงโปรแกรมอ่านหน้าจอ

  • ใช้ accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation เป็นต้น เพื่อเพิ่มความเข้ากันได้กับโปรแกรมอ่านหน้าจอ

ใช้คอมโพเนนต์เนทีฟ

  • ใช้คอมโพเนนต์เนทีฟของ SwiftUI ให้มากที่สุดเท่าที่ทำได้ เพื่อเพิ่มทั้งประสิทธิภาพและการเข้าถึง

โน้มน้าวผู้มีส่วนได้ส่วนเสีย

  • วิธีสร้างอิทธิพลภายในองค์กรเพื่อให้เห็นความสำคัญของการเข้าถึง
  • เน้นทั้งข้อกำหนดทางกฎหมายและประโยชน์ทางธุรกิจเพื่อชูความสำคัญของการเข้าถึง

บทสรุป

  • อธิบายภาพรวมของกระบวนการระบุและแก้ปัญหาการเข้าถึงของแอป
  • แนะนำเครื่องมือและเทคนิคต่างๆ ที่ SwiftUI มีให้เพื่อปรับปรุงการเข้าถึง

ความเห็นของ GN⁺

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

3 ความคิดเห็น

 
aer0700 2024-03-21

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

 
godrm 2024-03-20

โอ้โห อันนี้คงต้องเอาไปแนะนำใน Let’s Swift ด้วยครับ 555

 
GN⁺ 2024-03-20
ความคิดเห็นจาก Hacker News
  • สรุปความคิดเห็นแรก:

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

  • สรุปความคิดเห็นที่สอง:

    นักพัฒนาพยายามอย่างเต็มที่เพื่อทำให้แอปของตนใช้งานได้สำหรับผู้มีความบกพร่องทางการมองเห็น ในแอปล่าสุด เขาพบวิธีที่ทำให้ทั้งคนที่ไม่มีความพิการใช้งานได้ง่าย และยังเป็นประโยชน์ต่อคนพิการด้วย โดยเพิ่มฟีเจอร์ "Long-press help" ซึ่งเมื่อกดค้างที่องค์ประกอบใด ๆ ใน UI ก็จะแสดง popover อธิบายองค์ประกอบนั้น ฟีเจอร์นี้ทำงานได้ดีโดยใช้งาน accessibility labels และ hints

  • สรุปความคิดเห็นที่สาม:

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

  • สรุปความคิดเห็นที่สี่:

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

  • สรุปความคิดเห็นที่ห้า:

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

  • สรุปความคิดเห็นที่หก:

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

  • สรุปความคิดเห็นที่เจ็ด:

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

  • สรุปความคิดเห็นที่แปด:

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

  • สรุปความคิดเห็นที่เก้า:

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

  • สรุปความคิดเห็นที่สิบ:

    เหตุผลที่แอปประสบความสำเร็จก็เพราะไม่ได้เสียเวลาไปกับสิ่งที่ไม่จำเป็นอย่าง accessibility (a11y) หรือ internationalization (i18n) ในเชิงประวัติศาสตร์ ผลิตภัณฑ์ที่ประสบความสำเร็จทั้งหมดไม่ได้มุ่งเน้นเรื่อง accessibility หรือ internationalization ตั้งแต่แรก ตอนนี้เมื่อแอปประสบความสำเร็จแล้ว ก็สามารถเริ่มคิดเรื่อง accessibility และทุ่มทรัพยากรให้มันได้