Обратитесь к спецификации: что ее предваряет?

Перевод заметки приглашенного эксперта Рабочей группы CSS Rachel Andrew к серии Refer to the spec.

Это первая заметка серии, где мы рассматриваем спецификацию CSS раскладки гридов. Мы начнем с самого начала: со всего того, что предваряет спецификации CSS.

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

Где спецификация?

Вот последняя версия спецификации CSS-гридов уровня 1. На момент написания этой статьи вышел кандидат в рекомендацию, опубликованный 9 февраля 2017 года. Вы можете найти ссылки на предыдущие версии спецификации под заголовком «Предыдущие версии» («Previous Versions»).

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

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

Кто изменяет спецификацию?

В каждой спецификации CSS есть редакторы. Спецификацией гридов занимаются Tab Atkins из Google, Elika J. Etemad / fantasai — приглашенный эксперт, и Rossen Atanassov из Microsoft.

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

Однако люди, не являющиеся редакторами спецификаций, также вносят изменения в них. В большинстве случаев они поднимают проблему, а редакторы вносят изменения. Но все спецификации лежат на GitHub, поэтому в любой момент может появиться пулреквест с добавлением примера или исправлением ошибки. Редакторы просмотрят этот пулреквест, попросят внести в него изменения или, возможно, объединят его с собственными изменениями. Позднее в спецификации вы встретите раздел с благодарностями, где отражается информация о вкладе людей, не являющихся редакторами.

Рабочая группа CSS осуществляет свою деятельность открыто. Если вы задаетесь вопросом, почему было принято то или иное решение, вы можете покопаться в архивах www-style, где размещается протокол каждой личной встречи Рабочей группы или еженедельной связи по телефону. Если вы хотите прокомментировать спецификацию, комментируйте или создавайте issue на GitHub. Чтобы сделать это, вам не нужно быть членом Рабочей группы CSS: участие людей извне очень приветствуется.

Краткое описание

Под разделом документа «Краткое описание» («Abstract») вы найдете максимально обобщенное описание спецификации гридов и CSS в целом. Это очень краткий обзор для чего-то размером с Гриды!

Каков текущий статус спецификации гридов?

Раздел документа «Статус» («Status») ссылается на множество материалов о патентах и работе W3C, которые, вероятно, не очень интересны веб-разработчику. Однако он также включает информацию и о том, какое место текущий документ занимает в работе W3C.

CSS раскладка гридов уровня 1 теперь является Кандидатом в рекомендацию (CR), о чем я уже рассказывала в своем блоге. Понимать статус спецификации очень полезно, потому что это дает вам понимание, изменится технология, о которой вы читаете, или нет.

В спецификацию гридов уровня 1 на нынешнем этапе могут быть внесены только незначительные изменения. И дело не только в том, что спецификация находится в статусе CR, но и в том, что у нас есть совместимые реализации с большей частью спецификации. Имплементации важны для любой спецификации: они свидетельствуют, что спецификация имеет смысл и может быть реализована в более чем одном браузере.

Группа риска

В спецификации есть раздел «С риском» (at-risk) — это требование для совместимых реализаций. Функциональность (фича) может быть вынесена из спецификации, чтобы позволить ей иметь две реализации. Это не означает, что фича отбрасывается навсегда или ее обсуждение прекратилось. Если вы сравните версию спецификации от 9 февраля с текущим редакторским черновиком, вы увидите, что субгрид (subgrid), одна из фич c риском, выведен из спецификации уровня 1, однако эта функциональность обсуждалась на личной встрече и ожидает публикации в спецификации гридов уровня 2.

Теперь вы знаете!

Итак, теперь вы знаете, что предваряет спецификации CSS, и некоторые ключевые моменты, на которые стоит обращать внимание. В следующей заметке мы рассмотрим раздел «Введение» («Introduction») спецификации.


Слушайте наш подкаст в iTunes и SoundCloud, читайте нас на Medium, контрибьютьте на GitHub, общайтесь в группе Telegram, следите в Twitter и канале Telegram, рекомендуйте в VK и Facebook.

Заметка на GitHub