Следующее переиздано из Tech Times # 164 .
Поскольку я просто не получал достаточно электронной почты (ха!), Я присоединился к новой рабочей группе W3C по HTML в прошлом месяце.
Почти полгода назад Тим Бернерс-Ли (Tim Berners-Lee) объявил, что W3C сформирует новую рабочую группу для разработки следующей версии спецификации HTML, а также возобновит усилия по завершению работы над XHTML 2.0.
Теперь, когда новая рабочая группа активно работает, в этом блоге будет рассказано о достигнутом прогрессе, возникших проблемах и о том, чего нам следует ожидать от следующей версии HTML.
Новая рабочая группа
В отличие от большинства рабочих групп W3C, устав новой рабочей группы HTML приветствует контроль и участие широкой общественности. Любой может присоединиться к рабочей группе , опубликовать список рассылки , принять участие в телеконференциях и проголосовать за то, что входит в окончательную спецификацию.
А еще лучше, что нет минимального уровня участия, поэтому, если у вас есть время, чтобы следить за списком рассылки и голосовать по интересующим вас вопросам, это тоже хорошо.
В настоящее время рабочую группу с хорошим юмором возглавляют Крис Уилсон (Microsoft / Internet Explorer) и Дэн Коннолли (W3C), которые делают все возможное, чтобы выжать консенсус из примерно 1000 сообщений электронной почты в неделю, которые публикуются по составу рабочей группы.
В группе также принимают участие представители Mozilla Foundation, команды Apple Safari, команды браузеров Opera и знакомые лица из рабочей группы по технологии веб-гипертекстовых приложений (WHAT), которая самостоятельно выполнила задачу обновления HTML перед новым W3C. рабочая группа была создана.
Официально, первая цель группы — подготовить рабочий проект некоторого описания (даже если это просто дорожная карта для дальнейшего развития) к концу июня. Это должно стать первым шагом на пути к завершенной спецификации к концу 2010 года. Чтобы это произошло, группе нужен был один или несколько редакторов для составления и ведения документов, подготовленных группой.
Сюрприз предложение
Однако перед началом поиска представители Mozilla, Apple и Opera выступили с предложением принять черновой вариант спецификации HTML5 рабочей группы WHAT в качестве отправной точки для дальнейшего развития HTML в W3C.
После немалых дискуссий рабочая группа W3C по HTML сегодня проголосовала за принятие предложения со следующими конкретными результатами:
- HTML5 рабочей группы WHAT ( Web Applications 1.0 и Web Forms 2.0 ) станет текущим рабочим проектом, и теперь будет проведен обширный обзор новой рабочей группой.
- Окончательная спецификация W3C будет называться «HTML 5».
- Спецификация W3C будет отредактирована Ианом Хиксоном (Google), редактором HTML5 WHAT-WG, и Дэвидом Хаяттом (Apple / Safari).
И вот что у нас есть: вредное разделение, которое возникло между основными поставщиками браузеров и W3C, похоже, осталось в прошлом! Пока все хорошо, правда?
Конечно, впереди еще большие проблемы, и не в последнюю очередь это заставит эту большую и открытую рабочую группу согласовать, казалось бы, бесконечный список технических мелочей.
Проблемы HTML 5 на столе
Как и следовало ожидать от общедоступной группы, открытой для всех, кто увлечен веб-стандартами, новая HTML-рабочая группа W3C — шумное место. Несмотря на относительную легкость, с которой была принята HTML5 рабочей группы WHAT, на столе уже есть ряд противоречивых вопросов.
Как писал ранее на этой неделе уважаемый блоггер по веб-стандартам Роджер Йоханссон, в список рассылки Рабочей группы регулярно помещаются предложения, которые заставят разработчика, осведомленного о стандартах, вспыхнуть в холодном поту. Одним из недавних примеров было очень серьезное предложение для <indent>
с аргументом, что вам не нужно изучать CSS, чтобы делать отступы в HTML .
Вот лишь некоторые из вопросов, которые в настоящее время обсуждаются Рабочей группой …
Ломая сеть
Я ожидаю, что большинство читателей этого блога согласятся с тем, что Internet Explorer 7 является явным улучшением по сравнению с IE6, и что незначительные изменения, необходимые для обеспечения совместимости наших сайтов с новым браузером, были небольшой ценой, чтобы заплатить за это улучшение. Босс Криса Уилсона в Microsoft не обязательно согласен.
В большом сообщении для рабочей группы Уилсон объяснил реалии разработки браузера, на который полагаются сотни миллионов пользователей:
Реальность такова, что когда выпускается крупный браузер, это особенность Интернета; он способен, но не может вызывать массовые нарушения. […] IE7 действительно вызвал массовые сбои, как наглядный пример. Я отстаивал эти широко распространенные изменения, чтобы улучшить соответствие нашим стандартам. На полном серьезе, мне удалось удержаться на работе, но иногда я думаю, что просто. Я не могу пойти в свою команду и сказать «эй, мы снова сломаем сеть (и снова и снова), но это нормально, потому что это для хорошего дела». Мир так не работает. Я бы не стал ответственно выполнять свою работу — ту, в которой полмиллиарда веб-пользователей полагаются на мою команду, чтобы не нарушать совместимость со своим банковским веб-сайтом, даже если их банк не знает, как правильно использовать CSS «float» ».
Следовательно, продолжил он, Internet Explorer 8 будет вносить очень мало изменений, если таковые будут, в отображение HTML-содержимого по умолчанию . Чтобы воспользоваться преимуществами новых функций и исправлений соответствия стандартам, разработчики должны будут включить в свой код «переключатель», который говорит браузеру использовать новый режим обратной совместимости.
Это было сделано ранее, в Internet Explorer 5.5, который переключился в «режим соответствия стандартам», когда он увидел новое объявление DOCTYPE в верхней части HTML-файла. Поскольку Microsoft не ожидает добавления поддержки всего HTML 5 в одном выпуске, новый переключатель в IE8 обещает быть более детальным.
Этот тип переключателя должен быть определен в спецификации HTML? Дебаты в рабочей группе продолжаются.
Судьба презентационных элементов
<b>
и <i>
кажутся тегами представления, которые просто не умрут. В то время как их когорты <tt>
, <u>
и другие были объявлены устаревшими в HTML 4 в пользу семантически значимых тегов, таких как <strong>
и <em>
, <b>
и <i>
остаются тегами «с хорошей репутацией», вплоть до включая текущий проект HTML 5.
По словам нескольких членов рабочей группы WHAT, которые в настоящее время участвуют в рабочей группе W3C, для сохранения этих тегов необходимо, чтобы в случае их удаления наивные авторы контента начинали злоупотреблять семантически значимыми тегами. Например, кто-то, ищущий «тег курсива», обнаружив, что <i>
больше не разрешен в HTML 5, может просто начать использовать <em>
для общего применения курсива к тексту, что может повредить относительно сильное семантическое значение, которое это тег в данный момент пользуется.
Эта же логика привела к повторному включению <font>
в черновую спецификацию проекта WHAT рабочей группы HTML 5. Да, действительно! Конечно, описание тега проясняет, что его использование обычно является плохой идеей:
Элемент
font
ничего не представляет. Он не должен использоваться, кроме как редакторами WYSIWYG, которые могут использовать его для достижения презентационных эффектов. Однако даже редакторы WYSIWYG должны прилагать все усилия для использования соответствующей семантической разметки и избегать использования носителей для разметки презентации.
На этом этапе я ожидаю, что, если они останутся в окончательной спецификации HTML 5, все элементы представления будут описаны в аналогичных терминах.
Как лечить сломанную / устаревшую разметку
Большинство веб-разработчиков не осознают, что спецификация W3C HTML 4 не очень хорошо описала, что должны делать браузеры, когда они сталкиваются со сломанным кодом. Вот канонический пример:
<strong>This line <em>contains</strong> some words</em>
В XHTML этот тип перекрывающейся структуры тегов абсолютно недопустим, и браузеры, которые в настоящее время поддерживают XHTML, будут просто отображать сообщение об ошибке, а не пытаться разобраться в этом коде.
HTML, тем временем, занимает более мягкую позицию, просто заявляя, что интерпретация подобных структур выше зависит от конкретного браузера.
В реальном мире подобные капризы означали, что каждый новый браузер на рынке должен был выяснить поведение, ожидаемое от них кропотливым реверс-инжинирингом доминирующих конкурентов, таких как Internet Explorer.
Помимо расширения и расширения возможностей HTML, спецификация HTML 5 также направлена на заполнение этих пробелов, так что впервые будет существовать полная спецификация для интерпретации современного веб-контента.
В этом смысле спецификация HTML 5 обслуживает двух мастеров — производителей браузеров, которым нужно полное описание особенностей современных браузеров, и разработчиков, которым нужен лучший язык для создания веб-сайтов будущего.
Некоторые утверждают, что лучший способ создать прочную основу для будущего Интернета — это оставить позади беспорядок в HTML и создать новый язык разметки с нуля. Это именно то, чем занимается рабочая группа XHTML2 , но, учитывая гораздо меньшую заинтересованность поставщиков браузеров, многие полагают, что ее работа будет бесполезной в течение многих лет.
Расширение семантики HTML
В настоящее время атрибут class
обычно используется для расширения диапазона семантического значения, которое может быть представлено в документе HTML. Например, в HTML нет тега для названия книги, но вы можете использовать <span class="booktitle">
во всех ваших документах и соответствующим образом <span class="booktitle">
их с помощью CSS.
В стремлении стандартизировать небольшое количество имен общих классов, чтобы они могли использоваться браузерами и вспомогательными технологиями для получения большего значения из документов HTML, Рабочая группа ЧТО предложила следующие предопределенные классы: copyright
, error
, example
, issue
, note
, search
и warning
.
Естественно, многие из этих имен классов уже используются в Интернете сегодня. Рабочая группа WHAT надеялась, что там, где они используются, их использование будет в подавляющем большинстве соответствовать значению, определенному в спецификации HTML 5.
Не все в новой рабочей группе HTML согласны. Некоторые утверждают, что новая спецификация не должна внезапно определять зарезервированные значения для атрибута, который ранее был открыт для произвольного использования авторами контента. Предлагаемые альтернативы включают префикс предварительно определенных имен классов таким же образом, как это было когда-то для target
атрибута (например, class="_copyright"
), или принятие варианта атрибута role
XHTML 2.0, чтобы сидеть рядом с class
.
Как вы можете видеть, создание следующей версии «простого» языка разметки, обеспечивающего работу Интернета, не так уж и просто. Но с Рабочей группой HTML, открытой для всех, никогда не было так легко представить свои мысли людям, которые имеют значение.
Если какой-либо из вопросов, которые я обсуждал выше, важен для вас, я призываю вас присоединиться и высказать свое мнение!