Стандарты HTML и Yandex.

    При устройстве на работу в одну веб студию. Попросили сделать тестовое задание:

    Пользователь вводит произвольный URL. PHP скрипт считывает страницу по данному адресу и выводит её HTML код. При этом все теги подкрашиваются красным цветом, а атрибуты синим.

    Скрипт написал, но когда стал его тестировать на примере ya.ru, был поражен тем HTML кодом, который присутствует на данной странице.

    Вот некоторые выдержки из него:

    <link rel="shortcut icon"href="http://img.yandex.net/i/favicon.ico">
    <a href="http://mail.yandex.ru"onclick="c(this,17,1080)">
    <a href="http://www.artlebedev.ru"onclick="c(this,17,1084)">


    Видать в Яндекс'е так увлеклись оптимизацией веса кода, что забыли проставлять пробелы между атрибутами. Ну а то что часть атрибутов без ", про это и говорить бесполезно…
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 31

      0
      Документ валиден. Все нормально у них.
        –2
        Да, тест валидность он проходит. Но Вы ведь понимаете что так делать разметку нельзя…
          +5
          Почему нельзя? Разметку они делают нормальную, просто на выходе обрезается все что не нужно.
          Разметка она не для пользователей в конце концов. результат не отличается и ладно.
          Посчитайте лучше экономию при миллионах запросов в день. И канал на доли процентов разгрузиться и пользователь быстрее получит.

          так в чем проблемы спрашиваются? эстеты чтоли нашлись?
            +1
            Да эстеты, тогда почему они не всю разметку так сделали. А только некоторые куски.

            Если считать эти байты о которых Вы говорите, то пусть в коде везде заменят домен yandex.ru на ya.ru тоже будет экономия, и при этом без вреда для восприятия разметки.
              0
              Почему именно yandex.ru а не ya.ru — можете у них спросить. Подробностей не знаю ))

              Но если Вы так ратуете за красивую верстку — посмотрите недавний пост про гугл — там ситуация еще хуже в этом плане и ничего — работает)))
                0
                Да согласен что код у Google сейчас ужасен. Но наличие валидной страницы www.google.com/xhtml даёт надежду что ошибки они скоро исправят.
                  0
                  Да не будет у гугла валидной страницы, если они еще в адеквате. Вы не понимаете ценности сохранения трафика в таких сервисах.

                  habrahabr.ru/blogs/webdev/46166/ — здесь в комментариях четко описано, зачем это надо.
                  +1
                  Потому что домен ya.ru отдан под блоговый портал Я.ру (wow.ya.ru)
            +1
            С точки зрения XML он не валиден.
              0
              а там не xml
                +4
                Объясните, пожалуйста, мне неразумному, причем здесь xml?
                  0
                  Нда, немного ошибся немного, изначально я имел ввиду SGML из которого вырос html во всех его проявлениях, xml вырос оттуда же.
                    0
                    Тобишь с точки зрения SGML он не валиден? :)
              +1
              ЕМНИП, то HTML 4.01 (а именно такой доктайп стоит на ya.ru) допускает написание значений атрибутов без кавычек. Равно как и в одинарных кавычках.
                0
                Просто верстка сделана не ради соблюдения стандарта, а ради оптимизации производительности.
                  –2
                  Почему они тогда не весь код так «оптимизировали», а только часть?
                    0
                    А по моему так оптимизировано все. Там даже все в одну строку вытянуто. Просто атрибуты-значения, допускающие неоднозначную трактовку без кавычек, написаны с кавычками, остальные, аля _top-без.
                      0
                      Закрывающая кавычка, нам какбы говорит — «значение кончилось», дальше будет следующий атрибут, а будет там пробел или нет — неважно.
                  +1
                  Вот похожая тема, только про Гугль: http://habrahabr.ru/blogs/webdev/46166/
                    0
                    Какая вообще разница как написан код? В данном случае страница отображается в любом браузере и при практически любом разрешении без каких либо проблем. Это значит, что код написан хорошо.
                      0
                      Лучший валидатор — это браузер ©
                      0
                      Для экономии траффика им еще можно было бы с Лебедевым договориться (может за денежную компенсацию) и ссылку на него снять :)
                        0
                        «Лучший валидатор — это браузер» © Самизнаетекто

                        И он прав.

                        Если верстка делается не для парсера, а для людей — абсолютно все равно, валиден код или нет.

                        Главное, чтобы все браузеры страничку одинаково рендерили. А это, на данном этапе развития браузеров,
                        от валидности мало зависит :)
                          0
                          Чуток не успел :)
                          0
                          Конечно, это яндекс не прав, что вы не справились с заданием ;)))
                            –4
                            А про это и разговора не было. Суть топика в другом, что ресурс — лидер рунета верстает страницы «чёрт знает как»…
                              0
                              DOCTYPE есть же? Валидацию на validator.w3.org проходит? Так в чем проблема?
                                0
                                К Вашим вопросам надо добавить еще один:
                                «Отображаеться нормально?» :)
                                  0
                                  Им же можно и ограничиться
                                    0
                                    Навряд ли.
                            0
                            Можно было бы подключить специализированный HTML-парсер и избежать всех этих проблем.

                            Only users with full accounts can post comments. Log in, please.