Веб-стандарты движутся в сторону жесткого разделения структуры и оформления. С появлением HTML5 и CSS3 это разграничение еще больше усилилось и на фоне этого многие теги и атрибуты были признаны устаревшими, их не рекомендуется использовать при разработке сайтов и веб-приложений.
HTML5. Устаревшие теги
<applet> — добавляет Java-апплет в документ. Вместо него следует использовать <embed> или <object>.
<acronym> — этот тег вызывал постоянные вопросы, что такое акроним и чем он отличается от аббревиатуры. Для упрощения остался единственный тег <abbr>.
<bgsound> — определяет музыкальный файл, который будет проигрываться на веб-странице при её открытии. Для воспроизведения музыки используйте новый элемент <audio>.
<dir> — создает список, содержащий названия директорий, вместо него используйте <ul>.
<frame>, <frameset>, <noframe> — фреймы более не поддерживаются. Если они вам требуются, используйте другую версию HTML или <iframe> совместно со стилями.
<isindex> — предназначен для поискового индекса в текущем документе. Комбинация <form> и <input> лучше справляется с этой задачей.
<listing>, <xmp> — для вывода листинга программы предназначены <pre> и <code>.
<nextid> — этот тег не предназначен для людей и указывает идентификатор следующего документа для автоматических редакторов HTML. Полностью исключен.
<noembed> — предназначен для отображения информации на веб-странице, если браузер не поддерживает работу с плагинами. В качестве альтернативы используйте <object>.
<plaintext> — отображает содержимое контейнера «как есть», любые теги выводятся как текст. Вместо тега используйте MIME-тип text/plain.
<rb> — определяет базовый текст внутри <ruby>. Этот тег полностью исключен.
<strike> — для зачёркнутого текста применяется <s>, а для указания редакторской правки <del>.
<basefont>, <big>, <blink>, <center>, <font>, <marquee>, <multicol>, <nobr>, <spacer>, <tt>, <u> — вместо этих тегов управляющих видом текста применяются стили. Обратите внимание, что тег <small> допустим, хотя относится к той же группе тегов, что и <big>.
HTML5. Устаревшие, но поддерживаемые атрибуты
Атрибут http-equiv тега <meta> для указания языка должен заменяться атрибутом lang.
Было:
<meta http-equiv= «content-language» content= «ru» />
Стало:
<html lang= «ru»>
Атрибут name тега < a> должен заменяться атрибутом id. Если name присутствует, то должен содержать пустую строку или совпадать со значением id.
Было:
<a name= ‘p12’ >< /a>
Стало:
<a id= ‘p12’ >< /a>
Атрибут language тега <script> должен быть опущен. Если он присутствует, значение совпадает с JavaScript или другим типом, но в таком случае язык скрипта следует указать через type.
Было:
<script type= «text/javascript» language= «JavaScript» >
Стало:
<script>
Атрибут border тега <img> не указывается, а толщина границы задаётся через стили. Если этот атрибут присутствует, его значение должно быть 0.
Было:
<img border= ‘1’ >
Стало:
<img style= «border: 1px solid black» >
Наличие атрибута summary тега <table> приведет к предупреждению.
HTML5. Устаревшие атрибуты
Элемент <a>: charset, coords, shape, methods, name, rev, urn.
Элемент <area>: nohref.
Элемент <body>: alink, bgcolor, link, marginbottom, marginheight, marginleft, marginright, margintop, marginwidth, text, vlink.
Элемент <br>: clear.
Элемент <embed>: name.
Элемент <head>: profile.
Элемент <html>: version.
Элемент <iframe>: longdesc.
Элемент <img>: longdesc, lowsrc, name.
Элемент <input>: usemap.
Элемент <link>: charset, methods, rev, target, urn.
Элемент <meta>: scheme.
Элемент <option>: name.
Элемент <object>: archive, classid, code, codebase, codetype, declare, standby
Элемент <param>: type, valuetype.
Элемент <script>: event, for, language.
Элемент <table>: datapagesize.
Элемент <td> и < th>: abbr, axis.
Также запрещён атрибут datasrc для всех элементов.
При подготовке статьи использованы материалы сайта www.htmlbook.ru
Валидатор W3C хорошо помогает определить, какие теги устарели)