Рядом с порогом обычное округление может превратить отображение в ошибочное утверждение. Сравнение #777777 и #767676 на белом показывает, зачем ContrastCheck отделяет точное решение от округлённого вниз представления и сохраняет исходные цвета в копии.
#777777 даёт около 4.478:1
Введите #777 как текст и #FFF как фон. Текст станет #777777, относительная яркость около 0.184475, точный коэффициент около 4.47809. Он ниже 4.5, поэтому AA normal и AAA large не пройдены. Отображение округляется вниз до 4.47:1 и не поднимается до похожего на проходное 4.5.
#767676 даёт около 4.542:1
Измените только текст на #767676. Он чуть темнее, его яркость около 0.181164, а точный коэффициент около 4.54222. Поэтому пороги 4.5 пройдены, а видимые 4.54:1 остаются консервативными. Оба серых проходят строки 3:1 и не проходят AAA normal 7:1: pass/fail всегда относится к конкретному порогу.
Считайте минимум границей, а не целью дизайна
Малое изменение канала пересекает арифметический порог, но реальные интерфейсы зависят от рендеринга шрифта, состояний, наложений и дисплеев. Не выбирайте ближайший прошедший серый только ради калькулятора. Оставляйте разумный запас, проверяйте реальный компонент и каждую применимую пару. Пример объясняет механику порога, а не назначает универсальный цвет.