Pa11y และ axe สำหรับการทดสอบการเข้าถึง
ทำให้การตรวจสอบการเข้าถึงเป็นอัตโนมัติด้วย pa11y และ axe-core
Pa11y และ axe สำหรับการทดสอบการเข้าถึง เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
เครื่องมือการเข้าถึงอัตโนมัติ
พาอีเลฟเวนวายและแอกซ์คอร์เป็นเครื่องมือโอเพนซอร์สที่ทำให้การทดสอบการเข้าถึงตาม WCAG เป็นอัตโนมัติ เครื่องมือทั้งสองจะแยกวิเคราะห์หน้าเว็บ เรียกใช้กฎกับ DOM และรายงานการละเมิด ตรวจจับปัญหาการเข้าถึงส่วนใหญ่โดยอัตโนมัติ และสงวนการทดสอบด้วยตนเองไว้สำหรับส่วนที่เหลือ
แอกซ์คอร์: ไลบรารี
แอกซ์คอร์เป็นไลบรารี JavaScript ที่ขับเคลื่อนการตรวจประเมินการเข้าถึงใน DevTools ของโครม ไลต์เฮาส์ เจสต์ ไซเพรส เพลย์ไรต์ และเครื่องมืออื่น ๆ อีกมากมาย ไลบรารีนี้เป็นมาตรฐานโดยพฤตินัยสำหรับการทดสอบการเข้าถึงอัตโนมัติ ด้วยการครอบคลุมกฎที่กว้างและอัตราผลบวกลวงต่ำ
ส่วนขยายเบราว์เซอร์ของแอกซ์
ส่วนขยายเบราว์เซอร์ของแอกซ์ใน DevTools (โครม ไฟร์ฟอกซ์ เอดจ์) จะเพิ่มแท็บ "การเข้าถึง" ให้กับ DevTools คลิก "สแกนทุกหน้า" แล้วระบบจะแสดงรายการการละเมิดทุกข้อ พร้อมองค์ประกอบที่ได้รับผลกระทบ ระดับความรุนแรง และคำแนะนำการแก้ไข เหมาะที่สุดสำหรับการตรวจประเมินเฉพาะครั้งระหว่างการพัฒนา
เครื่องมือบรรทัดคำสั่งพาอีเลฟเวนวาย
พาอีเลฟเวนวายเป็นเครื่องมือบรรทัดคำสั่งของ Node.js: npx pa11y https://example.com ใช้ตรวจประเมินที่อยู่เว็บ และแสดงรายการปัญหาในเทอร์มินัล ใช้สำหรับการตรวจประเมินอย่างรวดเร็ว ในสคริปต์เชลล์ หรือการผสานรวมอย่างต่อเนื่องที่มีภาระต่ำ
npx pa11y https://example.com
# or for multiple pages
npx pa11y-ci --sitemap https://example.com/sitemap.xmlการผสานรวมแอกซ์กับเพลย์ไรต์
ผสานแอกซ์คอร์กับเพลย์ไรต์เพื่อทดสอบการเข้าถึงตั้งแต่ต้นจนจบ: const results = await new AxeBuilder({ page }).analyze() ยืนยันว่า results.violations.length === 0 วิธีนี้ตรวจจับการถดถอยก่อนที่จะไปถึงระบบจริง
import { test, expect } from "@playwright/test";
import AxeBuilder from "@axe-core/playwright";
test("home page accessibility", async ({ page }) => {
await page.goto("/");
const results = await new AxeBuilder({ page }).analyze();
expect(results.violations).toEqual([]);
});เจสต์-แอกซ์สำหรับองค์ประกอบ
เจสต์-แอกซ์จะเรียกใช้แอกซ์กับองค์ประกอบที่แสดงผลในการทดสอบของเจสต์ แสดงผลองค์ประกอบด้วยไลบรารีการทดสอบรีแอกต์ แล้วส่งคอนเทนเนอร์ให้แอกซ์: expect(await axe(container)).toHaveNoViolations() จากนี้การทดสอบแต่ละองค์ประกอบจะมีการตรวจสอบการเข้าถึงรวมอยู่ด้วย
การกำหนดค่ากฎ
เครื่องมือทั้งสองช่วยให้คุณปิดใช้หรือปรับเปลี่ยนกฎแยกตามโครงการได้: ปิดกฎที่ขัดแย้งกับการตัดสินใจด้านการออกแบบโดยตั้งใจ และเพิ่มความเข้มงวดให้กฎที่ทราบว่าสำคัญอย่างยิ่ง บันทึกกฎที่ปิดใช้ทุกข้อพร้อมคอมเมนต์อธิบายเหตุผล เพราะนักพัฒนาในอนาคตจำเป็นต้องเข้าใจบริบทนี้
ข้อจำกัดของระบบอัตโนมัติ
เครื่องมืออัตโนมัติตรวจจับปัญหา WCAG ได้ประมาณ 30-40% ส่วนที่เหลือ เช่น ลำดับโฟกัสที่มีความหมาย ข้อความทดแทนที่อ่านเข้าใจง่าย ลำดับชั้นหัวข้อเชิงความหมาย และการใช้ ARIA ที่สะท้อนพฤติกรรมจริงของส่วนติดต่อผู้ใช้ จำเป็นต้องมีการตรวจทานโดยมนุษย์ ระบบอัตโนมัติเป็นสิ่งจำเป็น แต่ไม่เพียงพอสำหรับการเข้าถึง
การทดสอบด้วยเทคโนโลยีช่วยเหลือจริง
ทดสอบด้วย NVDA บนวินโดวส์ ใช้ VoiceOver บนแมค และใช้ JAWS สำหรับกลุ่มผู้ใช้ในองค์กร การทดสอบด้วยโปรแกรมอ่านหน้าจอจริงจะเผยปัญหาที่ระบบอัตโนมัติตรวจไม่พบ เช่น การประกาศที่ทำให้สับสน จุดระบุโครงสร้างที่ใช้งานไม่ได้ และลำดับโฟกัสที่ไม่สมเหตุสมผล การทดสอบหนึ่งครั้งต่อรุ่นบน SR หลักแต่ละชนิดถือเป็นค่าฐานที่เหมาะสม
การทดสอบโดยผู้ใช้
การตรวจสอบการเข้าถึงที่มีคุณค่าที่สุดมาจากผู้ใช้ที่มีความพิการซึ่งใช้ผลิตภัณฑ์จริง รับสมัครผ่านบริษัทที่ปรึกษาด้านการเข้าถึง หน่วยงานบริการนักศึกษาพิการของมหาวิทยาลัย หรือแพลตฟอร์มทดสอบอย่าง UserTesting.com ความคิดเห็นจากประสบการณ์จริงของพวกเขาช่วยตรวจพบปัญหาที่ไม่มีเครื่องมืออัตโนมัติใดแสดงให้เห็น
กลยุทธ์การผสานรวมอย่างต่อเนื่อง
บล็อก PR เมื่อเกิดการถดถอยด้านการเข้าถึง (การละเมิดใหม่) แต่ไม่บล็อกเมื่อพบการละเมิดเดิมที่มีอยู่ในค่าฐาน วิธีนี้ช่วยยกระดับเกณฑ์อย่างต่อเนื่องโดยไม่ขัดขวางการนำส่ง ติดตามจำนวนการละเมิดทั้งหมดเมื่อเวลาผ่านไปเพื่อใช้เป็นตัวชี้วัดล่วงหน้าของสุขภาพด้านการเข้าถึงโดยรวม
การใช้เครื่องมือร่วมกัน
ใช้เครื่องมือหลายชนิด: แอกซ์สำหรับการตรวจสอบอัตโนมัติอย่างครอบคลุม พาอีเลฟเวนวายเป็นความเห็นที่สอง และการทดสอบด้วยโปรแกรมอ่านหน้าจอด้วยตนเองเพื่อเติมเต็มช่องว่างเชิงคุณภาพ เครื่องมือเหล่านี้มีส่วนที่ทับซ้อนกันไม่มาก และเมื่อใช้ร่วมกันจะครอบคลุมปัญหาได้มากกว่าที่เครื่องมือใดเครื่องมือหนึ่งจะค้นพบได้
ตรวจสอบความรู้
เครื่องมืออัตโนมัติอย่างแอกซ์และพาอีเลฟเวนวายสามารถตรวจจับปัญหาการเข้าถึงตาม WCAG ได้อย่างน่าเชื่อถือกี่เปอร์เซ็นต์
สรุป
แอกซ์คอร์ขับเคลื่อนการตรวจประเมินการเข้าถึงส่วนใหญ่ ส่วนขยายเบราว์เซอร์เหมาะสำหรับการตรวจสอบเป็นครั้งคราว และการผสานรวมเจสต์-แอกซ์กับเพลย์ไรต์เหมาะสำหรับการทดสอบอย่างต่อเนื่อง พาอีเลฟเวนวายเป็นเครื่องมือบรรทัดคำสั่งเสริม ระบบอัตโนมัติตรวจจับปัญหาได้ประมาณ 30-40% ควรใช้ร่วมกับการทดสอบด้วยโปรแกรมอ่านหน้าจอด้วยตนเอง (NVDA, VoiceOver) และการทดสอบโดยผู้ใช้ที่มีความพิการจริงเพื่อให้ครอบคลุมทั้งหมด บล็อกการถดถอยใหม่ในระบบผสานรวมอย่างต่อเนื่อง โดยไม่บล็อกจากค่าฐานเดิม
คำถามที่พบบ่อย
บทเรียน “Pa11y และ axe สำหรับการทดสอบการเข้าถึง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Pa11y และ axe สำหรับการทดสอบการเข้าถึง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Pa11y และ axe สำหรับการทดสอบการเข้าถึง”
ทำให้การตรวจสอบการเข้าถึงเป็นอัตโนมัติด้วย pa11y และ axe-core คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “Pa11y และ axe สำหรับการทดสอบการเข้าถึง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวตรวจสอบมาร์กอัป W3C
- การตรวจสอบ HTML ด้วย Lighthouse
- Pa11y และ axe สำหรับการทดสอบการเข้าถึง
- การทดสอบ HTML ด้วยภาพสแนปชอต