Стандартный API разбора CSS-кода

Даниэль Глазман анонсировал начало работы над спецификацией программного интерфейса (API) для синтаксического разбора (парсинга) CSS-кода — CSS Parser and Tokenizer API. Предполагается, что соавторами спецификации станут Шэйн Стивенс, Брайан Карделл и вездесущий Таб Аткинс.

В настоящее время такой разбор в веб-приложениях приходится осуществлять средствами чистого JavaScript, и соответствующие реализации либо являются слишком объёмными, медленными и подверженными ошибкам, либо сильно ограничены в возможностях.

Наличие стандартизованного CSS-парсера, встроенного в браузер и доступного в JavaScript-сценариях, позволило бы значительно упростить веб-приложения, нуждающиеся в такой возможности, и радикально повысить их быстродействие.

Остаётся надеяться, что спецификация будет успешно разработана в разумные сроки и дойдёт до реализации в браузерах (пока всё «на тонких нитках») и при этом API будет достаточно универсальным и пригодным для разбора любых базовых CSS-конструкций — вне зависимости от того, поддерживается ли конкретная сущность (свойство, значение, @-правило или что-либо ещё) конкретным браузером, и наличие слова Tokenizer в озвученном названии спецификации вселяет такую надежду.

Обновлено (): спустя полтора года в наличии лишь заготовка спецификации, а некоторая реальная работа началась (спецификацией это пока не назовёшь) в GitHub-репозитории WICG.