Контраст цветов
Условие
contrastRatio(hex1, hex2) по формуле WCAG: относительная яркость через линеаризацию каналов, отношение (L1 + 0.05) / (L2 + 0.05). Поддержи короткую запись #abc. Верни число, округлённое до сотых.
Что проверяют тесты
чёрное на белом
одинаковые цвета
порядок не важен
короткая запись
серый на белом проходит для крупного текста
Как подойти
Формула из WCAG, и знать её наизусть не требуется - требуется понимать, что контраст считается не по разнице RGB, а по относительной яркости с гамма-коррекцией и разными весами каналов. Пороги: 4.5:1 для обычного текста, 3:1 для крупного и элементов интерфейса. Это то, что превращает «сделай посветлее» в проверяемое требование.
Подсказки: 3
- Каналы надо линеаризовать - простое среднее яркости неверно.
- Зелёный вносит в яркость больше половины веса.
- Больший результат всегда делится на меньший, поэтому порядок аргументов не важен.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.