Пользователь
0,0
рейтинг
20 декабря 2011 в 14:33

Разработка → HTML.next или идеи для HTML6

HTML*
image
Несмотря на то, что спецификацию HTML5 планируется полностью утвердить и добиться максимально широкой функциональной совместимости лишь в 2014 году, уже сейчас начинают выкристаллизовываться идеи о том как должна выглядеть данная спецификация следующего поколения — HTML.next, как его в рабочем порядке называют в W3C-консорциуме.

Новые элементы семантики


<dеcompress>

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

Пример использования:
<decompress href="http://thisisanexample.com/mobile/familyreunion.zip">
<a href="familyreunion.zip/html/activities.html">Activities from our family reunion</a>
<img src="familyreunion.zip/img/familyreunion1.jpg">

Семантика для обозначения заголовков и авторов

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

Пример:
    [title: The praise of Shadow id:praise by:junichiro] 
    is a book written by [author: Junichiro Tanizaki id:junichiro] 
    explaining … etc.

<lоcation>

Данный элемент (по аналогии с <time />) служит для обозначения гео-информации. Предлагается использовать с атрибутами lat, long, altitude:
<location lat=27.9 long=-71.3 altitude=-100>Бермудский треугольник</location>

<tеaser>

Предназначен для того чтобы обернуть блок с контентом, имеющим ссылку, в более полный блок. Подобные структуры мы видим повсеместно: в поисковых выдачах на первые страницы блогов, блок-резюме с (или без) каким-либо медиа-ресурсом и тд. В целом это должен быть секционный элемент, который может располагаться в других секционных элементах, таких как навигационные страницы:
<nav>
    <teaser>
        <header>
            <h1><a href="http://www.myserver.com/myFirstCoolArticle.html">My First Cool Article</a></h1>
        </header>
        <p>This is my first article on the page, and it's really cool.</p>
        <footer>
            <time>3 Days Ago</time>
            <div><a href="http://www.myserver.com/myFirstCoolArticle.html"
            >http://www.myserver.com/myFirstCoolArticle.html</a></div>
        </footer> 
    </teaser>
    <teaser>
        <header>
            <h1><a href="http://www.myserver.com/mySecondCoolArticle.html"
            >My Second Cool Article</a></h1>
        </header>
        <p>This article is on superconducting fields, and is even cooler than my first article.</p>
        <footer>
            <time>1 Days Ago</time>
            <div>
                <a href="http://www.myserver.com/mySecondCoolArticle.html"
                >http://www.myserver.com/mySecondCoolArticle.html</a
            </div>
        </footer> 
     </teaser>
</nav>

Преимущества использования данного элемента:
  • описание общих, часто используемых структур в HTML
  • способствует оптимизации поисковых движков и управления компонентами, так как разные виджеты могут использовать данную структуру по-разному
  • не обязательно участвовать в механизме нумерации списков
  • может быть использован вместе с якорями для создания быстрых ToC
  • хорошо работает в блогах, которые в HTML5, видимо, приняты в качестве основы для разделения контента

Формы


Автоматическое написание в input-формах прописными буквами

Семантическое описание типа данных, которые будут записаны в поле. Такой атрибут позволит браузеру предоставить пользователю лучший интерфейс для ввода текстовой информации.

Например:
<form>
    ФИО: <input name="name" autocapitalize="words">
    State: <input name="state" autocapitalize="characters">
</form>

Указав тег autocapitalize=«words», браузер каждое новое слово будет писать с заглавной буквы. Актуально для полей указания ФИО, напр. «Вася Пупкин».
Указав тег autocapitalize=«characters», браузер каждый символ будет писать с заглавной буквы. Актуально для аббревиатур.

Более подробно здесь.

Улучшенная проверка подлинности форм

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

Локализация элементов управления

Часто веб-разработчикам не хватает возможности локализовать элементы управления, например:
— кнопка «Browse» для полей типа <inрut type=file />
— элементы управления для выставление даты/времени

Мультимедиа


Адаптивные изображения

Загрузка разных размеров изображений в зависимости от текущих параметров на стороне клиента (подробнее).

Адаптивное потоковое вещание

Работы в данном направлении уже ведутся: Adaptive Streaming, Video Metrics.

Существует целый ряд различных адаптивных потоковых форматов (так же как есть ряд различных прогрессивных медиа-форматов для загрузки контента). Во многих случаях через потоковое вещание требуется передавать защищенный контент. Текущие HTML5 медиа-элементы поддерживают возможность выбора из разных форматов. Тем не менее существуют некоторые аспекты адаптивного потокового вещания и защищенного контента, которые требуют улучшения в сфере HTML для возможности общего использования. В частности они включают:
  • дополнительный медиа-элемент состояния, позволяющий отображать текущий статус (напр. согласование передачи данных с сервером)
  • дополнительный медиа-элемент ошибок (напр. ошибка согласования передачи)
  • дополнительный медиа-элемент событий (напр. изменение битрейта потока)
  • дополнительный медиа-элемент свойств (напр. текущий битрейт, который может быть связан с другими показателями QoS)
Аудио-баланc

Настройка аудио-баланса (правый/левый канал) средствами HTML5 для стерео композиций.

Улучшение воспроизведения видео
  • быстрое/медленное воспроизведение/перемотка
  • предыдущий/следующий кадр
Полноэкранный режим и скриншоты

domElement.fullScreen(); 
domElement.getImageData(0, 0, domElement.offsetWidth, domElement.offsetHeight);


Редактирование текстов


Элемент <editоr>

Данный элемент позволит сохранять набранный текст при переходе по ссылкам.

<tеxtarea type=''wysiwyg''>

Основная цель: WYSIWYG-редактирование структурированного (семантического) текста. Предполагаемое использование: блоги, email'ы, редактирование статей из CMS сайтов и тд.

Предполагаемый список поддераживаемых элементов:
  • blocks: p, ul/li, ol/li, dl/dt/dd, blockquote, pre
  • spans: strong/em/a/sup/sub/u/code/strike.
  • inline-blocks: img, br
  • таблицы: table/tr/th/td
Особенности:
  • поддержка копирования/вставки изображений из/в системный буфер (подключается атрибутом)
  • поддержка копирования/вставки текстов и HTML из/в системный буфер (подключается атрибутом)
  • не должен поддерживать встроенные стили
  • может иметь атрибут content-style=«some.css», определяющий стили элементов внутри редактора
Возможности копирования/вставки

Список, представленный в левой части таблицы, будет отрендерен так, как представлено в правой части таблицы.
<ol>
	<li>Lorem</li>
	<li>Ipsum</li>
	<li>Dolor</li>
	<li>sit</li>
	<li>et cetera</li>
</ol>
  1. Lorem
  2. Ipsum
  3. Dolor
  4. sit
  5. et cetera
Если скопировать пункт 'Dolor' и вставить его в обычный WYSIWYG текстовый редактор, то вместо простой записи без номера пункта должны получить «3. Dolor».

Компоненты и ECMAScript


«behaviors» или динамические подклассы элементов DOM

Данная функция очень полезна для компонентов пользовательских интерфейсов фреймворков и инструментальных средств.

Пример:
document.behaviors["ul.some>li"] = { // the behavior class:
  attached: function() {...},
  detached: function() {...},
  onmousedown: function() {...}, 
  onclick: function() {...}, 
  ...
};

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

include(''url'');

Для многих программистов, привыкших писать на C++, PHP, etc, весьма не хватает такой возможности. Для сохранения модульности предлагается использовать подключение внешних файлов следующим образом (работает аналогично import url(...) в CSS):
window.include("url"[,mime/type])

JavaScript: пространство имен и классы

JavaScript-код становится все более и более сложным. На одной странице может использоваться несколько разных библиотек и отсутствие пространств имен (а также классов) становится все более хлопотным для веб-разработчиков. Подробнее о необходимости такого подхода можно почитать на web-dev.info.

Подсветка синтаксиса для элементов <cоde>

Учитывая тот факт, что браузеры уже имеют средства парсинга HTML, JS и CSS, было бы неплохо иметь нативную поддержку подсветки синтаксиса без необходимости парсинга кода на стороне клиента средствами JavaScript'а. Для начала хватило бы вышеперечисленных языков, другие можно добавлять с помощью подключения соответствующих CSS.

Пользователи хабра наверняка сразу провели аналогии с тегом <sоurce>, использующимся здешним редактором, который в данном случае можно было бы упразднить.
<source lang="Язык"></sоurce>
Подсвечивает исходный код (на выбор: bash, cpp, cs, xml, html, java, javascript, lisp, lua, php, perl, python, ruby, sql, scala, tex).


Еще больше идей от разработчиков в виде баг-листа можно посмотреть тут.
Пишем свои идеи того, что по вашему мнению было бы уместно в HTML.next.
@Kotofey
карма
21,2
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (124)

  • +21
    Может я чего-то не понимаю, но почему бы это не добавить в HTML5?
    • +7
      Думаю по той причине, что уже есть утвержденный список всех фич/возможностей HTML5, который не подлежит сильным изменениям. А до 2014 года возможны лишь небольшие коррекции.
    • –2
      Да не важно в какой версии будут эти изменения, важен срок, если половина этих изменении будут внедрятся скажем в 2012-13 это будет второй революцией HTML :)))
      • +1
        Что именно будет революцией (кроме улучшений аудио-видео, которые всё-таки эволюция)?
        • –3
          HTML5+CSS3+JS это по моему ревалюция в сфере веб дизайна, а с такими изменениями 6ой версии будет второй революцией HTML :))) location,decompress,code,wysiwyg
          • 0
            Увы, всего лишь эволюция в веб-вёрстке. JS не изменился, поэтому даже нельзя сказать, что это эволюция разработки веб-фронтенда.
            • НЛО прилетело и опубликовало эту надпись здесь
              • +1
                Да и JS изменился предостаточно. Всякие аксессоры, let,destructing assignment и так далее…
                • +1
                  Вы же понимаете, что на таком уровне его знают, а тем более используют, относительно малое число людей, среди тех, кто как бы пишет на JS, типа меня :)
                  • 0
                    > на таком уровне его знают, а тем более используют,
                    > относительно малое число людей
                    А что уже исчезли ie6-ie8, а оставшиеся безоговорочно поддерживают все фичи HTML5?
                    • 0
                      Вроде как JS позволяет проверить наличие того или иного API и/или узнать версию браузера.
                    • +2
                      Для меня — исчезли, я занимаюсь коммерческой разработкой только под современные браузеры. =)
                  • 0
                    Ну это ведь не значит, что JS не развивается. Просто значит, что его старая версия удовлетворяет потребности большинства людей
              • 0
                Так и я о том же.
                • НЛО прилетело и опубликовало эту надпись здесь
    • +5
      Потому что, с учетом темпов утверждения и постоянным добавлением новых фич, HTML5 не выйдет из драфта вообще никогда.
      • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      потому что, колеса на ходу не меняют
  • +5
    На счет элемента <dеcompress>, идея конечно хорошая, но почему ZIP?
    Как я понимаю, при этом будет использоваться алгоритм Deflate. Я знаю, ZIP до сих пор популярен (используется для упаковки данных многими программами и играми). Но поймите он уже сейчас устаревший (а если он выйдет лет через 7, это вообще будет катастрофа), почему не перейти на LZMA (хотя для текстовых файлов не самый лучший вариант, но лучше чем Deflate)? Как это сделал, если не ошибаюсь Flash.
    • 0
      Спасибо, подправил статью.
      Там в идеях ZIP предлагается в качестве основного формата наряду с другими.
    • –3
      Я думаю будут все форматы поддерживаемые браузерами/ОС.
  • +5
    Хм. Браузер превращается, браузер превращается… в ОС. Вот мне интерсно это все не google продвигает случайно для свой ОС?
  • +7
    decompress? zip? Добро пожаловать в мир buffer overflow и т.п.? помнится, была история, как положили нахрен mail.ru, который распаковывал архивы для проверки антивирусом. Послали пару архив, распаковывающихся в нцать гигабайт — и привет.

    остальные предложения на удивление внятные, даже странно, что они исходят от W3C
    • +3
      Распаковку не будет делать сервер. А браузер, вроде. Даже не распаковку, а получения файла из архива. Но вот как в примере рисунок в zip-е — глупо или плохой пример.
      • +2
        А если засунуть в архив файл из нулей размером терабайт эдак 10, чтоб наверняка?
        Нет, если такое и делать, нужно хорошо обезопасить, иначе кранты
        • +1
          У нормальных распаковщиков теперь проверяется коэффициент сжатия. Если он превышает допустимый, распаковка не производится.
      • +1
        > Распаковку не будет делать сервер. А браузер, вроде.

        Какая разница? Правильно упкакованый zip — и все, компьютеру легкий писец
        • 0
          Правильно упкакованый zip

          Смысле
          Послали пару архив, распаковывающихся в нцать гигабайт

          То это да.
          Лучше какой-нибудь mount: и можно иметь доступ к отдельным файлам внутри zip: Едро
          • +2
            парсер
            <mount src="/resultaty-vyborov/2011.zip">
            <a href="/resultaty-vyborov/2011.zip/edro.xls">Едро</a>
            

        • 0
          Разница — будет ли склеивать ласты сервер, или только браузеры клиентов
        • +1
          А разве сейчас HTTP не использует для сжатия передаваемого трафика gzip, и этот эксплоит нельзя использовать уже и сейчас?
          • 0
            Это, кстати, хороший вопрос. Интересно бы попробовать :)

    • +1
      2 запроса (html + zip архив со всем контентом сайта) или 50 запросов(html + jqeury+css+css+js+js+пара десятков картин)?
      • +2
        Первый раз 50 запросов, второй раз 1 запрос (expired)
        Не нужно портить язык разметки, работа с архивом вообще не нужна, а если и нужна, то это задача для javascript, но никак не html
        • –1
          кэш не резиновый
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Возможно лучше уменьшить сами запросы?
    • 0
      Истина!
      Да поможет нам HTTP Keep-Alive для снижения влияния количества запросов на задержки.
    • +1
      Что бы избавить верстальщиков: от спрайтов, от минификации js, от обфускации и склеивания css-файлов.
      Этого мало?
  • +17
    <tеxtarea type="wysiwyg">

    Эти 25 байт — убийцы дясятков wysiwyg редакторов…

    С каждым днем браузер становится все более толстым клиентом html-документов.
    • –2
      50 в юникоде) Хотя всё же не ясно, как например будет работать загрузка картинок, в FCKEditor-е есть соответственные коллбеки и настройки для загрузки.
      • +3
        25 в UTF-8. А изображения можно как сейчас с файлами. Все выбираются, а потом отправляются на сервер вместе с самой textarea.
        • 0
          Ну например вставка картинки в текст, часто обработанной (обрезаной, etc.), в таком случае этот элемент, как минимум, должен будет иметь доступ к ФС компьютера для вывода картинки
          • НЛО прилетело и опубликовало эту надпись здесь
  • +7
    wysiwyg — ну наконец-то исчезнет этот заопарк из костылей под каждый браузера и что печально под каждую версию браузера
  • +1
    Закрывайте теги, для которых не нужен отдельный закрывающий тег. Это особенно актуально, когда видишь его первый раз и ждёшь закрытия.
  • +3
    Преимущества такого подхода: доступ веб-браузера к файлам из ZIP, уменьшение требований к пропускной способности канала
    Возможно, для вас это окажется откровением, но веб-сервера уже много-много лет умеют отдавать сжатый контент. Причём сжатый этим самым DEFLATE. А чтобы веб-браузер его на лету разжимал, достаточно всего-лишь выдать соответствующее значение заголовка Content-Encoding.
    • 0
      Может ли сервер отдать несколько файлов в ответ на один запрос? Поймет ли его браузер? Можно ли в HTML ссылаться на эти файлы?
      • 0
        Javascript вам в руки, всё реализуемо
        • 0
          Прозрачно для верстальщика, чтоб он ссылался в, например, img на картинку в zip архиве также как на обычную? Сомневаюсь.
        • 0
          Который может быть заблочен NoScriptом или какой-то банерорезалкой.
      • 0
        И вообще, есть такая штука как MHTML.
        • 0
          Громоздкая очень и требует поддержку со стороны сервера.
          • +1
            У меня такое впечатление, что вы RFC прочитать даже не попытались.
            • 0
              Не скажу, что прочел от корки до корки, но общий принцип, кажется, уловил. И, вроде, ни Apache, ни nginx, ни IIS этот стандарт не поддерживают. В популярных фремйворках тоже что-то не встречал, чтоб хотя бы динамически такие multipart ответы формировать. Да и расширением HTML назвать сложно, на уровне ниже он лежит в основном.
              • 0
                Этот формат — те самые mht-шки, в которые умеют сохранять целиковые страницы Opera и Internet Explorer. Их можно грузить прямо из файловой системы, не то что с веб-сервера.
                • 0
                  Не пользуюсь ни тем, ни другим, так что про «те самые» не в курсе. Но поддержка со стороны сервера же всё равно нужна. Не оперу же использовать для их формирования.
                  • +1
                    Их формировать можно в веб-приложении на уровне шаблонизатора, не вижу в этом никакой сложности.
                    • 0
                      Всё равно это будет не HTML.
                      • +4
                        Ну да, у нас половина браузеров не понимает RFC, датированный 1999-ым годом (если уж на то пошло, тот же хром даже HTML 3.2 полностью никогда не поддерживал). Сейчас же предлагается ввести новый стандарт, реализующий то же самое. Просто гениальный план.
                        • 0
                          То же самое, но, имхо, более удобным путём, пускай и менее универсальным.
      • 0
        История умалчивает. В электронной почте это можно. В HTTP это можно при отправке клиент-сервер. Почему бы не сделать и при получении (типа «берите, эти файлы вам пригодятся)?
        • 0
          Как мне кажется не очень юзабельно это будет прежде всего для серверов, вернее разработчиков. Как вспомню мучения с этими multipart что при отправке почты, что при разборе форм на сервере. А тут всё прозрачно — выложил архив со статикой и только ссылайся на него в src.
          • 0
            Ну, стоит предположить, что если отдачей будет заниматься сервер, зная, что клиент ещё файлы, упомянутые в запрашиваемом HTML не получал, то для разработчика сайта всё просто, усложняется только логика сервера. В самом HTML можно прописывать всё точно так же, как если бы файлы запрашивались следующими запросами. Браузер и так вроде бы должен понимать, что раз сервер прислал HTML, а с ним кучу файлов, то файлы нужно закешировать, и в это обращение их обновления не спрашивать (предположу, что должен помочь заголовок Expires, но для самой страницы и для статики он должен бы быть разным).
  • –2
    <tеxtarea type="wysiwyg">
    


    Не забудьте ещё про его стилизацию, а то опять кастыли придётся делать типа прозрачного инпута и картинок сверху.
    Или пусть хотя бы одинаково выглядит во всех браузерах.
    • +7
      одинаково выглядит во всех браузерах
      Не дождетесь (посмотрите, что сейчас с html5-инпутами). Если этот тег одобрят, то будет война wysiwyg редакторов на ряду с войной браузеров.
      • 0
        Ну тогда стилизация. Вот тег , к примеру, совершенно по-разному выглядит в разных браузерах, но его хотя бы можно настроить как нравится. Пример — html5 проигрыватель на YouTube.
        • 0
          Тег
          <video>
          (исчез из-за парсера)
        • 0
          Главное, чтобы для одинаковых выделений текста в wysiwyg использовались одинаковые теги, а не как сейчас с вендорными префиксами CSS3:
          textarea -moz-strong, 
          textarea -webkit-strong, 
          textarea b, 
          textarea strong
          /*еще десяток*/ 
          {
              color:#333;
          }
          а дальше разберемся :)
    • НЛО прилетело и опубликовало эту надпись здесь
      • +2
        *в этом месте должен быть комикс из xkcd про 15 разных стандартов*
        :)
  • +5
    Шестерка в логотипе ужасна.
    • +1
      Восьмёрка будет хорошо смотреться
    • 0
      Раз уж такое дело, то пришлось открыть Paint и немного ее причесать )
    • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Указав тег autocapitalize=«words», браузер каждое новое слово будет писать с заглавной буквы. Актуально для полей указания ФИО, напр. «Вася Пупкин».
    Автору этой идеи надо выдать премию за идиотизм и познакомить с особенностями написания имён представителей различных европейских и азиатских национальностей.
    • +1
      Да, идея заставить писать каждое слово с большой буквы похожа на идиотизм.
      Но, наверное, автор топика просто привёл неудачный пример, т.к. идея оформлять как-то вводимые значения сама по себе не плоха.
      • +1
        Пользователя никто не будет заставлять. Это всего лишь автокоррекция.
        • +2
          … которая запорет мое имя Эркюль Савиньен Сирано де Бержерак.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        > text-transform: capitalize в CSS 2.1

        В отличие от css, в случае с тегом autocapitalize, браузер сможет выполнять заранее заданные действия, к примеру блокировать кнопку submit или помечать поле как ошибочно заполненное.

        Вот что пишет автор идеи:
        Automatically enable or disable a «shift» key, or make some other
        behavioral or content change to a software keyboard to more easily
        input capital or non-capital letters.
        • НЛО прилетело и опубликовало эту надпись здесь
  • +9
    Чем-то не тем ребята страдают… Давным-давно требуется сделать нормальную работу с лейаутами в режиме софта и в режиме печати, но никто не чешется. А ведь до сих пор ни нормального позиционирования, ни нормального вывода на принтер. Ни один драфт типа флексбокса не только никем толком не реализован, но и вообще по-человечески не продуман и представляет собою не более, чем корявый костыль.

    Беспросветный ужас…
    • 0
      Я так думаю, что до чего-то серьезного дело просто пока не дошло. Сейчас надо бы с HTML5 закончить.
      • +2
        Я пытался участвовать в работе WHATWG и понял одну вещь — до серьёзного никогда не дойдёт. Неудивительно, что у каждого разработчика браузеров куча проприетарщины внутрях, от собственных CSS префиксов, до расширений JS/DOM — в W3C и связаных организациях творится бардак и детский сад и всё развитие HTML5/CSS3/JS — это по сути жёсткий пушинг со стороны вендоров. Opera засставила принять тег VIDEO, Apple запушила всякие CSS эффекты ну и т.д.

        Фактически, мы имеем ситуацию времён Netscape VS IE. W3C и тогда была и точно также ничего не делала, а вендоры творили чад и угар. Разница лишь в том, что тогда все бегали под двумя флагами и кидались во флаги противников какашками, а сейчас все бегают под одним флагом и кидаются какашками непосредственно друг в друга.
        • 0
          Если все действительно обстоит именно так как вы описываете — а сомнений на этот счет почему-то и нет — то это просто феерический пи пушной зверь.

          И таки получается что вот она — невидимая рука рынка.
        • –5
          Зачем нужен HTML5, когда есть SL? Правильно, чтобы слезть с иглы Микрософта.
          Слезая с одной, незаметно залазим на другую…
  • +5
    Подсветка синтаксиса для элементов <cоde>
    Мне вот интересно как они будут отбирать те языки, которые нужно подсвечивать по стандарту, а какие нет? Внедрят список в стандарт? А если мне нужен мой-экзотический-язык — писать прошение на добавление в w3c?
    А если список языков оставят на усмотрение вендорам браузеров, то будет еще хуже:
    MS IE — я не буду подсвечивать .dart файлы!
    Chrome — тогда я не буду подсвечивать C# файлы!
    Firefox — а я не буду посвечивать Objective-C файлы!

    И в любом случае нам придется писать костыли:
    if (!navigator.sourceHightlightSupported('dart')) {
     // fallback...
    }
    


    Учитывая тот факт, что браузеры уже имеют средства парсинга HTML, JS и CSS, было бы неплохо иметь нативную поддержку подсветки синтаксиса без необходимости парсинга кода на стороне клиента средствами JavaScript'а.

    Те мы подсвечиваем только html, js, css или встраиваем сотню «парсеров по стандарту» под все языки?!
    • +6
      MS IE — «Подсвечивать? Не, не слышал»
  • 0
    Первая партия говна в комментах готова)
  • +4
    <rant> Я далек от веб-разработки, но у меня такое ощущение, что все движется в не том направлении. В HTML не хватает нормальных средств для определения макета страницы. В былые времена, когда все делалось на таблицах, можно было без особых проблем, скажем, разбить страницу на три колонки и поставить height=100%, чтобы прибить футер к низу страницы. Таблицы были не особо универсальны, нарушали семантику, но работали достаточно надежно. Теперь все принято делать на DIV и CSS, якобы с целью отделения представления от семантики. Задумка хорошая, но модель позиционирования в HTML/CSS оставляет желать лучшего, не говоря уже про особенности ее интерпретации в различных браузерах. В результате появляется необходимость в каких-то вспомогательных элементах DIV, которые к семантике документа не имеют никакого отношения, и всяких невообразимых CSS-костылях. Сделать, например, более-менее приличную трехколоночную верстку, выглядящую одинаково хорошо во всех браузерах, представляется мне неоправданно трудной задачей. Работа HTML-верстальщиков — это, должно быть, настоящий кошмар. Стандарту HTML/CSS очень нужен какой-то более простой и гибкий способ задания макета страницы. </rant>
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Мне как HTML-верстальщику — возвращение к табличной верстке кажется Адом. Для меня не составляет проблем
      в Div-ой верстке прибить к низу футтер. Я знаю наверняка как поведет себя див в отличии от таблицы.
      и 99% верстки на дивах будет меньше по коду (HTML) и ИМХО понятнее, и 1% там где дизайнеры придумали что контент должен магическим образом тянуться в разных местах по разному — там за частую и без JS не разберешься.

      Кстати насчет CSS костылей css1k.com — это сайт — своего рода конкурс — где с помощью CSS делают разный дизайн для одного и того же HTML кода при этом нужно уложиться в 1кб.
      И я заявляю, ХРЕН вы сделаете столько разных «дизайнов» для одного и того же кода на таблицах.
      Просто разметка страницы стала немного сложнее в вашем понимании. И станет еще сложнее с введением в жизнь переменных в css и прочих плюшек.
      А Семантика это и есть использование таблиц для табличных данных а дивов как контейнеров для блоков на сайте.
      В прочем я боюсь нарваться на холивар, я только хотел сказать что у меня нет проблем с использованием дивов вместо таблиц.

      Добавление кучи тегов для «семантики» — делает просто больше тем для холиваров, этак мы прийдем к XML :)

      PS. Мне одному мозолит глаза этот пример:
      <teaser>
      	<header>
      		<h1><a href="http://www.myserver.com/myFirstCoolArticle.html">My First Cool Article</a></h1>
      	</header>
      	<p>This is my first article on the page, and it's really cool.</p>
      	<footer>
      		<time>3 Days Ago</time>
      		<div><a href="http://www.myserver.com/myFirstCoolArticle.html"
      		>http://www.myserver.com/myFirstCoolArticle.html</a></div>
      	</footer> 
      </teaser>
      

      где теги footer и header вобще не не в тему используются?
      • 0
        Почем не в тему? Есть тизер с заголовком, содержанием и футером. Меня смущают больше h1 и div.
        • 0
          Хотел написать то что выше, что данные теги предназначены для разметки именно header'a и footer'a документа, но решил лишний раз залезть в спецификацию — оказалось что был не прав. Такое использование как раз является правильным.
      • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Есть несколько стандартов на эту тему. Они обкатываются.
    • 0
      Можно ответить неверстальщику, а почему нельзя ввести спец. тег для таблиц, что-то вроде nonsemantic=true?
      • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Я бы хотел увидеть вещи, перечисленные здесь: habrahabr.ru/qa/13675/
  • +1
    <tеxtarea type=''wysiwyg''>

    Ну, как человек, своими руками написавший два визивига, очень хотел бы надеяться, что это действительно будет выходом из ада несоответствий между браузерными реализациями contentEditable, TextRange и т.п., но ведь этого не будет, да? Будет ведь только хуже :(

    include(''url'');

    Они бы там определились, что ли. Одной рукой через deflate уменьшают количество запросов, другой рукой увеличивают их через include'ы.
    Вообще, конечно, лучше бы уже от HTTP 1.1 отошли в сторону какого-нибудь SPDY, тогда и инклуды на стороне клиента можно безболезненно будет делать.

    «behaviors» или динамические подклассы элементов DOM

    Вот это, кстати, шоколадно. Можно будет крайне красивые библиотеки виджетов создавать. Только представьте, насколько красивее и прямее станут YUI, Dojo, jQuery UI и т.п.
    • +2
      Фактически behaviors воссоздают стандарт, который когда-то придумали в IE. Те же самые bahaviors, даже называются так же.
      • +4
        Подпишусь.
        Я даже больше скажу, они в IE вообще молодцы — и фильтры придумали, и ajax, и dhtml, и contentEditable.
        Да и TextRange у них значительно прямее реализован, чем Range в W3C. Не говоря уж о том, что у них нет event propagation, только bubbling.
        И это только если начать перечислять, там много всего.

        Правда, нынешнему поколению веб-разработчиков ничего из этого неизвестно и неинтересно, им интересно «микрософт отстой! долой корпорацию зла!».
        • +3
          Вы подменяете понятия. Нынешнее поколение разработчиков критикуют МС и IE6 не за то, что они придумали кучу клёвых штук, а за политику, из-за которой до сих пор большинство людей сидит на ужасно устаревших браузерах.
          • +1
            С этого места поподробнее, пожалуйста :)
            Насколько я знаю, большое количество IE6 в счетчиках нам обеспечивают следующие факторы:
            1) IE6 дооолго не обновлялся.
            2) В корпоративных сетях админы вообще не любят что-нибудь или апгрейдить. Работали с IE6 столько времени? Ну вот и еще столько же поработают.
            3) Общая неграмотность пользователей, которые, имея XP, не в курсе о существовании других браузеров и возможности обновления XP.

            Но с первым пунктом они борются, как могут — насколько я знаю, сейчас даже апдейт выпустили, который принудительно будет обновлять IE6 до IE8.
            Со вторым пунктом вообще непонятно, что они могут сделать — разве что рассказать этим админам, в чем прелесть новых браузеров, но MS и так постоянно рассказывает это.
            С третьим пунктом тоже непонятно, в чем вина именно MS.

            С моей точки зрения, MS виновата только в том, что долго не обновляла браузер, это раз, и, во вторых (что куда сильнее в данный отрезок времени сказывается) сделала настолько хорошую Windows XP sp1, что многие до сих пор не видят смысла обновляться.
  • +1
    >Они бы там определились, что ли. Одной рукой через deflate уменьшают количество запросов, другой рукой увеличивают их через include'ы.

    Инклудить из архива? По-моему, интересный вариант. Что-то вроде SSI
    • 0
      Не, как я понял, include работает как import, т.е. вставка осуществляется на стороне клиента, что означает дополнительный HTTP-запрос.
      Что как бы плохо.
      А deflate, наоборот, призван заставить браузер скачать кучку ресурсов в один поток и потом уже на месте разбирать.
      • +2
        Что-то вроде SSI на стороне клиента, CSI :) Ведь ничто не должно мешать указать в include(''url''); урл типа megalib.zip/jquery.js, раз его даже img будет понимать. Да и в @import наверное тоже.

        • 0
          Если действительно так будет работать — соглашусь, крайне красиво выглядит.
  • +1
    Можно например добавить

    вместо js кода для шифрования пароля скажем md5 или sha
    • 0
      input type=password encrypt=md5
      парсер :(
      • 0
        Хеширования пароля, хеширования.
        А как вы пароли будете хранить на сервере, в каком виде?
        • –1
          шифрование на стороне клиента для безопасности, а как будет хранится сам пароль в базе, это дело php…
          • 0
            Т.е. вы будете каким-то образом разрабатывать клиентскую браузерную часть веб-проекта никоим образом не согласовывая ее с серверной, я правильно вас понял? :)
      • 0
        А в чем проблема в той же Опере исправить исходный код страницы и отправить незашифрованный пароль? Все равно придется шифровать на сервере)
        • 0
          для безопасности пароля в пути к серверу от разных снифферов :)
          • +1
            Чтобы снифферы (вернее их владельцы) слали сразу хэш, даже не зная пароля?
  • 0
    Веб технологии растут как на дрожжах прям
  • +3
    Кстати, в FF есть протокол jar, которые делает почти то же самое, что предложенный тег decompress.
    • +1
      Есть такое www.gnucitizen.org/blog/web-mayhem-firefoxs-jar-protocol-issues/ и выглядит элегантней предложенного враппера.

      Залил для теста: jar:http://dl.dropbox.com/u/2899751/fflogo.jar!/fflogo.png
      К сожалению хабрапарсер не понимает протокол jar:, поэтому вставить картинку напрямую не могу, но это работает.
  • 0
    Для HTML 6 достаточно всего-лишь одного, нормальные layout элементы, а не то уныние что есть сейчас. Под нормальными подразумеваю подобие того что реализовано для Android и Silverlight.
  • 0

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

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

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


    Почему должна быть именно псевдо-разметка? Почему бы не сделать нормальные семантические элементы?

    Элемент <editоr>
    Данный элемент позволит сохранять набранный текст при переходе по ссылкам.


    Непонятно.

    А вообще соглашусь с некоторыми ораторами. Лучше бы сейчас всем сосредоточить силы на допиливание и реализацию CSS Layout-ов (Grid, Flexbox, Templates)
    • 0
      Извиняйте за этот бардак. Сделал бы все нормально, если бы предпросмотр не глючил так ужасно. В первом абзаце речь шла про тег decompress.

      Ну и конечно корневой blockquote там по ошибке.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.