Неправильно ли использовать устаревшие теги в HTML?

#html #browser #standards #w3c #deprecated

#HTML #браузер #стандарты #w3c #не рекомендуется

Вопрос:

Что плохого в использовании устаревших или еще не реализованных HTML-тегов? Разве их использование не улучшает переносимость в старые браузеры? Например, сегодня при проверке некоторых HTML-документов я получил эти два сообщения:

Предупреждение: атрибут language в элементе script устарел. Вы можете смело опустить это.

Предупреждение: элемент bdi пока не поддерживается браузерами.

Я использую

 <script language="javascript" type="text/javascript">
  

поскольку в случае, если пользователь использует очень устаревший браузер (например, IE 5), который не интерпретирует тип атрибута, он все равно работает, интерпретируя «устаревший» язык атрибута.

И

 <bdi>
  

в случае, если пользователь использует достаточно обновленный браузер, который интерпретирует его.

Насколько я знаю, если браузер не «знает» атрибут / элемент, он просто опускает его, так что, можно ли это сделать или я что-то упускаю?

Комментарии:

1. Вы ориентируетесь на оба браузера, совместимых с HTML5, и IE5? Браузер, выпущенный более десяти лет назад? Вероятно, вам придется заставить валидатор плакать и просто игнорировать его. С положительной стороны, это звучит так, как будто вы хорошо знаете свою пользовательскую базу и что она ограничена. Просто игнорируйте средство проверки.

2. Эти сообщения являются предупреждениями, а не ошибками, именно по тем причинам, которые вы описываете. Обычно они указывают на ошибки при разработке, но иногда оправданы. У вас есть обоснование. Все в порядке.

3. Хорошо, ребята, я сделаю это. Я думал, что предупреждение = противоречит стандартам W3C, но, похоже, я ошибался. Спасибо за ответ

Ответ №1:

Что ж, использование устаревших тегов допустимо до тех пор, пока это не является необходимым для работы страницы. Я бы избегал использования таких вещей, как <marquee> , но я не вижу причин, по которым ваш элемент script является неправильным. Однако, если возможно, я бы избегал вашего тега bdi, поскольку не все браузеры могут его использовать.

Ответ №2:

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

http://dev.w3.org/html5/spec/Overview.html#warnings-for-obsolete-but-conforming-features

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