w3c что это такое
Как работает W3C, и что там делает Яндекс? Интервью с Чарльзом МакКэтиНевилом
В конце августа Яндекс вступил в World Wide Web Consortium. Тогда, в том числе в посте на Хабре, нам задали много вопросов о том, зачем нам W3C, и что мы там собираемся делать.
Нашим представителем в W3C стал Чарльз МакКэтиНевил, и я воспользовался его приездом на YaC 2012, чтобы задать часть этих вопросы вживую.
Чарльз занимается стандартами Веба в W3C почти 14 лет. Раньше он был директором по веб-стандартам в Opera Software, а с июля 2012 года работает в Яндексе, учит русский язык и даже ведёт по-русски свой русскоязычный твиттер.
Кстати — если у вас есть вопросы к Чарльзу, которые мы ещё не задали, — смело задавайте их в комментариях. Обещаю получить у него ответы на стоящие и добавить их в интервью и/или ответить в комментариях же.
Привет, Чарльз. Расскажи для начала, что такое W3C? Зачем мы вступили в консорциум и почему это важно Яндексу?
W3C — организация, которая разрабатывает основные стандарты Веба. Например, HTML, CSS, SVG, многие виды API. Большая часть того, что работает в браузерах или на сайтах, определяется консорциумом. Вступать в него могут и отдельные люди, и организации. В основном, участники и определяют работу W3C. Яндекс — лидер в России. Но он уже и глобально является значимым игроком в интернете, поэтому должен — и будет — влиять на то, как разрабатываются стандарты Веба. Ведь в процессе создания новых сервисов мы находим и новые пути того, как их делать. Что-то из этого — новое только в рамках Яндекса, но есть вещи, которые должны определять и то, каким будет Веб. Нам важно показать их другим, важно, чтобы они стали стандартом в интернете. Это то, чем давно занимаются другие компании. И они могут прийти и предложить свои разработки, которые нам придётся использовать. Поэтому мы хотим сами создавать технологии, которые нам нужны и важны.
И что самое важное мы должны делать в таком случае?
Что самое важное? Всё самое важное. Я глава рабочей группы Web Applications, которая разрабатывает много стандартов API. Например, XMLHTTPRequest. Он сам существует уже несколько лет, но никакого стандарта для него не было. Как и хорошей спецификации, которую бы все понимали и реализовывали одинаково. Мы такую почти написали. Простые штуки: ElementTraversal и QuerySelector. Это примеры небольших спецификаций, которые делают веб-разработку проще. Дальше — другие типы подобных вещей и API. Это то, что важно нам. HTML. HTML5. HTML 5.1 — именно так назовут следующую версию — важная задача для W3C сейчас. И для нас имеет значение, что попадёт в неё, а что — нет. Конечно, мы можем как участвовать в каких-то конкретных обсуждениях, так и нет. Но любом случае у нас есть возмоность посмотреть на то, над чем люди работают и сказать: «Круто, продолжайте». Нет проблем. Но на что-то другое, мы можем сказать: «Нет-нет!» Бывает так, что важно, чтобы что-то делалось каким-то одним способом, но никак не другим. Это может относиться и к развитию CSS или SVG.
Как вообще работает W3C? Как там всё происходит?
Участник W3C говорит: мы хотим кое-что сделать. Конкретный пример — геолокация. Кто-то сказал: мы бы хотели, чтобы на Вебе работала геолокация. В этом, например, была заинтересована пара браузеров и пара телекоммуникационных компаний. Были люди, которые уже занимались этим вопросом, так что уже существовали конкретные идеи. Они создали рабочую группу — фактически почтовый список рассылки. Определили главу группы, который будет координировать её работу. После этих процедур участники W3C, которые заинтересованы в технологии, начинают спорить о том, как она должна быть устроена. Пишут спецификацию, выкладываю публично её проект. Все говорят: о нет, так делать нельзя, нужно всё поменять! И дальше всё перетряхивается и меняется. Когда рабочая группа решает, что всё готово, она показывает результаты всем на свете. Большая часть работы консорциума и так публична. Но в W3C в процессе работы над спецификацией есть стадия, на которой явно говорят: сейчас последний момент, когда мы принимаем комментарии от публики. А ответы буду даны на каждый вопрос. Это довольно большая работа. И большая ответственность.
Долгий ли это процесс? Бывает по-разному. Если работу по подготовке спецификации сделали хорошо, всё пройдёт очень быстро. В таких случаях не бывает комментариев и возражений. Если же спецификация очень спорная или очень значимая, — например, как HTML5, — это может занять и несколько лет. После этого вы должны доказать, что можете сделать рабочую реализацию своей спецификации. В идеале кто-то должен был реализовывать её ещё в тот момент, когда она писалась.На самом деле, на этой стадии некоторые спецификации уже практически реализованы в пяти разных браузерах. Ещё до того как они их сами попробуют и протестируют. Бывает, что к спецификациям не готовы подходящие реализации, и в этом случае нужно действительно доказывать, что они работают. После этого всё завершается. Можно объявлять себя победителем и устраивать праздник. А после начинать работу над версией X.1 или X+1.
Кто решает, в какой момент прекращать принимать комментарии к спецификации?
В принципе, рабочая группа. Она принимает решения о спецификации. И её ответственность в том, чтобы следить за тем, что она на себя взяла. Сами решения принимаются по-разному. Иногда кому-нибудь очень нужно, чтобы спецификация вышла быстро. И рабочая группа говорит: слушайте, сейчас мы собираемся сделать очень простую первую версию, а потом уже займёмся второй. А иногда они говорят: мы собираемся делать только одну версию, которая не будет меняться, поэтому будем шлифовать спецификацию, пока она не станет идеальной. Это никогда не работает, но люди продолжают пытаться. То, что всё готово для того, чтобы перейти на финальную стадию, решает рабочая группа.
В теории структура W3C очень-очень демократична. На самом деле, она такая и на практике. В теории все решения принимает директор W3C Тим Бернерс-Ли. Во всём надо убеждать его. Расскажу, как на практике. Рабочая группа собирает встречу с её председателем и всеми остальными. Они достают все свои документы, приносят письма из рассылки. И говорят: вот все комментарии, которые мы получили. Мы ответили на все. Обычно W3C работает до достижения консенсуса — все должны быть счастливы. Если кто-то возражает — даже один человек — и настаивает на своём, этого достаточно, чтобы Тим изучил это возражение и сказал: «Этот чувак говорит ерунду и все в рабочей группе — 17 разработческих компаний, 22 производителя контента и ещё три человека — считают так же и уже реализовали это всё иначе». Или он скажет: «Знаете, а он говорит осмысленные вещи, и мы действительно можем сделать это и так, как он предлагает». Как пример, возражения по поводу доступности для людей с ограниченными возможностями. Допустим, вам нужно выбрать между решениями А и Б, а одно из них усложнит создание версий для этой категории людей. В таком случае Тим может сказать: «Технически можно делать обоими способами, но делать на Вебе что-то так, что не позволит большой части людей этим пользоваться из-за ограниченных возможностей или из-за недостаточной универсальности, будет глупо». Подобные возражения он считает серьёзными и в таких случаях говорит рабочей группе устранить проблему.
И как часто Тим так делает на самом деле?
Очень редко возражения, возникшие в начале работы, сохраняются до её конца. Обычно такое случается только с очень большими вещами вроде HTML. Самыми основными и фундаментальными. В большинстве случаев участники заранее говорят, что будут возражать. И если рабочая группа считает замечания разумными и существенными, то обычно она старается их учесть до того, как они дойдут до Тима.
А кто вообще состоит в W3C?
Есть три типа участников. Участники-стартапы — таких из России нет вообще. Это новый тип, так что стартапов и со всего мира пока мало. Есть ассоциированные участники. Обычно ими становятся небольшие компании, исследовательские и некоммерческие организации, университеты. И полноценные участники, среди которых большие компании вроде Яндекса. На самом деле, отличие только в том, сколько вы платите за членство. Чем компания больше, тем больше ей нужно платить. Мы — единственный полноценный участник из России. И то стали им совсем недавно. Всего у W3C более 400 участников со всего мира. Большинство из них, пожалуй, технологические компании. Хотя есть и заметное число университетов и исследовательских групп. Также там много небольших компаний.
И для чего они вступают в W3C?
Участниками W3C становятся те, кому важны технологии. Они имеют значение для них. Если что-то сломается, у них будут проблемы. Поэтому они присоединяются к W3C — чтобы иметь возможность влиять на процесс. И для того чтобы понимать, что происходит, что делают другие ребята. Все самые большие технологические компании являются участниками W3C. Хотя случаются и странности. Opera — одна из самых маленьких компаний среди тех, что делают свой браузер. На самом деле, она зарабатывает даже меньше денег, чем Mozilla Foundation. И при этом Opera — один из самых больших и важных участников W3C. Она участвует в его работе на том же уровне, что Microsoft или IBM — как самые большие игроки.
Но в W3C есть и, например, организации слепых: Fundación ONCE из Испании или Royal Naional Institute of the Blind из Великобритании. Они в W3C потому что хотят, чтобы Веб был доступен слепым людям. Потому что это те самые люди, интересы которых они защищают. Ещё бывают компании вроде «Боинга». Да, они производят самолёты, но там работает 250 000 сотрудников. И все они используют в своей работе Веб и технологии оттуда. Так что им важно, чтобы некоторые вещи продолжали работать правильно. Например, они большие фанаты SVG. И они просто сами по себе достаточно большие, чтобы технологии были им важны.
W3c что это такое
We are excited to announce an open position (possibly part-time) : Automotive & Transportation Champion, based in the USA or China, or Japan.
This is an opportunity for a global leader to drive the overall strategy of applying open web standards to the automotive & transportation ecosystem. The Champion is a thought leader who has a deep understanding of the needs of the automotive industry and a working understanding of web technology. The Champion engages with other automotive thought leaders from W3C Members and with technologists in W3C. By bringing these groups together, the Champion identifies new technology needs for the industry and identifies technical and business approaches to satisfy those needs.
W3C updates its Process Document
The W3C Membership approved the 2 November 2021 W3C Process Document, which takes effect today.
Notable changes include:
You can read more about all changes since the 15 September 2020 Process Document, read the complete disposition of comments, or peruse the diff.
This document was developed between the W3C Advisory Board and the public Revising W3C Process Community Group. Comments and feedback on the new Process Document may be sent as issues in the public GitHub Repository.
Authorized Translation of WCAG 2.1 in Arabic
The World Wide Web Consortium published the Authorized Arabic Translation of Web Content Accessibility Guidelines (WCAG) 2.1, مبادئ النفاذ إلى محتوى الويب (WCAG2.1). The Lead Translation Organization for this Authorized Translation was the Mada Center, Qatar.
Translations in other languages are listed in WCAG 2 Translations. W3C Web Accessibility Initiative (WAI) particularly encourages the development of Authorized Translations of WCAG 2.1 and other technical specifications to facilitate their adoption and implementation internationally. Read about the Policy for W3C Authorized Translations.
Last Call for Review of Proposed Corrections: Verifiable Credentials Data Model v1.1 Recommendation
The Verifiable Credentials Working Group has proposed corrections to the W3C Recommendation of Verifiable Credentials Data Model v1.1. Credentials are a part of our daily lives; driver’s licenses are used to assert that we are capable of operating a motor vehicle, university degrees can be used to assert our level of education, and government-issued passports enable us to travel between countries. This specification provides a mechanism to express these sorts of credentials on the Web in a way that is cryptographically secure, privacy respecting, and machine-verifiable.
Comments, including implementation experience, are welcome via GitHub through 18 January 2022.
First Public Working Draft: IMSC Hypothetical Render Model
The Timed Text Working Group has published a First Public Working Draft of IMSC Hypothetical Render Model. This specification specifies an Hypothetical Render Model (HRM) that measures the complexity of caption and subtitle documents that conform to the IMSC Recommendation, so that they do not overload players. For more information, see the blog post Keeping the complexity of IMSC documents under control.
Working Group Note: EPUB 3 Structural Semantics Vocabulary 1.1
The EPUB 3 Working Group has just published the Working Group Note of EPUB 3 Structural Semantics Vocabulary 1.1. This vocabulary, a part of EPUB 3, defines a set of properties relating to the description of structural semantics of written works.
Structural semantics add additional meaning about the specific structural purpose an HTML (or SVG) element plays. The epub:type attribute, defined in EPUB 3.3, is used to express domain-specific semantics in EPUB Content Documents and Media Overlay Documents, with the structural information it carries complementing the underlying vocabulary. The applied semantics refine the meaning of their containing elements without changing their nature for assistive technologies, as happens when using the similar role attribute in HTML. The attribute does not enhance the accessibility of the content, in other words, only provides hints about the purpose. This documents defines the default vocabulary that can be used with the epub:type attribute.
W3C Strategic Highlights, October 2021
W3C released today to the public the October 2021 edition of the W3C Strategic Highlights. This report highlights recent work W3C Members and the public do at the Web Consortium to enhance the Web platform, work towards its growth and strength so that the web remains a tool that has and will continue to accelerate scientific cooperation and discoveries, a social means to bridge families and friends, a way to learn online and grow skills, an instrument to conduct successful business, and much more.
You will find in this semi-annual report updates in key areas that are core to the Web platform, but also how W3C meets the needs of industry and society as a whole, how the future of Web standards is determined, and the latest information on Web for all and outreach to the world.
W3c что это такое
XHTML Каскадные таблицы стилей (CSS) Кодировки символов Сравнение движков отображения Семейство шрифтов |
---|
Консо́рциум Всеми́рной паути́ны (англ. World Wide Web Consortium, W3C ) — организация, разрабатывающая и внедряющая технологические стандарты для Всемирной паутины. Консорциум возглавляет Тим Бернерс-Ли, изобретатель HTML, информационных технологий.
Содержание
Цели и задачи
W3C разрабатывает для Интернета единые принципы и стандарты (называемые «Рекоменда́циями», англ. W3C Recommendations ), которые затем внедряются производителями программ и оборудования. Таким образом достигается совместимость между программными продуктами и аппаратурой различных компаний, что делает Всемирную сеть более совершенной, универсальной и удобной.
Миссия W3C: «Полностью раскрыть потенциал Всемирной паутины, путём создания протоколов и принципов, гарантирующих долгосрочное развитие Сети».
Более конкретная цель W3C — помочь компьютерным программам достичь способности ко взаимодействию в Сети (т. н. «сетева́я интеропера́бельность», англ. Web interoperability ). Применение единых стандартов в Сети — это ключевой шаг для достижения такого взаимодействия.
Две другие важнейшие задачи Консорциума — обеспечить полную «интернационализа́цию Сети́» и сделать Сеть доступной для людей с ограниченными возможностями. Для решения первой задачи Консорциум активно сотрудничает с организацией «Юнико́д» (англ. Unicode ) и рядом других рабочих групп, занимающихся международным сотрудничеством в Интернете и языковыми технологиями. Для решения второй задачи Консорциум не только сотрудничает с организациями соответствующего профиля, но и разработал свои собственные Рекомендации, которые сейчас активно набирают популярность.
Особенности внедрения Рекомендаций
Рекомендации Консорциума Всемирной паутины открыты, то есть не защищены патентами и могут внедряться любым человеком без всяких финансовых отчислений консорциуму. В отличие от других организаций, занимающихся разработкой стандартов для Интернета, Консорциум Всемирной паутины не имеет программ сертификации (на соответствие Рекомендациям консорциума) и не планирует их вводить, поэтому Рекомендации W3C получили гораздо большее распространение, нежели стандарты любых других организаций. В то же время, из-за отсутствия сертификации многие производители следуют Рекомендациям лишь частично. Рекомендации консорциума построены таким образом, что частичное внедрение не нарушает общих стандартов. Некоторые популярные Рекомендации имеют несколько степеней внедрения — кому как удобнее. Степени внедрения — это новое слово в сетевых стандартах, которое принесло Консорциуму Всемирной паутины и его Рекомендациям заслуженную популярность.
Рекомендации W3C зачастую хорошо проработаны и детализированы. С другой стороны, большинство Рекомендаций доступны для любых категорий пользователей — от экспертов-программистов до начинающих веб-мастеров. Кроме технических спецификаций, Консорциум также публикует много руководств и советов, облегчающих внедрение Рекомендаций. За последнее время W3C провёл огромную работу по популяризации своих стандартов, особенно в Европе.
Процесс стандартизации
Любой стандарт W3C проходит 4 стадии согласования:
и только после этого официально становится Рекомендацией W3C.
Рекомендации могут время от времени обновляться. К Рекомендациям публикуются сообщения о выявившихся ошибках и неточностях (англ. errata ). Когда накапливается достаточный запас выявленных ошибок, выходит новая, исправленная и доработанная редакция (англ. edition ) Рекомендации (например, «редакция 1.1»). В исключительных случаях вся Рекомендация может быть отозвана Консорциумом для переработки.
Для удобства пользователей Консорциумом созданы специальные программы-валидаторы (англ. Online Validation Service ), которые доступны по Сети и могут за несколько секунд проверить документы на соответствие популярным Рекомендациям W3C. Консорциумом также созданы многие другие утилиты для облегчения работы веб-мастеров и программистов. Большинство утилит — это свободные программы, все они бесплатные. В последнее время, следуя мировым тенденциям, Консорциум в целом гораздо больше внимания уделяет проектам с открытым исходным кодом.
История
Консорциум был создан в 1994 году как консультативный орган для лидеров компьютерной индустрии. Крупнейшие мировые компании и корпорации договаривались в W3C об обеспечении совместимости своих продуктов и внедрении новых технологических стандартов.
Первым крупным успехом Консорциума стала стандартизация языка гипертекстовой разметки англ. HyperText Markup Language ) в 1996 году. Дело в том, что в середине 1990-х годов ряд крупнейших производителей программного обеспечения планировал выпустить каждый свою версию языка HTML со своими названиями тегов. Разумеется, это привело бы к хаосу в Интернете, и в результате веб-страница одной компании была бы размечена совершенно не так, как страница другой компании. Из-за этого веб-браузер одной компании не мог бы отображать страницы, созданные по правилам другой компании. Именно W3C принадлежит заслуга в том, что HTML был выпущен с единым базовым набором тегов и атрибутов и веб-страницы стали такими, какими мы их знаем сейчас. Хотя полного совпадения тегов и атрибутов HTML достичь не удалось до сих пор.
Перспективы
С тех пор Консорциум Всемирной паутины проделал огромную работу, выпустив более 110 Рекомендаций за 10 лет. Членами Консорциума ныне являются более 350 организаций из 28 стран мира. На Рекомендациях W3C основаны тысячи программ и сотни миллионов файлов в сети Интернет. В настоящее время Консорциум является, пожалуй, самой авторитетной организацией в области стандартизации Всемирной паутины.
Дальнейшее развитие Интернета Консорциум Всемирной паутины связывает с концепцией семантической паутины. Семантическая паутина — это надстройка над существующей Всемирной паутиной, которая призвана сделать размещённую в Сети информацию более понятной для компьютеров. Тогда программы смогут сами находить нужные ресурсы, обрабатывать информацию, обобщать данные, выявлять логические связи, делать выводы и даже принимать решения на основе этих выводов. При широком распространении и грамотном внедрении семантическая паутина может вызвать революцию в Интернете.
Структура консорциума
Общую администрацию Консорциума Всемирной паутины осуществляют 3 организации:
Членом Консорциума может стать юридическое или частное лицо, занимающееся веб-технологиями и заинтересованное в развитии Интернета. Основным источником финансирования Консорциума являются членские взносы. Членами Консорциума уже являются более 350 организаций.
Международную координацию осуществляют так называемые «офисы W3C» (англ. W3C Offices ), которые созданы уже в 14 странах мира. Время от времени Консорциум Всемирной паутины также устраивает международные конференции.
Процесс выработки Рекомендаций проходит в специальных группах. Рабочие и исследовательские группы Консорциума включают штатный персонал, представителей организаций-членов и приглашённых экспертов. С предложениями в адрес рабочих групп может выступить любое лицо, даже не члены W3C.
W3C или WHATWG
Есть две спецификации HTML: W3C и WHATWG, какой из них верить?
Верьте той, которая больше нравится, но не забывайте сверяться с браузерами.
Спецификация — это главный источник знаний: как для браузеров, так и для разрабочиков. Браузеры обрабатывают код по спеке, разработчики пишут код по спеке — и у нас всё вместе хорошо работает. Это называется «веб-стандарты» и вы не хотите знать, насколько всё было плохо до их широкого признания.
W3C — это консорциум всемирной сети, такая некоммерческая организация, в рамках которой разрабатывают технологии, на которых работает веб. WHATWG — это независимая рабочая группа по технологиям гипертекстовых веб-приложений, которую собрали в рамках W3C в середине 2000-х. Собрали не просто так, а по делу.
Когда-то в W3C решили отказаться от спецификации HTML 4 и начать разрабатывать XHTML, более строгую, формальную и, как потом стало ясно — слишком оторванную от реальности. В ответ на это собралась WHATWG, в которую вошли представители браузеров. Благодаря этому появилась спецификация HTML 5 со множеством по-настоящему полезных вещей. От XHTML осталась только привычка закрывать теги и кавычить атрибуты.
После выхода HTML 5 из рук WHATWG, спецификация пошла по формальному пути к рекомендации W3C и достигла её в 2014 году. Но по дороге что-то пошло не так и между WHATWG и W3C возникли разногласия. Из-за этого начали появляться различия между версиями. В 2011 году WHATWG вообще отказалась от нумерации HTML и начала разрабатывать спецификацию как живой стандарт, в духе вечнозелёных браузеров.
В итоге, сейчас у нас есть две спецификации: рекомендация HTML 5.1 по W3C и живой стандарт HTML по WHATWG. И у каждой — свои цели: HTML5 делает снимки реальности, нумерует их и выпускает рекомендации. Это отвечает на вопрос разработчиков: что уже есть в браузерах? WHATWG, напротив, старается опередить реальность, предложить что-то новое и предсказать изменения. Это уже ближе к задачам браузеров.
Так в чём же противоречия? Например, W3C рекомендует иметь всего один элемент main на странице, приравнивая его к ARIA-роли main. Это помогает скринридерам находить самое главное на странице. WHATWG допускает main в любом структурном элементе, как главную его часть, на манер header и footer.
Из спецификации W3C убрали элемент hgroup, объясняя это отсутствием реализаций в браузерах, слабыми примерами использования и потенциальными проблемами. Вместо него рекомендуют обычный header и параграф для подзаголовка. В версии WHATWG элемент hgroup на месте — раз уж добавили, то чего убирать.
Спецификация W3C также приводит расширенные примеры, рекомендации к использованию и развивает семантику элементов. HTML 5 поясняет важность уровней заголовков, рекомендует figcaption вместо атрибута title для картинок, объясняет как использовать alt, осуждает, но разрешает таблицы для раскладки, если есть role=»presentation» и так далее.
Вы наверное уже поняли, что мне версия W3C нравится больше. Прочная связь со спецификациями по доступности, большее количество примеров и недавний переезд на Гитхаб — очень подкупают. По-моему, у WHATWG просто отлично получаются другие спецификации: DOM, Canvas, Fetch, URL и многие другие.
Плохо, что у нас есть две спецификации вместо одной? Да. Так почему не объединить их в одну? М-м, это вряд ли: слишком уж разные подходы к разработке. Но знаете, всё не так плохо: это просто две площадки для дискуссий со своими правилами, куда приходят представители всех браузеров, комитетов и групп, чтобы так или иначе развивать веб. И вы приходите — всё на Гитхабе.
Какой спецификации верить? Слепо — ни одной, ориентируйтесь на реализации в браузерах и на практическую ценность. Если вы о ней не знаете, не значит, что её нет. Выберите ту спеку, которая больше нравится и обращайтесь к ней почаще — они написаны для вас.