edubun
Русский

Коэффициент контраста и читаемый текст

Серый #767676 на белом имеет коэффициент контраста 4.54:1 и соответствует минимуму WCAG для основного текста; на шаг светлее, #777777, даёт 4.48:1 и не проходит.

Загружается 3D-модель

Перетащи, чтобы повернуть. Для изменения масштаба прокрути колёсико или сведи и разведи два пальца.

Маркер изначально находится на оси серых в точке #767676. Выбери фон на панели и потяни ползунок «Светлота»: коэффициент и индикаторы «Проходит» или «Не проходит» обновляются по ходу. Каждый результат записан и словом, и числом.

Относительная яркость

Чтобы решить, читается ли текст, Web Content Accessibility Guidelines не используют тон или светлоту HSL. Они используют относительную яркость, число от 0 для чёрного до 1 для белого, которое отслеживает, сколько света цвет посылает в глаз. WCAG 2.2 определяет её в два шага. Сначала каждый канал превращают в число от 0 до 1, деля на 255 и затем отменяя кривую sRGB: если значение не больше 0.04045, его делят на 12.92; иначе вычисляют ((значение + 0.055) / 1.055) в степени 2.4. Затем три результата взвешивают и складывают: L = 0.2126 R + 0.7152 G + 0.0722 B.

Веса многое объясняют. На зелёный приходится больше 70% общей суммы, на синий едва 7%. Поэтому у чисто синего #0000ff яркость всего 0.0722, а у чисто жёлтого, красного плюс зелёного, 0.9278. Спецификация также хранит небольшую историю: до мая 2021 года порог был записан как 0.03928, скопированный из более старого документа. Его исправили на 0.04045, и WCAG отмечает, что на результаты это практически не влияет.

Коэффициент контраста

Коэффициент контраста сравнивает две яркости: (L1 + 0.05) / (L2 + 0.05), где L1 — более светлый цвет, а L2 — более тёмный. Число 0.05 означает немного рассеянного света, который всегда попадает в глаз, и оно не даёт отношению стать бесконечным для чёрного. Коэффициенты идут от 1:1, цвет против самого себя, до 21:1, чёрный против белого: (1 + 0.05) / (0 + 0.05) = 21. Для #767676 на белом яркость 0.1812, значит, отношение 1.05 / 0.2312 = 4.54.

Вот весь расчёт для синего #2273c3 из урока 2, rgb(34 115 195). После деления на 255 каналы равны 0.1333, 0.4510 и 0.7647. Все три выше 0.04045, поэтому каждый проходит через степенную формулу, давая 0.0160, 0.1714 и 0.5457. После взвешивания получается 0.0034 от красного, 0.1226 от зелёного и 0.0394 от синего, а сумма — яркость 0.1654. На белом отношение 1.05 / 0.2154 = 4.87, так что этот синий проходит AA для основного текста на белой странице. На чёрном оно 0.2154 / 0.05 = 4.31, чуть не хватает.

Белый текст на восьми серых фонах; для каждого серого указан коэффициент контраста с белым. Только более тёмные серые достигают 4.5:1.

Пороги

WCAG 2.2 превращает отношение в индикаторы «Проходит» и «Не проходит». Критерий успеха 1.4.3 уровня AA требует минимум 4.5:1 для обычного текста и 3:1 для крупного текста. Крупным считается текст не меньше 18 пунктов или 14 пунктов полужирным; WCAG отмечает, что для обычных шрифтов основного текста это примерно 1.5 em и 1.2 em полужирным. Критерий 1.4.6 уровня AAA поднимает планку до 7:1 и 4.5:1. Критерий 1.4.11 требует 3:1 для тех частей кнопок, полей форм и значков, которые людям нужно видеть. Чисто красный #ff0000 на белом даёт 4.00:1, что нормально для крупного заголовка, но не проходит для основного текста. Синий #0000ff на белом даёт 8.59:1 и проходит везде.

Ещё один полезный факт следует из формулы. У цвета с яркостью около 0.179 одинаковый контраст и с белым, и с чёрным, около 4.58:1. Если цвет темнее, на нём лучше читается белый текст; если светлее, то чёрный. Панель под моделью показывает оба отношения и называет лучший выбор.

Коэффициент контраста = (L1 + 0.05) / (L2 + 0.05). Основному тексту нужно 4.5:1, крупному 3:1, основному тексту AAA 7:1.

AA, обычный текст (1.4.3)4.5:1
AA, крупный текст (1.4.3)3:1
AAA, обычный текст (1.4.6)7:1
Значки и границы полей форм (1.4.11)3:1
Крупный текст18 pt или 14 pt полужирным
Чёрный на белом21:1, максимум
Главное
  • Относительная яркость: линеаризуй каждый канал, затем 0.2126 R + 0.7152 G + 0.0722 B.
  • Коэффициент контраста = (L1 + 0.05) / (L2 + 0.05), от 1:1 до 21:1.
  • AA: 4.5:1 для основного текста, 3:1 для крупного текста и частей интерфейса. AAA: 7:1 для основного текста.
  • #767676 на белом — 4.54:1 и проходит; #ff0000 на белом — 4.00:1 и не проходит для основного текста.
  1. Каков коэффициент контраста чёрного на белом?
  2. Каков наименьший возможный коэффициент контраста?
  3. Коэффициент контраста #767676 на белом, до 2 знаков после точки? (Его яркость 0.1812.)
  4. Какой минимальный контраст WCAG 2.2 AA требует для обычного основного текста?
  5. Коэффициент контраста чисто красного #ff0000 на белом, до 2 знаков после точки? (Яркость 0.2126.)
  6. Красный #ff0000 на белом (4.00:1) подходит для…
    • Только крупных заголовков
    • Основного текста на уровне AA
    • Основного текста на уровне AAA
    • Ни для чего
  7. У какого канала самый большой вес в относительной яркости?
    • Зелёный
    • Красный
    • Синий
    • Все равны
  8. Что считается крупным текстом в WCAG?
    • 18 pt или 14 pt полужирным
    • 12 pt полужирным
    • 16 px обычным
    • Любой заголовок
  9. Какой коэффициент контраста требует WCAG для значков и границ полей форм (1.4.11)?
  10. У жёлтого текста #ffff00 на белом коэффициент контраста около 1.07:1. Что это значит?
    • Он почти не читается
    • Он проходит AA
    • Он проходит AAA
    • Это лучшее из возможных
  11. До мая 2021 года какой порог использовала формула яркости WCAG вместо 0.04045?
    • 0.03928
    • 0.05
    • 12.92
    • 0.055
Источники курса (14)
  • W3C, Web Content Accessibility Guidelines (WCAG) 2.2, relative luminance (0.04045 threshold, note on the pre-May-2021 value 0.03928)
  • contrast ratio (L1 + 0.05) / (L2 + 0.05)
  • range 1:1 to 21:1, SC 1.4.1 Use of Color, 1.4.3 Contrast (Minimum) 4.5:1 and 3:1 for large-scale text (18 pt, or 14 pt bold)
  • 1.4.6 Contrast (Enhanced) 7:1 and 4.5:1, 1.4.11 Non-text Contrast 3:1, WCAG 2.1 published June 2018 (w3.org/TR/WCAG22/)
  • W3C, CSS Color Module Level 4, hex notation, hsl with 0deg red, 120deg green, 240deg blue, hsl(60deg 100% 50%) yellow vs hsl(240deg 100% 50%) blue at the same HSL lightness, hue spacing not perceptually uniform, HSL as a cylindrical model (w3.org/TR/css-color-4/)
  • OpenStax College Physics 2e, 26.3 Color and Color Vision: about 6 million cones of three types, red + green gives yellow, no unique set of primaries (openstax.org/books/college-physics-2e/pages/26-3-color-and-color-vision)
  • OpenStax Introduction to Behavioral Neuroscience, 6.2 The Retina: RGB pixels, CMY inks plus black, red-green colour blindness in about 8% of males (openstax.org/books/introduction-behavioral-neuroscience/pages/6-2-the-retina)
  • Smithsonian Libraries, Color in a New Light, The Science of Color: Newton's prism experiments from the 1660s, Opticks 1704, Le Blon's Coloritto (London, about 1722) and the distinction between material colours and coloured light (library.si.edu/exhibition/color-in-a-new-light/science)
  • The Newton Project (University of Oxford)
  • Opticks 1704, Book I Part II Prop. VI: colour circle divided into seven parts in musical proportion, white at the centre (newtonproject.ox.ac.uk/view/texts/normalized/NATP00034)
  • History of Information and Wikimedia Commons file record, Maxwell's 1861 Royal Institution demonstration, tartan ribbon photographed by Thomas Sutton through red, green and blue filters and projected together (historyofinformation.com/detail.php?id=3666)
  • LibreTexts, Coalinga College Drawing Basics 8.4 Color Theory: complementary, analogous, split-complementary, triadic, tetradic (human.libretexts.org)
  • RMIT Colour Theory, Interactive colour wheel and colour relationships (rmit.pressbooks.pub/colourtheory1)
  • University of Delaware Library, Graphic Design guide, Color Schemes, 60/30/10 rule (guides.lib.udel.edu/design/color).

Проверено: 2026-10-17