คู่มือการใช้งาน Color Contrast Checker: ทำความเข้าใจ WCAG Accessibility อย่างง่ายดาย
เรียนรู้วิธีตรวจสอบและแก้ไขอัตราส่วนความคมชัดของสีเพื่อให้เป็นไปตามมาตรฐาน WCAG คู่มือฉบับสมบูรณ์สำหรับเครื่องมือ Color Contrast Checker
เครื่องมือออนไลน์ฟรี
เครื่องตรวจสอบความคมชัดของสี
ตรวจสอบอัตราส่วนความคมชัดของสีเพื่อการใช้งานที่เข้าถึงได้
Table of Contents
ความคมชัดของสี (color contrast) ไม่ใช่แค่เรื่องของความชอบในการออกแบบ — แต่เป็นข้อกำหนดทางกฎหมายและจริยธรรม ในสหรัฐอเมริกา พระราชบัญญัติคนพิการ (ADA) และมาตรา 508 (Section 508) ทั้งสองอ้างอิงมาตรฐานความคมชัดของ WCAG และพระราชบัญญัติการเข้าถึงของสหภาพยุโรป (European Accessibility Act) ปี 2025 ก็บังคับใช้ทั่วทั้งสหภาพยุโรป ถ้าข้อความของคุณไม่ผ่านอัตราส่วนความคมชัด 4.5:1 เมื่อเทียบกับพื้นหลัง ผู้ใช้จริงที่มีสายตาเลือนราง ตาบอดสี หรือแม้แต่นั่งอยู่กลางแสงแดดจะอ่านเนื้อหาของคุณได้ยากลำบาก
Color Contrast Checker ของเราคำนวณอัตราส่วนความคมชัดที่แน่นอนระหว่างสีพื้นหน้าและพื้นหลังใดๆ และบอกคุณทันทีว่าผ่านข้อกำหนด WCAG 2.1 ระดับ AA และ AAA หรือไม่ ในคู่มือนี้ คุณจะได้เรียนรู้วิธีใช้เครื่องมือ เข้าใจคณิตศาสตร์เบื้องหลังอัตราส่วนความคมชัด และสร้างระบบสีที่เข้าถึงได้จริงในโลกความเป็นจริง
ทำไมต้องใช้ Color Contrast Checker?
ปัญหา accessibility มักซ่อนอยู่ในที่ที่ทุกคนมองเห็น — ข้อความเทาบนเทาที่ดู "ทันสมัย" แต่อ่านไม่ออก สีของแบรนด์ที่ใช้บนพื้นขาวไม่ได้ ป้ายปุ่มที่หายไปในโหมดมืด Contrast checker จะจับปัญหาเหล่านี้ก่อนที่จะถูกส่งขึ้น production:
- ปฏิบัติตามกฎหมาย — ADA, Section 508 และ European Accessibility Act (EAA) ทั้งหมดกำหนดให้ WCAG 2.1 ระดับ AA เป็นเกณฑ์ขั้นต่ำ เว็บไซต์ที่ไม่ผ่านมาตรฐานเคยเป็นเป้าหมายของจดหมายเรียกร้องและคดีความนับพันคดี
- อ่านได้จริง — ค่าเกณฑ์ 4.5:1 ไม่ใช่ตัวเลขที่กำหนดขึ้นมาเอง แต่แทนความคมชัดที่จำเป็นสำหรับผู้ใช้ที่มีสายตาประมาณ 20/40 (ใกล้เคียงกับค่าเฉลี่ยของประชากรที่อายุมากกว่า 45 ปี) เพื่อให้อ่านข้อความได้อย่างสบาย
- เข้าถึงผู้ใช้ที่กว้างขึ้น — ประมาณ 1 ใน 12 ของผู้ชายมีภาวะบกพร่องในการมองเห็นสีอย่างหนึ่งอย่างใด การเลือกสีที่เข้าถึงได้ทำให้ผลิตภัณฑ์ของคุณใช้งานได้สำหรับพวกเขาโดยไม่ต้องใช้ความพยายามพิเศษ
- การออกแบบที่มีระเบียบวินัย — ระดับความคมชัดที่สม่ำเสมอจะสร้างลำดับชั้นทางสายตาที่ชัดเจนขึ้นสำหรับทุกคน ไม่ใช่เฉพาะผู้ใช้ที่มีความพิการ
คุณสมบัติเด่นของ Color Contrast Checker
1. คำนวณอัตราส่วนความคมชัดทันที
พิมพ์หรือวางสีพื้นหน้าและพื้นหลังในรูปแบบ HEX, RGB หรือ HSL เครื่องมือจะคำนวณอัตราส่วนความคมชัดที่แม่นยำ (เช่น 7.42:1) โดยใช้สูตร relative luminance ของ WCAG 2.0 — อัลกอริทึมเดียวกับที่เครื่องมือตรวจสอบ accessibility อัตโนมัติใช้
| คู่สี | พื้นหน้า | พื้นหลัง | อัตราส่วน | ผลลัพธ์ |
|---|---|---|---|---|
| ดำบนขาว | #000000 | #ffffff | 21.00:1 | คมชัดสูงสุด |
| ขาวบนดำ | #ffffff | #000000 | 21.00:1 | คมชัดสูงสุด |
| น้ำเงินเข้มบนน้ำเงินอ่อน | #003d82 | #e3f2fd | 8.59:1 | ผ่าน AAA |
| เทาเข้มบนเทาอ่อน | #333333 | #f5f5f5 | 12.63:1 | ผ่าน AAA |
| ม่วงบนเหลือง | #4a148c | #fff9c4 | 11.17:1 | ผ่าน AAA |
| Tailwind Blue (text-blue-600) บนขาว | #2563eb | #ffffff | 4.58:1 | ผ่าน AA อย่างหวุดหวิด |
| เทาอ่อนบนเทา (ความคมชัดต่ำ) | #cccccc | #dddddd | 1.16:1 | ไม่ผ่านทุกข้อ |
2. ตรวจสอบการปฏิบัติตาม WCAG 2.1 AA และ AAA
เครื่องมือจะตรวจสอบคู่สีของคุณกับเกณฑ์สี่ข้อแยกกัน และแสดงป้ายผ่าน/ไม่ผ่านที่ชัดเจนสำหรับแต่ละข้อ:
| มาตรฐาน | บริบท | อัตราส่วนขั้นต่ำ |
|---|---|---|
| WCAG AA | ข้อความปกติ (< 18pt) | 4.5:1 |
| WCAG AA | ข้อความใหญ่ (≥ 18pt) | 3.0:1 |
| WCAG AA | คอมโพเนนต์ UI และกราฟิก | 3.0:1 |
| WCAG AAA | ข้อความปกติ | 7.0:1 |
| WCAG AAA | ข้อความใหญ่ | 4.5:1 |
"ข้อความใหญ่" หมายถึง 18pt (24px) ปกติ หรือ 14pt (18.66px) ตัวหนา คอมโพเนนต์ UI — ปุ่ม ช่องกรอกฟอร์ม ไอคอน — ต้องผ่านเกณฑ์กราฟิกที่ 3.0:1 เท่านั้น แต่การทำให้สูงกว่านั้นไม่มีทางเสียหาย
3. ไลบรารีพรีเซ็ตสี
ข้ามการเดาด้วยไลบรารีคู่สีที่เข้าถึงได้ที่มีอยู่แล้ว: ดำบนขาว, ขาวบนดำ, น้ำเงินเข้มบนน้ำเงินอ่อน, เทาเข้มบนเทาอ่อน, ม่วงบนเหลือง, เขียวบนครีม, แดงบนขาว, ส้มบนน้ำเงินเข้ม และตัวอย่าง "Low Contrast" ที่ไม่ผ่านโดยเจตนาเพื่อใช้เปรียบเทียบ
4. สลับ, สุ่ม และรีเซ็ต
- สลับสี — สลับพื้นหน้าและพื้นหลังด้วยคลิกเดียว อัตราส่วนยังคงเดิม แต่จะได้ตรวจสอบคู่ผกผันได้อย่างรวดเร็ว (เช่น สีข้อความบนปุ่มสี)
- สุ่มคู่สีที่เข้าถึงได้ — สร้างคู่สีที่ผ่านเกณฑ์อย่างรับประกัน มีประโยชน์สำหรับการระดมความคิดพาเลตสีที่เข้าถึงได้ตามโครงสร้าง
- รีเซ็ต — กลับไปที่ค่าเริ่มต้นดำบนขาว
5. รองรับ Screen Reader และแป้นพิมพ์
เครื่องมือจะประกาศการเปลี่ยนแปลงความคมชัดผ่านบริเวณ aria-live ทุกการควบคุมสามารถใช้แป้นพิมพ์นำทางได้ และผลลัพธ์ผ่าน/ไม่ผ่านใช้ role="alert" เพื่อให้เทคโนโลยีช่วยเหลือรายงานความล้มเหลวอย่างเด่นชัด เครื่องมือนี้ปฏิบัติตามสิ่งที่มันสอน
วิธีใช้ Color Contrast Checker
ขั้นตอนที่ 1: กรอกสีของคุณ
ในช่อง Foreground Color ให้พิมพ์สีของข้อความ (เช่น #2563eb) ในช่อง Background Color ให้พิมพ์พื้นผิวที่ข้อความอยู่บน (เช่น #ffffff) ทั้งสองช่องรองรับรูปแบบ HEX (#rrggbb), RGB (rgb(r, g, b)) และ HSL (hsl(h, s%, l%)) — โดยมีหรือไม่มีเครื่องหมาย # นำหน้าก็ได้
ขั้นตอนที่ 2: อ่านอัตราส่วนความคมชัด
เครื่องมือจะแสดงอัตราส่วนความคมชัดทันที (เช่น 4.58:1) และแถบความคืบหน้าที่แสดงตำแหน่งของคุณระหว่าง 1:1 (ไม่มีความคมชัด) ถึง 21:1 (สูงสุด ดำสนิทบนขาวสนิท)
ขั้นตอนที่ 3: ตรวจสอบการปฏิบัติตาม WCAG
ใต้อัตราส่วน จะมีป้ายสี่ป้ายรายงานผ่าน/ไม่ผ่านสำหรับ WCAG AA Normal, WCAG AA Large, WCAG AAA Normal และ WCAG AAA Large รวมถึงป้ายแยกสำหรับ Graphical Objects (คอมโพเนนต์ UI, ไอคอน)
ขั้นตอนที่ 4: ปรับแต่งหรือใช้พรีเซ็ต
หากไม่ผ่าน ให้ปรับสีด้วยตนเองหรือคลิก Random Colors เพื่อรับคู่สีที่เข้าถึงได้ใหม่ คุณยังสามารถสลับไปที่แท็บ Presets และเลือกจากไลบรารีที่คัดสรรมาแล้ว
ทำความเข้าใจอัตราส่วนความคมชัด
สูตร Relative Luminance
อัตราส่วนความคมชัดไม่ใช่แค่ "สีดูแตกต่างกันแค่ไหน" WCAG ให้นิยามเป็นคณิตศาสตร์ แต่ละสีจะถูกแปลงเป็น relative luminance (L) ระหว่าง 0 (ดำเข้มที่สุด) ถึง 1 (ขาวสว่างที่สุด) จากนั้นนำมาเปรียบเทียบกัน:
Contrast Ratio = (L_lighter + 0.05) / (L_darker + 0.05)
ค่า + 0.05 คำนึงถึงการกระเจิงของแสงโดยรอบในตา และเป็นเหตุผลที่อัตราส่วนสูงสุดคือ 21:1 ไม่ใช่อนันต์ Relative luminance เองคำนวณจากค่าช่องสัญญาณ sRGB:
สำหรับแต่ละช่องสัญญาณ c ∈ {R, G, B}:
if c_srgb <= 0.03928: c_linear = c_srgb / 12.92
else: c_linear = ((c_srgb + 0.055) / 1.055) ^ 2.4
L = 0.2126 * R_linear + 0.7152 * G_linear + 0.0722 * B_linear
สัมประสิทธิ์สีเขียว (0.7152) มีค่ามากที่สุดเพราะดวงตามนุษย์ไวต่อแสงสีเขียวมากที่สุด — นี่คือเหตุผลที่เขียวบนดำอ่านได้ชัดกว่าน้ำเงินบนดำที่ความสว่างทางคณิตศาสตร์เท่ากันเสมอ
ทำไมถึงเป็น 4.5:1?
เกณฑ์ 4.5:1 สำหรับข้อความปกติระดับ AA สอดคล้องกับสายตาเทียบเท่าประมาณ 20/40 — ใกล้เคียงกับค่าเฉลี่ยสายตาของประชากรที่อายุมากกว่า 45 ปี และเป็นเกณฑ์ที่หลายเขตอำนาจศาลใช้จำกัดการขับขี่ เกณฑ์ 7:1 ของ AAA สอดคล้องกับสายตา 20/80 ซึ่งรองรับผู้ใช้ที่มีความบกพร่องทางสายตาที่รุนแรงกว่า
3:1 สำหรับ "ข้อความใหญ่" และกราฟิก
สำหรับข้อความขนาด 18pt+ (หรือ 14pt+ ตัวหนา) และสำหรับคอมโพเนนต์ UI เช่นขอบปุ่มและตัวบ่งชี้โฟกัส ข้อกำหนดลดลงเหลือ 3:1 รูปร่างที่ใหญ่กว่าสามารถแยกแยะได้ง่ายกว่าที่ความคมชัดต่ำกว่า เพราะตาจะรวบรวมแสงมากขึ้นในพื้นที่ที่กว้างกว่า
กรณีการใช้งานจริง
ตรวจสอบพาเลตสีของแบรนด์
สีของแบรนด์มักถูกเลือกโดยนักออกแบบด้วยเหตุผลด้านสุนทรียศาสตร์ แล้วกลายเป็นว่าไม่ผ่าน accessibility นำคู่สีแบรนด์-บน-พื้นผิวทุกคู่ผ่านเครื่องมือตรวจสอบก่อนเผยแพร่ design system ของคุณ:
/* ตัวอย่าง: คลาสยูทิลิตี้สไตล์ Tailwind */
.text-primary-on-white {
color: #2563eb;
background: #ffffff;
} /* 4.58:1 — ผ่าน AA, ไม่ผ่าน AAA */
.text-primary-on-surface {
color: #ffffff;
background: #2563eb;
} /* 4.58:1 — ผ่าน AA */
.text-primary-dark {
color: #1e40af;
background: #ffffff;
} /* 8.59:1 — ผ่าน AAA ✓ */
หากสีแบรนด์ไม่ผ่านบนพื้นขาว ให้ทำให้เข้มขึ้น (เพิ่ม L delta ใน HSL) จนกว่าจะผ่าน แล้วบันทึกตัวแปรที่เข้าถึงได้ใน design tokens ของคุณ
ออกแบบ Dark Mode
Dark mode เป็นจุดที่ความล้มเหลวด้านความคมชัดเกิดขึ้นมากที่สุด สีน้ำเงินของแบรนด์ที่อ่านได้ดีบนพื้นขาวมักกลายเป็นอ่านไม่ออกบนพื้นผิวที่เข้มใกล้ดำ ตรวจสอบคู่ข้อความ/พื้นหลังทุกคู่ใน ทั้งสองธีม:
:root {
--text-primary: #1e40af; /* บน #ffffff → 8.59:1 ✓ */
}
.dark {
--text-primary: #93c5fd; /* บน #0f172a → 9.23:1 ✓ */
}
รูปแบบที่พบบ่อย: ใน dark mode ให้ใช้เฉดสีที่ อ่อนกว่า (ช่วง 100–300) สำหรับข้อความบนพื้นผิวเข้ม แทนเฉด 500–700 ที่คุณใช้บนพื้นผิวอ่อน
Placeholder ของฟอร์มที่เข้าถึงได้
Placeholder แบบเนทิฟของเบราว์เซอร์มักไม่ผ่านเกณฑ์ความคมชัดเพราะแสดงผลที่ความทึบประมาณ 50% ตรวจสอบสีที่แสดงผลจริง:
/* ไม่ดี: ความทึบ placeholder เริ่มต้นให้ค่า ~2.5:1 บนพื้นขาว */
input::placeholder {
color: #9ca3af;
} /* 2.85:1 — ไม่ผ่าน AA */
/* ดี: placeholder ที่เข้มขึ้น หรือเพิ่มความทึบ */
input::placeholder {
color: #6b7280;
} /* 4.83:1 — ผ่าน AA ✓ */
ตัวบ่งชี้โฟกัส
วงแหวนโฟกัสต้องผ่านเกณฑ์กราฟิก 3:1 เทียบกับทั้งองค์ประกอบที่มันล้อมรอบ และ พื้นหลังด้านหลัง นี่เป็นหนึ่งในข้อกำหนดที่ถูกมองข้ามบ่อยที่สุด:
/* วงแหวนโฟกัสต้องมองเห็นได้ทั้งเทียบกับสีปุ่มและสีหน้าเพจ */
:focus-visible {
outline: 3px solid #2563eb; /* ตรวจสอบเทียบกับสีปุ่ม + สีหน้า */
outline-offset: 2px;
}
ใช้ปุ่ม Swap Colors เพื่อทดสอบสีวงแหวนโฟกัสเทียบกับพื้นผิวที่อยู่ติดกันแต่ละพื้นผิวทีละอย่าง
แนวทางปฏิบัติที่ดีที่สุดสำหรับสีที่เข้าถึงได้
- ออกแบบด้วย token ไม่ใช่ค่าดิบ — กำหนดสีข้อความและพื้นผิวเป็น token เชิงความหมาย (--text-primary, --surface-base) เพื่อให้คุณตรวจสอบความคมชัดได้ครั้งเดียวต่อคู่ token ไม่ใช่ต่อการใช้งาน
- อย่าพึ่งพาสีเพียงอย่างเดียว — สีควรเสริมความหมาย ไม่ใช่แบกความหมายเองคนเดียว จับคู่การเปลี่ยนสีกับไอคอน ป้ายข้อความ หรือรูปแบบ เพื่อให้ผู้ใช้ที่ตาบอดสีไม่ถูกตัดออก
- ทดสอบในทั้งสองธีม — คู่ข้อความ/พื้นผิวทุกคู่ต้องมีการตรวจสอบแยกสำหรับ light และ dark mode พาเลตที่ผ่านในธีมหนึ่งมักไม่ผ่านในอีกธีม
- มุ่งสู่ AAA เมื่อทำได้โดยไม่ยาก — AA (4.5:1) เป็นขั้นต่ำ หากการไปถึง AAA (7:1) แค่ต้องการเฉดที่เข้มขึ้นเล็กน้อย ก็ทำเถอะ — พื้นที่ส่วนเกินช่วยผู้ใช้ที่มีสายตาไม่ได้รับการแก้ไขและผู้ที่อยู่ในสภาพแวดล้อมที่สว่างจ้า
- อัตโนมัติการตรวจสอบใน CI — เครื่องมือเช่น axe-core, Pa11y และ Lighthouse สามารถรันการตรวจสอบ WCAG เดียวกันในไปป์ไลน์ทดสอบของคุณ เพื่อให้จับ regression ด้านความคมชัดก่อน deploy
เริ่มตรวจสอบสีของคุณวันนี้
พร้อมที่จะทำให้อินเทอร์เฟซของคุณอ่านได้สำหรับทุกคนหรือยัง?
👉 ลองใช้ Color Contrast Checker ตอนนี้
เครื่องมือที่เกี่ยวข้องที่คุณอาจชอบ:
- Color Converter — แปลงระหว่าง HEX, RGB และ HSL เพื่อหาเฉดสีที่ผ่านเกณฑ์ที่แน่นอน
- Color Palette Generator — สร้างพาเลตสีที่สมบูรณ์จากสีพื้นฐาน พร้อมตัวแปรที่เข้าถึงได้ในตัว
- Color Blindness Simulator — ดูตัวอย่าง UI ของคุณผ่านสายตาของผู้ใช้ที่มีภาวะบกพร่องในการมองเห็นสี
ขอให้สนุกกับการสร้างสรรค์สิ่งที่เข้าถึงได้!