Công cụ kiểm tra tương phản màu

Độ tương phản quyết định người ta có đọc được chữ trên nền hay không, và nó là một con số đo được chứ không phải chuyện cảm tính. Tiêu chuẩn WCAG của tổ chức W3C quy định chữ cỡ thường cần tối thiểu 4,5:1, chữ lớn cần 3:1, còn các thành phần giao diện như viền ô nhập hay biểu tượng cần 3:1. Công cụ này nhận màu chữ và màu nền rồi cho biết đạt hay không, kèm gợi ý chỉnh. Điều bất ngờ với nhiều người: công thức tính KHÔNG phải trung bình cộng ba kênh màu. Mắt người nhạy với màu xanh lá hơn hẳn màu đỏ, và nhạy với đỏ hơn xanh dương, nên công thức nhân trọng số khác nhau cho từng kênh — hơn 71% cho xanh lá, 21% cho đỏ và chỉ hơn 7% cho xanh dương. Đó là lý do nền vàng chói lại cần chữ đen, còn nền xanh dương đậm cần chữ trắng, dù nhìn bằng mắt có thể đoán ngược. Hai cái bẫy hay gặp khi tự chỉnh màu. Thứ nhất, làm mờ chữ bằng độ đục là cách giảm tương phản KHÔNG kiểm soát được — mã CSS vẫn khai màu đạt chuẩn nhưng màu hiển thị thật đã nhạt đi, đọc mã không thấy lỗi. Thứ hai, nền có lớp màu pha loãng thì phải lấy màu pha thật làm chuẩn, không lấy màu nền gốc.

Nhập liệu
px
Kết quả
Tỷ lệ tương phản
5,45:1
Chuẩn AA (cần 4,5:1)Đạt
Chuẩn AAA (cần 7,0:1)Không đạt
Xếp loại cỡ chữChữ thường — áp ngưỡng đầy đủ
Thành phần giao diện (cần 3:1)Đạt
Nên làm gìĐạt mức tối thiểu. Muốn chắc hơn thì làm màu chữ sẫm thêm một chút.
Công Cụ Tính

Công cụ liên quan

Về công cụ này — cách hoạt động, công thức & câu hỏi thường gặp

Cách sử dụng

  1. Nhập mã màu chữ và mã màu nền dạng HEX — chấp nhận cả dạng rút gọn ba ký tự.
  2. Nhập cỡ chữ thật đang dùng và bật công tắc nếu chữ in đậm.
  3. Đọc tỷ lệ tương phản ở dòng đầu, rồi xem hai dòng đánh giá AA và AAA.
  4. Nếu chưa đạt, làm màu chữ sẫm hơn hoặc màu nền sáng hơn rồi thử lại.
  5. Với viền ô nhập, biểu tượng và thanh trượt, chỉ cần đạt mốc 3:1 ở dòng thành phần giao diện.

Công thức

Tương phản = (L1 + 0,05) ÷ (L2 + 0,05), trong đó L là độ sáng tương đối theo WCAG

Câu hỏi thường gặp

Tỷ lệ tương phản bao nhiêu là đạt chuẩn?
Chuẩn WCAG mức AA cần 4,5:1 cho chữ cỡ thường và 3:1 cho chữ lớn. Mức AAA khắt khe hơn, cần 7:1 và 4,5:1 tương ứng. Thành phần giao diện không phải chữ — viền ô nhập, biểu tượng, đường kẻ biểu đồ — cần tối thiểu 3:1.
Thế nào được tính là chữ lớn?
Từ 24px trở lên, hoặc từ 18,66px trở lên nếu in đậm. Chữ lớn được nới ngưỡng vì nét dày hơn nên dễ đọc hơn ở cùng mức tương phản. Lưu ý ngưỡng tính theo cỡ chữ THỰC TẾ hiển thị, không phải cỡ khai trong thiết kế.
Vì sao độ tương phản không phải trung bình ba kênh màu?
Vì mắt người không nhạy đều với ba màu cơ bản. Công thức WCAG lấy 21,26% từ kênh đỏ, 71,52% từ kênh lục và 7,22% từ kênh lam, sau khi đã tuyến tính hoá từng kênh. Nên màu xanh lá thuần trông sáng hơn hẳn màu xanh dương thuần dù cả hai đều đạt mức tối đa ở một kênh.
Dùng opacity làm chữ nhạt có ảnh hưởng tương phản không?
Có, và đây là cái bẫy khó thấy nhất. Mã CSS vẫn khai một màu đạt chuẩn, nhưng độ đục 65% pha màu đó với nền nên màu hiển thị thật nhạt đi nhiều — một màu đạt 5,45:1 có thể tụt còn 2,5:1. Đọc mã không phát hiện được, chỉ đo mới thấy. Muốn chữ nhạt thì chọn thẳng một màu nhạt đã đo.
Không đạt chuẩn thì hậu quả gì?
Người lớn tuổi, người có tật khúc xạ và bất kỳ ai xem màn hình ngoài nắng đều khó đọc — mà đó là một phần đáng kể người dùng. Ngoài ra Google có tính trải nghiệm trang vào xếp hạng, và ở một số thị trường thì trang web của tổ chức công còn bị ràng buộc pháp lý phải đạt chuẩn.

Sao chép đoạn mã này vào website của bạn để thêm công cụ. Nó hiển thị liền mạch — không thương hiệu chèn ngang, chạy trên mọi trang.

px
✓ 100% Miễn phí✓ Không cần đăng ký✓ Nhanh & Chính xác✓ Dùng trên mọi thiết bị