Color Tokens
ตารางนี้ดึงค่าจาก tokens/bgrimm.tokens.json ตรงๆ — ห้ามพิมพ์ hex ซ้ำมือที่อื่น ถ้าค่าไม่ตรงกับตารางนี้ แปลว่าไฟล์ token อัปเดตแล้วแต่หน้านี้ยังไม่ sync ให้แจ้งแก้
Global → Alias Mapping
การ์ดแต่ละใบทาสีจริงจากค่า token ตัวเลขมุมขวาบนของแถบสีคือ contrast ratio บนพื้นขาว #FFFFFF และตัวอักษรบนแถบสีคือสีที่ ผ่าน AA เมื่อวางบนสีนั้นจริง
รายละเอียดวิธีคำนวณและกฎการใช้เต็มที่ Accessibility & Contrast
Component Tokens ที่ผูกกับสี
| Token | ค่า (resolved) |
|---|---|
button.bg-primary | #FF6727 |
button.bg-primary-hover | #C43400 |
button.text-on-primary | #FFFFFF |
input.border-focus | #FF6727 |
input.border-error | #C43400 |
Component token ด้านบนเรนเดอร์ออกมาหน้าตาแบบนี้ — ทุกชิ้นทาสีจาก resolved value ตรงๆ ไม่มีการแต่งเพิ่ม:
เส้นขอบช่องกรอกใช้เกณฑ์ 3:1 ไม่ใช่ 4.5:1 — input.border-error (#C43400) ผ่านสบายที่ 5.47:1 แต่ input.border-focus (#FF6727) ได้แค่ 2.91:1 บนพื้นขาว ซึ่งยังไม่ถึง 3:1 จึงห้ามใช้เส้นขอบสีส้มเป็นสัญญาณเดียวที่บอกว่าช่องไหนกำลัง focus ต้องมี outline หนาขึ้นหรือ label กำกับร่วมด้วย — เช่นเดียวกับสถานะ error ที่ต้องมีไอคอนหรือข้อความ ไม่ใช่แค่เปลี่ยนสีขอบ
Component token คือค่าเริ่มต้น — ถ้า component ไหนต้องการสีต่างจากนี้ (เช่นปุ่มในบริบทพิเศษ) ให้เพิ่ม component token ใหม่ใน bgrimm.tokens.json แทนการ hardcode สีในโค้ด เพื่อให้ยังตรวจสอบย้อนกลับได้ว่าใช้สีจากที่ไหน