
Просто рыжий кот. Или он цвета #FFCC33?
В разделе «Named Colors» последней версии спецификации CSS представлен список из 141 стандартного цвета. Каждый из них имеет как уникальный код, так и текстовое наименование. В этот перечень входят не только базовые цвета, такие как «чёрный» и «белый», но и менее очевидные оттенки — например, «лимонный шифон», «коралловый» или «шоколадный».
На первый взгляд названия могут показаться причудливыми или даже поэтичными. Возникает закономерный вопрос: как подобные обозначения появились в такой системной области, как разработка CSS?
Истоки наименований цветов восходят к 1980-м годам и связаны с развитием X Window System (X) — графического интерфейса, активно применявшегося в Массачусетском технологическом институте с 1984 года. Первоначальный список цветов был сформирован в июне 1986 года, после адаптации интерфейса под работу на терминале VT240. В начальную палитру входило 69 базовых цветов и оттенков, представленных в 138 вариантах с учётом регистра (например, «darkred» и «DarkRed» считались разными цветами).
В 1988 году в релизе X11R2 были добавлены три новых цвета, среди которых оказались два идентичных по оттенку, но отличающихся написанием: «gray» и «grey». Как позже пояснил разработчик Алекс Секстон на одной из JavaScript-конференций, дублирование возникло из-за того, что сотрудники Hewlett-Packard неоднократно путались в написании слова «серый». Чтобы избежать ошибок при программировании, было принято решение включить оба варианта.
Существенные изменения в наборе именованных цветов произошли с выпуском X11R4 в 1989 году, подготовленным Полом Равелингом. Обновление было вызвано жалобами пользователей на некорректную цветопередачу, обусловленную аппаратными особенностями дисплеев того времени. Разнообразие мониторов приводило к тому, что один и тот же цвет отображался по-разному. Критическая ситуация возникла после того, как один из коллег Равелинга эмоционально отреагировал на один из оттенков словами: «ЭТО пшеница?!?!».
В ответ на эти замечания Равелинг пересмотрел палитру, добавив так называемые «мягкие» или «нейтральные» оттенки. Он также присвоил цветам отличительные имена, такие как «Papaya Whip», «Lemon Chiffon», «Blanched Almond» и «Peach Puff». При выборе названий он ориентировался на цветовую гамму продукции ныне несуществующей компании Sinclair. Попытка согласовать стандарты с Американским национальным институтом стандартов (ANSI) не увенчалась успехом: несмотря на уплату регистрационного взноса, организация не дала официального ответа. В итоге Равелинг провёл цветовую калибровку самостоятельно, используя оборудование Hewlett-Packard.
Казалось бы, при чём тут детские мелки?
Параллельно с работой Равелинга, в 1989 году Джон С. Томас внёс вклад в развитие палитры X11, предложив более выразительные оттенки. Получив письмо от коллеги Брюса Шухардта, в котором содержалась критика существующих RGB-настроек — «розовый» был описан как «цвет лица после многократной рвоты» — Томас решил стандартизировать названия цветов на более понятной основе. Он обратился к палитре 72 мелков Crayola, популярных в США.
В результате в систему были включены такие цвета, как «Aquamarine», «Orchid», «Salmon» и другие, заимствованные из названий мелков. Это позволило сформировать более разнообразную и интуитивно понятную цветовую базу.
Слева — набор оттенков, предложенных Джоном С. Томасом. Он добавил яркие цвета, используя названия и цветовую палитру мелков Crayola. Справа — структура распределения цветов от Равелинга.
В 2001 году World Wide Web Consortium (W3C) опубликовал черновой вариант Color Module CSS 3, в котором также присутствовали именованные цвета. Несмотря на развитие технологий и устаревание ряда оттенков, было принято решение сохранить их ради совместимости. Такие цвета поддерживались всеми основными браузерами и применялись в тестировании корректности отображения на разных устройствах и платформах.
Однако использование этих цветов вызвало споры. Некоторые специалисты критиковали палитру за непоследовательность. Например, «темно-серый» оказался светлее обычного «серого». В базе присутствовал «средне фиолетово-красный», но отсутствовал просто «фиолетово-красный». Аналогично, был добавлен «светло-золотисто-жёлтый», в то время как «золотисто-жёлтый» не использовался вовсе.
В общей сложности 17 цветов имели тёмные версии, а светлые — только 13. Кроме того, наблюдался дисбаланс в распределении оттенков: палитра была насыщена красными и зелёными цветами, но испытывала дефицит в синей и бирюзовой гамме.
Один из самых резких откликов на введение цветовых названий в CSS поступил от программиста Стивена Пембертона, который в 2002 году написал: «Названия цветов в X11 — это мерзость, которая должна была быть задушена при рождении, а добавление этих цветов в CSS является не иначе как пятном на его отличном дизайне. Сказать, что имена цветов в X11 были „разработаны“, — это оскорбление самого слова „разработка“. Это просто бардак».
Кроме чисто технических замечаний, появилось и множество культурных и этических вопросов. Некоторые разработчики выразили недовольство названиями, отсылающими к культурным реалиям США. Примером может служить «dodger blue» — оттенок, связанный с формой бейсбольной команды Los Angeles Dodgers . Более серьёзные споры вызвали такие наименования, как « navajo white» и «indian red», в которых были усмотрены признаки расовой или этнической некорректности. В частности, «indian red» первоначально использовался как название оттенка в палитре мелков Crayola, но позднее был переименован в «chestnut» в ответ на общественную критику.

Переименование цвета мелка Crayola: до и после
Скептически настроенные участники сообщества также указывали на излишнюю англоцентричность цветовых наименований, затрудняющую понимание со стороны разработчиков, не владеющих английским языком. Так, французский разработчик и сопредседатель рабочей группы CSS Даниель Глазман отметил: «Я не являюсь носителем английского языка. А теперь представьте мою реакцию, когда я впервые увидел цвет „gainsboro“ (видимо, имеется в виду отсылка к работам английского живописца XVIII века Томаса Гейнсборо ) , или „papaya whip“».
Критики указывали, что всех этих проблем можно было бы избежать, используя исключительно формальные способы задания цветов — такие как шестнадцатеричные коды (#FFFF00) или числовые значения RGB (255,255,0). Такой подход обеспечивает точность и универсальность при передаче цветовой информации. Возникает вопрос: почему с самого начала не был принят именно этот метод?
Ситуацию прокомментировал Джим Фултон, который учился в Массачусетском технологическом институте в то время, когда Роб Равелинг и Гари Томас создавали исходный список цветов: «Названия цветов были выбраны, потому что большинству людей удобнее мыслить аналогиями, а не шестнадцатеричными кодами. Им проще представить себе „salmon“ или „goldenrod“, чем #FA8072 или #DAA520». При этом он признаёт, что «не каждая идея является удачной».

140 из 141 стандартных цветов CSS. Не хватает rebecca purple, #663399
В 2014 году перечень стандартных CSS-цветов пополнился новым оттенком — «rebecca purple». Он был добавлен в память о шестилетней Ребекке Майер, дочери известного специалиста по CSS Эрика Майера , скончавшейся от опухоли мозга. Цвет #663399 был выбран как её любимый оттенок. Несмотря на благие намерения, инициатива вызвала споры: часть разработчиков выразила мнение, что стандарт не должен включать элементы, связанные с личными историями или эмоциями. Однако большинство сообщества встало на сторону Майера, осудив подобную критику как бесчувственную.

Rebecca purple — спорный, но эмоционально значимый 141-й цвет
Многие разработчики соглашаются с тем, что коды обеспечивают лучшую совместимость и точность. Однако на практике, особенно на ранних этапах изучения CSS, использовать названия проще — «tomato» воспринимается и набирается быстрее, чем «#FF6347». Названия часто применяются в учебных примерах, прототипах или просто ради юмора.
«Я до сих пор использую именованные цвета как форму развлечения», — отмечает Джим Фултон. — «Но если взглянуть на HTML-код топ-1000 сайтов, то вы вряд ли встретите даже такие простые названия, как „white“ или „black“.»
Алекс Секстон добавил: «Когда я демонстрирую работу с шестнадцатеричными значениями, я могу использовать #C0FFEE или #BADA55. Но ведь это уже недалеко от того самого „papaya whip“».
Возникает закономерный вопрос: если цветам присваивались нестандартные имена, почему именно это вызвало столь бурную реакцию среди разработчиков? Возможно, дело в том, что программисты снова оказались на малоизведанной территории — как и их предшественники в 1980-х годах. В условиях ограниченного визуального инструментария им приходилось импровизировать и искать новые подходы.
«Тогда мы, по сути, только начинали осваивать графику для домашней компьютерной индустрии», — вспоминает Фултон. — «Это было зарождение эпохи цветных дисплеев и визуального программирования».