Статьи

5 устаревших функций в HTML5

28 октября 2014 года HTML5 стал Рекомендацией W3C. HTML5, конечно, не новая тема, и многие разработчики знают о ее возможностях: семантике, доступности, API и так далее.

Однако в ходе развития стандарта некоторые элементы, атрибуты и API были добавлены, а затем изменены или удалены. Поскольку трудно следить за всеми новостями и обновлениями в нашей области, некоторые из вас могли пропустить функции, которые устарели или были удалены из спецификации. В этой статье мы рассмотрим пять из них.

Устаревшие против устаревших

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

Спецификация HTML 4.01 определяет устаревшую функцию как то, что вы не должны использовать, но которую браузеры должны поддерживать. Напротив, устаревшая функция — это то, что перечислено только для исторических целей, и поддержка браузера не требуется.

Спецификация HTML5 обновила терминологию. Термин « устаревший» больше не используется, а термин « устаревший» имеет другое значение. В частности, устаревший относится к элементам или атрибутам, которые будут вызывать предупреждения в контролерах соответствия. Хотя вы не должны их использовать, вполне возможно, что браузеры поддерживают их и будут делать это в течение длительного времени в соответствии с принципом обратной совместимости . Примерами старых устаревших объектов являются атрибут borderimgnameafont

Чтобы дать вам представление о разнице этих терминов в HTML 4.01 и HTML5, элемент hgroup

Имея это в виду, давайте обсудим пять из этих устаревших функций.

1. Элемент hgroup

Спецификация определила элемент h1обычно используется для группировки набора из одного или нескольких элементов h6hgroup

Этот элемент был введен для простого создания субтитров и решения важной проблемы в алгоритме структуры документа. Фактически, при группировке нескольких элементов заголовка в <article>
<hgroup>
<h1>5 deprecated features of HTML5</h1>
<h2>Sometimes specifications are changed
and you need to refactor your code</h2>
</hgroup>
<p>In this article we'll discuss...</p>
</article>

Я был поклонником этого элемента с тех пор, как узнал об этом, но, к сожалению, в апреле 2013 года он был удален из спецификации W3C. На SitePoint Крейг Баклер освещал это событие в своей статье RIP HTML5 <hgroup> Element .

Пример его использования показан ниже:

 <article>
   <h1>
       5 deprecated features of HTML5
       <span>Sometimes specifications are changed
       and you need to refactor your code</span>
   </h1>
   <p>In this article we'll discuss...</p>
</article>

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

 hgroup

Другие возможные альтернативы можно найти в спецификации HTML5.1 .

Теперь, hgroupчто версия спецификации WHATWG все еще включает pubdate Я предпочитаю версию спецификации W3C, и консенсус, похоже, заключается в том, что time

2. Атрибут pubdate

Первые проекты спецификации элемента article определили атрибут article Это было логическое значение, указывающее, что данная дата была датой публикации родительского элемента <article>
<h1>The title of my article</h1>
<p>Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc laoreet luctus rhoncus.</p>
<footer>
<p>Published on <time datetime="2014-10-25" pubdate>October the 25th, 2014</time></p>
</footer>
</article>
article

Пример использования показан ниже:

 pubdate

В этом случае 25 октября 2014 года будет датой публикации контента внутри элемента datePublished

К сожалению, <article itemscope itemType="http://schema.org/BlogPosting">
<h1 itemprop="headline">The title of my article</h1>
<p itemprop="articleBody">Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc laoreet luctus rhoncus.</p>

<footer>
<p>Published on <time datetime="2014-10-25" itemprop="datePublished">October the 25th, 2014</time></p>
</footer>
</article>
Однако вы все равно можете предоставить ту же информацию, используя схему BlogPosting и ее значение scoped

 scoped

3. Атрибут области

Атрибут stylestylestylescoped

Цель этого атрибута — не нарушать общеизвестный принцип разделения интересов, когда вы хотите отделить структуру, стиль и поведение. Его целью является рассмотрение некоторых конкретных случаев использования, таких как добавление стилей, которые необходимы только для ограниченного набора элементов на странице, или добавление пользовательских стилей в контент вики или CMS.

<article>
<h1>The title of my article</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc laoreet luctus rhoncus.</p>
<section>
<style scoped>
p {
color: red;
}
</style>
<h2>Another title</h2>
<p>This paragraph will be red.</p>
</section>
</article>

Пример его использования показан ниже:

 scoped

Возможно, вы заметили, что при обсуждении этого атрибута я использовал настоящее время вместо прошлого. Причина в том, что, хотя поддержка command , она все еще поддерживается в Firefox .

4. Элемент управления

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

Пример его использования, взятый со страницы MDN , показан ниже:

 <command type="command" label="Save" 
         icon="icons/save.png" onclick="save()">

5. center

Вы, наверное, задаетесь вопросом, почему я упоминаю об этом, так как этот тег уже был объявлен устаревшим в HTML 4. Элемент center Это было признано устаревшим в пользу свойства text-align

В HTML5 этот элемент считается устаревшим из-за его презентационной природы.

Я уверен, что все вы знаете, что этот элемент не должен использоваться, но я включил его по уважительной причине: это сообщение Реми Шарпа .

Несколько месяцев назад он написал следующее сообщение:

Несколько человек, включая меня, думали, что он саркастичен, но затем он опубликовал сообщение в блоге, чтобы объяснить свою точку зрения. Он объяснил, что хотя centerspandiv Но чтобы использовать их, вам также нужно использовать CSS для фактического центрирования их контента. Итак, он рассуждает так: почему бы не использовать вместо этого center

Несмотря на то, что я понимаю его мнение и то, что он пытался сказать, center Но что вы думаете?

Вывод

Итак, подведем итог: если вы пропустили некоторые новости и обсуждения стандартов HTML5 и по-прежнему используете один или несколько из этих элементов и атрибутов, теперь вы знаете, что они пропали.

Мы рассмотрели, как иногда элементы и атрибуты, которые поначалу казались полезными, не вызывали особого интереса у разработчиков или поставщиков браузеров. По этой причине они были удалены из спецификации и, следовательно, устарели.