Элемент time и микроформаты
Метки: html, теги, html 5, time, микроформаты
The time element (and microformats)
| ← Наука предпринимательства | Майнд-мэппинг, или карты памяти → |
Микроформаты – это способ добавления дополнительной семантической информации к веб-странице, используя HTML-классы. Такой информацией могут быть даты событий, чей-то номер телефона, e-mail организации и т.д.
Сами по себе микроформаты не являются стандартом, но они широко используются в ИТ-сообществах. До тех пор пока они используют согласованное именование классов, они настолько же совместимы с HTML5, как и с HTML4 или XHTML.
HTML5 предлагает ряд потенциальных расширений для арсенала микроформатов. Так как ранние версии некоторых микроформатов имели проблемы с декодированием даты и времени, HTML5 предлагает новый элемент для единого представления даты и времени, которые будут понятны машинам, и при этом будут оставаться удобочитаемыми для людей.
Формат очень простой: <time datetime="2009-11-13">13 November 2009</time>
Элемент time также представляет время в 24 часовом формате, дату по Грегорианскому календарю, опционально со временем и часовым поясом.
Вы можете писать все что угодно между тегами time, следовательно:
Убрать подсветку кода
Все это будет одинаково верно.
Заметьте, что последний пример имеет опциональное указание часового пояса (+09:00).
Ложка дегтя
Единственная проблема с тегом time состоит в том, что он может содержать только корректную дату по Грегорианскому календарю. Это означает, что вы не сможете внести дату до рождества Христового. Также вы не сможете внести неточные даты, например, «Июль 1904». Зато микроформаты не подвержены этим ограничениям и часто используются, к примеру, для обозначения очень древних дат на Википедии или на сайтах музеев, где обычно фигурируют неточные даты. Автор данной статьи продолжает использовать гибкие микроформаты, пока вопрос ограничений тега time все еще не решен (Группа разработчиков HTML5 все еще поднимает вопрос о снятии ограничений и расширении границ времени, но пока безрезультатно).
Видимо, из-за этих ограничений, текущие микроформат-клиенты не могут использовать такие микроформаты как hCalendar, если они предполагают использование тега time. Вот что по этому поводу сказал Стефан Шипор: «Проблема проявляется когда мне необходимо парсить сайт с помощью H2VX или другими подобными инструментами для экспорта. К сожалению, H2VX не умеет читать datetime-атрибут в теге time. Также этого не умеет делать и дополнение для Firefox – Tails. Я пытался узнать что-то по этому поводу на IRC канале микроформатов, а также на их Твиттер аккаунте, но не получил никакого ответа. Может вы подскажите, что мне с этим делать? Я просто не выдержу добавлять повсюду тег abbr, только для того чтобы оно все заработало».
Атрибут pubdate
Это не значит, что нет никакого смысла в использовании тега time и, что с него больше вреда, чем пользы. Например, в своем персональном блоге, я использую его для выделения даты публикации статьи. Специально для этих целей есть атрибут pubdate:
Убрать подсветку кода
Спецификация говорит следующее:
Pubdate является булевским атрибутом. Данный атрибут определяет дату и время публикации статьи, которая определяется по родительскому тегу article. Если атрибут pubdate определен вне тега article, то дата публикации будет относиться ко всему документу.
Вы можете задаться вопросом, а зачем этот атрибут вообще нужен. Почему просто не определять дату публикации по тегу time внутри тега header в теге article?
Вот пример:
Убрать подсветку кода
Как видите, тег header содержит две даты: дату самого события и дату публикации статьи. В данной ситуации, атрибут pubdate решает проблему неоднозначности указанных дат.
Где мог бы использоваться тег time?
Не сложно представить множество дат, которые можно обозначить на веб-странице. Браузер мог бы предлагать добавления событий в календарь пользователя. Тайский локализированный браузер мог бы предлагать конвертировать даты с Грегорианских в даты Тайских Буддистов. И, конечно же, поисковые механизмы смогли бы улучшить качество своей поисковой выдачи.
Оригинал: The time element (and microformats)
Сами по себе микроформаты не являются стандартом, но они широко используются в ИТ-сообществах. До тех пор пока они используют согласованное именование классов, они настолько же совместимы с HTML5, как и с HTML4 или XHTML.
HTML5 предлагает ряд потенциальных расширений для арсенала микроформатов. Так как ранние версии некоторых микроформатов имели проблемы с декодированием даты и времени, HTML5 предлагает новый элемент для единого представления даты и времени, которые будут понятны машинам, и при этом будут оставаться удобочитаемыми для людей.
Формат очень простой: <time datetime="2009-11-13">13 November 2009</time>
Элемент time также представляет время в 24 часовом формате, дату по Грегорианскому календарю, опционально со временем и часовым поясом.
Вы можете писать все что угодно между тегами time, следовательно:
Убрать подсветку кода
1 2 3 4 5 | <time datetime="2009-11-13">13 November 2009</time> <time datetime="2009-11-13">13<sup>th</sup> November</time> <time datetime="2010-11-13">Bruce's 21st birthday</time> <time datetime="2010-11-13T020:00Z">8PM on my birthday</time> <time datetime="2010-11-13T020:00+09:00">8PM on my birthday—in Tokyo</time> |
Все это будет одинаково верно.
Заметьте, что последний пример имеет опциональное указание часового пояса (+09:00).
Ложка дегтя
Единственная проблема с тегом time состоит в том, что он может содержать только корректную дату по Грегорианскому календарю. Это означает, что вы не сможете внести дату до рождества Христового. Также вы не сможете внести неточные даты, например, «Июль 1904». Зато микроформаты не подвержены этим ограничениям и часто используются, к примеру, для обозначения очень древних дат на Википедии или на сайтах музеев, где обычно фигурируют неточные даты. Автор данной статьи продолжает использовать гибкие микроформаты, пока вопрос ограничений тега time все еще не решен (Группа разработчиков HTML5 все еще поднимает вопрос о снятии ограничений и расширении границ времени, но пока безрезультатно).
Видимо, из-за этих ограничений, текущие микроформат-клиенты не могут использовать такие микроформаты как hCalendar, если они предполагают использование тега time. Вот что по этому поводу сказал Стефан Шипор: «Проблема проявляется когда мне необходимо парсить сайт с помощью H2VX или другими подобными инструментами для экспорта. К сожалению, H2VX не умеет читать datetime-атрибут в теге time. Также этого не умеет делать и дополнение для Firefox – Tails. Я пытался узнать что-то по этому поводу на IRC канале микроформатов, а также на их Твиттер аккаунте, но не получил никакого ответа. Может вы подскажите, что мне с этим делать? Я просто не выдержу добавлять повсюду тег abbr, только для того чтобы оно все заработало».
Атрибут pubdate
Это не значит, что нет никакого смысла в использовании тега time и, что с него больше вреда, чем пользы. Например, в своем персональном блоге, я использую его для выделения даты публикации статьи. Специально для этих целей есть атрибут pubdate:
Убрать подсветку кода
1 2 3 4 5 6 7 8 9 | <article> <header> <h1>My brilliant blogpost</h1> <p>Published on <time datetime="2010-01-20" pubdate>20 January 2010</time> in the Sexysocks category.</p> </header> <p>I'm wearing sexy socks! Here's a picture.</p> ... </article> |
Спецификация говорит следующее:
Pubdate является булевским атрибутом. Данный атрибут определяет дату и время публикации статьи, которая определяется по родительскому тегу article. Если атрибут pubdate определен вне тега article, то дата публикации будет относиться ко всему документу.
Вы можете задаться вопросом, а зачем этот атрибут вообще нужен. Почему просто не определять дату публикации по тегу time внутри тега header в теге article?
Вот пример:
Убрать подсветку кода
1 2 3 4 5 6 7 8 9 10 | <article> <header> <h1>Come to my party on <time datetime="2010-03-01">1 March</time></h1> <p>Published on <time datetime="2010-01-20" pubdate>20 January 2010</time> in the Sexysocks category.</p> </header> <p>I'm throwing a sexy socks party at Dr Naughty's Ladyboy Cabaret Roller-disco Bierkeller Pizza-parlour-a-gogo! Do come.</p> ... </article> |
Как видите, тег header содержит две даты: дату самого события и дату публикации статьи. В данной ситуации, атрибут pubdate решает проблему неоднозначности указанных дат.
Где мог бы использоваться тег time?
Не сложно представить множество дат, которые можно обозначить на веб-странице. Браузер мог бы предлагать добавления событий в календарь пользователя. Тайский локализированный браузер мог бы предлагать конвертировать даты с Грегорианских в даты Тайских Буддистов. И, конечно же, поисковые механизмы смогли бы улучшить качество своей поисковой выдачи.
Оригинал: The time element (and microformats)
Рейтинг:




<< Вы можете поставить оценку этой статьеПодобные статьи:
10 редких HTML тегов, о которых вам стоит знать
Аудио встроенное в браузере
Тег address
Генерация HTML с помощью yuki-html
Українська