Десять забытых тэгов

    Тэги как кирпичи всякого документа основанного на XML должны выбираться с большим прагматизмом, что-бы потом не удалять ненужные (т.н. deprecated) и не тормозить внесение новых (sound, video). В свете того что я сам этой темой пристально занимаюсь решая что нужно оставить в WYSIWYG-редакторе и что добавить, а так-же меня интересует типографика и семантика, то читая Никиту решил тоже поштудировать эту тему.
    1. a — мало кто помнит почему самый популярный тэг ссылки использует такое название да ещё и параметр href. Ещё меньше пишущих статьи используют этот тэг по прямому назначению, а именно в качестве якоря к участку документа, определённому параметром name. С переходом на динамическое содержание при помощи ajax, якорь получил новую жизнь, поскольку в URL после # можно прописать адресс открытого письма (см. gmail), но мало кто это замечает.
    2. address — единого мнения нет, то-ли это физический почтовый адресс, то-ли это часть описания документа с email-ом.
    3. abbr — отличный тэг для сокращений. Используя параметр title как в картинках, при наведении курсором появится полное название
    4. ins и del — очень часто статьи в блогах и ЖЖ меняются, при этом люди пишут что-то типа «upd. вопрос разрешился», тогда как логичней использовать для этого соответсвующие тэги. Само собой когда статья имеет историю изменений типа wiki, то система должна быть посложней.
    5. sub и sup — эти тэги находят как правило те кто хочет оформить простейшую математику или химию. Впрочем степени, атомарные и изотопные индексы не единственная функция. Если вы когда-либо писали дипломную работу то наверняка столкнулись с научным оформлением ссылок на источники, а сноски с использованием sup вкупе с anchor активно используются взамен неподдерживаемого тэга fn.
    6. tfoot, thead, th, caption — всё это тэги, расширяющие обычную таблицу. Очень часто разработчики усложняют себе жизнь добавляя лишние классы, div-элементы и тп.
    7. label — используется в формах как текстовое описание поля и если связан через параметр for
      с элементом, то при нажатии активирует элемент. Очень полезен с
      галочками и автоподсказками. В последнее время становится популярным.
    8. fieldset и legend — элемент группирования элементов форм и соответсвенно заголовок к этой группе. Из-за ограниченний браузеров и разного отображения разработчики отказываются в сторону искуственных и универсальны div-элементов. Но упомянуть я немогу.
    9. code, var — нужные разве что программистам. Вместо них как правило используют pre и em, что помоему не очень семантично.
    10. base — помоему самый ценный тэг для CMS, поскольку один раз установив для документа абсолютный путь, все остальные объекты (изображения, ссылки) можно указывать относительно. Это уменьшает как работу с темплейтами у программиста, так и уменьшает код.


    Будьте бдительны, неосторожная игра с элементами которые вам могут показаться «семантически подходящими» на самом деле могут быть либо мало поддерживаемыми браузерами, либо deprecated со стороны W3C в соответсвующем XHTML/HTML5 стандарте. Например menu, listing, comment, sidebar...

    Оригинал

    Похожие публикации

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 7 283 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

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

      +2
      А Вы забыли одинадцатый тег - хабракат :)
        +3
        Боюсь вставлять его в ol среди li - не по XHTML это :)
          0
          Вставьте перед списком ... что будет еще логичнее
        0
        блин совсем незнал про "label for", мысленно плюсанул карму :)
          0
          зато mail.ru незнает
            0
            А еще многие разработчики софта тоже не знают. Например Corel. Всё время чертыхаюсь, когда CorelDRAW устанавливаю — у них для чекбокса «согласен с лицензионным соглашением» label отсутствует.
              0
              Многие не знают, не только майл, и это очень раздражает.
                +1
                Ага :(
                Зато когда тыкаешь по метке, и всё работает как надо — приятное такое ощущение появляется :)
                0
                Safari тоже не вкурсе про сие.
                Периодически приходится напоминать яваскриптом. :(
                • НЛО прилетело и опубликовало эту надпись здесь
                • НЛО прилетело и опубликовало эту надпись здесь
                  0
                  кстати, label можно и без for использовать:

                  < label >< input type="radio" ... > blabla метка< /label >
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      Да, действительно, *PARDON* :-)
                      В IE - только с 7го.

                      Зато в IEх работает параметр accesskey 8-)
                      <input type="radio" id="r1"><label for="r1" accesskey="b">blabla метка</label>
                      Реагирует на нажатие Alt+"b". Xоть это никому и не надо))
                  0
                  С caption всё было бы хорошо, если бы все браузеры одинаково обрабатывали стилевые описания, для него заданные.

                  отсутствие fieldset при некоторых DOCTYPE сразу указывается в ошибках валидатора, так что просто так его не забудешь.

                  Ну а label - просто обязателен к использованию для radio-button и checkbox.
                    0
                    в качестве якоря к участку документа, определённому параметром name
                    атрибут name если я не ошибаюсь помечен как не рекомендуемый, на замену ему есть id

                    это касается и javascript, тогда как name искользовали для связи с полями, теперь по идеи должна быть поддержка id(не в виде geEl..yID(''), а в виде album.appendChild(q), где album- это id элемента), но об этом знаю только разработчики Opera

                    Ну а code, на хабре как нигде необходим, т.к. при его употреблении парсер не режет код, можно не парится с заменой опасный символов на мнемоники
                      0
                      Ваша правда, я где-то читал об id (в валидаторах наверно) но по привычке запамятовал.
                        0
                        я точно не помню, но я, помоему, об этом в спецификации читал.. ;)
                        0
                        атрибут name если я не ошибаюсь помечен как не рекомендуемый, на замену ему есть id

                        Вы ошибаетесь.
                        Атрибут name не является не рекомендуемым.
                        Он просто имеет общее пространство имен с id.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            точно! вот где я это видел)
                              0
                              ;)
                              Note. This attribute has been included for backwards compatibility. Applications should use the id attribute to identify elements.
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                если честно, я js не особо разбираюсь, но вроде бы мы говорим про одно и тоже
                              0
                              Еще есть <noscript>.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  Добавлю, что тег не рекомендуется использовать. Лично я на этом уже спотыкался, да и на хабре как мне помниться есть статья на эту тему. Я использую "/folder/file.ext"
                                    0
                                    Кажется у вас валидатор тэг съел. Или вы вообще тэги не рекомендуете использовать? :)
                                      0
                                      =) извените. я имел в ввиду тег base.
                                        0
                                        Дело удобства наверное, просто если проект находится не в корне а глубже, то каждый раз надо тогда к ссылкам прописывать относительный путь /blog/, соответсвенно добавляется переменная каждый раз в темплейты или в контроллер (если все ссылки через него создаются)..
                                          0
                                          Уфффф. Долго искал. Вот http://rimmer333.habrahabr.ru/blog/33174… быть может вам будет интересно...
                                            0
                                            Cпасибо конечно (я сам только 4 страницы поиска посмотрел), но как я понял там две основные проблемы - домен и IE. Наверное я радикал, но меня мало волнует на что ещё не способен IE, а www домен считаю анахронизмом (кажется Дима Смирнов писал об этом тоже)
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                      0
                                      Про base - смотрите.. у меня стоит mod_rewrite, все запросы перенаправляются на index.php, поэтому я немогу использовать относительные пути для изображений, css, js - фактической папки скажем /article/desjat_zabytyh_tegov/ не существует ведь.

                                      Ставить полу-абсолютный путь вида /js/jquery.js тоже немогу, потому что cms может стоять глубже относительно домена, и тогда должно было бы быть /blog/js/jquery.js.

                                      Получается что надо либо использовать переменную к каждой ссылке, либо остаётся замечательный base :)
                                      • НЛО прилетело и опубликовало эту надпись здесь

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

                                    Самое читаемое