аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

[24 ноября 2003 | 1 декабря 2003 | 9 декабря 2003]

Валидность - инвалидность. This page is not Valid HTML 4.0 Transitional! Рекомендации консорциума W3C. HTML 3.2.11, HTML 3.2 и HTML 4.0... Спорные вопросы. История одного визита. Дуб.

Валидность — инвалидность

Недавно, из своей же гостевой книги, я узнал о существовании ресурса, для проверки валидности (ака правильности) исходников сайтов. Благодаря этому сайту я узнал, что мой сайт не является правильным, с точки зрения рекомендаций консорциума W3. Мне очень понравилась фраза: «This page is not Valid HTML 4.0 Transitional!», которая красуется в виде результата. Потом я прогнал, через этот ресурс сайты: TopList, NTV, MaxSoft, w3c, сайт Русского Музея, Spectator и еще кучу сайтов, подвернувшихся мне под руку. Правильным оказался только сайт w3c. Еще бы, они ведь эту проверялку и делали. Меньше всего ошибок оказалось у сайта MaxSoft, а больше всего у TopList.

Самый прикольный результат получился при проверке сайта РУ. Этот сайт был предан анафеме и проклят консорциумом. «Доктор сказал в морг, значит в морг...»

Ради интереса, посмотрел в исходники сайтов консорциума, и обнаружил забавную штуку. Эти сайты вообще не являются HTML-документами, это обычные XML-документы.

Кстати, вопрос о том, что исходники моего сайта должны соответствовать всем рекомендациям, четвертой версии, очень спорен. Именно по этим рекомендациям должен поддерживаться синтаксис рекомендации версии 3.2.11, которую я использую при написании своего сайта. В таком случае, этот ресурс обязан проверять не только текущие спецификации, но и все предыдущие. Это будет забавно, т.к. рекомендации в разных спецификациях имеют не только различия, но и явные противоречия. Так, например, в 3.2 нельзя пропускать тэги, закрывающие ячейку и строку таблицы, а в 4.0 — можно. Зато, в 3.2.11 версии было введено значение JUSTIFY, для атрибута ALIGN в тэге P, а вот в 3.2 версии такого значения не было. И вообще, по спецификации 4.0 версии, закрывать многие тэги уже не обязательно. Комментарии можно писать так: <!-- текст >. Изображения включаются так: <img alt="Image" src="photo.jpeg>. А таблицы можно писать так: <table><TR><TD>информация в таблице</table>. Саму таблицу закрывать обязательно, а вот строку и ячейку закрывать уже не рекомендуется. От такого положения дел, мой Netscape объявил бойкот консорциуму.

Mozilla - This page is not Valid HTML 4.0 Transitional! MS Internet Explorer - This page is not Valid HTML 4.0 Transitional!

Эти два скриншота показывают, что рекомендации консорциума поддерживаются только браузером MS Internet ExplorerTM. Левый скриншот — это Mozilla 1.3.1, а правый — это MSIE 5.0. Оба браузера получили одинаковые данные, но отобразили их по-разному. И после этого они мне будут говорить, что мой сайт не следует каким-то там рекомендациям?

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

Большая проблема заключается в том, чтобы выбрать нужную спецификацию. А впадать в зависимость от разных рекомендаций, тем более новых, которые могут не поддерживаться старыми броузерами. По новым спецификациям, рекомендовано все атрибуты хранить в CSS и, ни в коем случае, не использовать атрибуты прямо в тэгах. Например, цвет фона в таблице и цвет ячейки таблицы не рекомендуется писать внутри контейнеров TABLE, TD и TR. Даже если я использую сто таблиц с разными параметрами, я должен (собственно, я никому это не должен) описать сто классов в CSS и использовать их в нужной мне таблице. Даже использование контейнера FONT, теперь нежелательно.

К сведению, практически невозможно доказать тот факт, что страница не соответствует рекомендациям. Ведь все рекомендации склоняются к тому, что так писать желательно. Да Бог с вами, ведь это не обязательно. Курить тоже не рекомендуется, так ведь — курят.

Есть несколько обязательных правил в написании HTML, которые нарушать нельзя. Например, «атрибут alt является обязательным». Вот, если вы пропустите этот атрибут, то вы действительно нарушите рекомендации консорциума.

Спорные вопросы

Спор первый. Контейнер: <STYLE>. Рекомендовано: все стили хранить в отдельном файле или в нескольких отдельных файлах. И, что? Теперь я буду рекомендовать пользователям своего сайта, сохранять не только HTML-код сайта, но и сохранять CSS-код, для корректного просмотра сайта в off-line??? Счаз-з-з... облезут... и неровно обрастут (всем консорциумом)! И вообще, почему я должен хранить каскадные таблицы стилей в отдельном файле и подключать их используя такой синтаксис: <style type="text/css" media="all">@import "файл.css";</style>?

Спор второй. Рекомендуется присваивать атрибутам значения, заключенные в кавычки. Это более чем странно, т.к. в рекомендациях для четвертой версии есть фраза, что «авторы могут использовать значения атрибута без кавычек, в том случае, если значение атрибута не содержит знаков пробела». В таком случае, почему bgcolor=#99CCFF считается ошибочным? И еще более странно, что все броузеры, даже Opera, никаких претензий не предъявляют.

Спор третий. Рекомендуется считать, что атрибуты: LEFTMARGIN, RIGHTMARGIN, TOPMARGIN, MARGINWIDTH и MARGINHEIGHT — не существуют. При этом, эти атрибуты, с успехом, используются на многих сайтах... Тем более, что в спецификациях написано, что внутри тэгов можно описывать любые атрибуты (если они не нарушают синтаксис). Рекомендации не являются обязательными, о чем написано в первых же строчках каждой рекомендации:

«Авторы этой спецификации дают рекомендации для пользователей и их агентов. Эти рекомендации не являются нормативными и соответствие этой спецификации не зависит от их реализации. Эти рекомендации содержатся в выражениях „Мы рекомендуем...“, „Эта спецификация рекомендует...“ и подобных им.»

Вы знаете, что спецификация HTML 4.0 — это SGML в чистом виде. Подробнее о Standard Generalized Markup Language, можно прочитать в описании стандарта ISO 8879. Если вы еще не заметили, то я вам про это напишу. Сейчас все рекомендации склоняются к тому, что вся информация, представленная в интернете, должна храниться в XML... Рекомендации консорциума, по поводу HTML 4.0 — один из шагов, который обязывает хранить информацию в XML. Даже название такое придумали: XHTML. Видимо, это ответ на создание DHTML. «Ударим по бездорожью — разгильдяйством и тунеядством!!!»

Спор четвертый. Рекомендуется считать, что контейнер BODY — это не контейнер. Тогда, скажите мне, зачем он нужен? И почему в таком случае контейнеры B, I, S, U, A, P и многие другие остались контейнерами, а BODY перестал им быть?

Спор пятый. В рекомендациях написано, что весь текст стоящий после тэга <!-- является комментарием. И, почему в таком случае, фраза <!--- считается ошибочной? В спецификации нет ни единого слова о том, что после <!-- обязан идти пробел...

Спор шестой. Почему, некоторые кириллические буквы считаются неправильными? Неужели сейчас принято все держать в UTF-8?

Спор седьмой. В некоторых ссылках, я использую стандартный GET-запрос, а мне вдруг заявляют, что я неправильно указал переменную в запросе. Откуда он знает какие переменные использует мой скрипт на сервере. Я, что-то не помню того времени, когда кто-либо из консорциума спрашивал, какие переменные используют мои скрипты.

Почитав рекомендации по этому поводу, я узнал, что писать адреса типа: script.cgi?page=2&view=r — уже не рекомендуется. Правильно писать, либо: script.cgi?page=2;view=r, либо: script.cgi?page=2|view=r. Но «дорогая редакция, я худею... я буквально охудеваю на глазах изумленной публики». Как я объясню серверу, что мы больше не будем использовать амперсант, в качестве разделителя переменных? Это делается не так долго и не так сложно, но сам факт, что это следует сделать дабы ублажить какие-то там рекомендации — вызывает рвотный рефлекс у моего желудка...

Спору нет

С чем я вполне согласен, так это с тем, что атрибута COLOR у тэга HR не существует. Но, почему, в таком случае MSIE показывает эту полосу тем цветом, который я присваиваю этому атрибуту? Вот Opera и Mozilla этот атрибут игнорируют. Хотя сей факт говорит не в пользу этих броузеров. Вот атрибут title я там использовать могу... но, я считаю, что заголовок для разделительной линии несет информации значительно меньше, чем цвет.

Необходимость альтернативного текста у тэга IMG неоспорима. Особенно в тех случаях, когда картинка используется в качестве распорки между баннерами и при создании плавных скосов на углах таблиц. Пользователь обязан получить достоверную информацию о том, что это за серые пиксели в углу монитора и зачем нужна «вот эта» синяя полосочка между подвалом и контентом.

Использование амперсантов в GET-запросе чревато некоторыми последствиями, т.к. агенты пользователя (так рекомендовано называть броузеры) парсят код абсолютно везде. Но, если программист не полный дуб*, то он будет учитывать это автоматически, в момент придумывания имени переменной...

Поддерживать тэги, которые работают почти во всех броузерах — не обязательно. Тэг DIR не поддерживается разве, что Оперой. А вот Netscape, MSIE и Mozilla — отлично обрабатывают этот тэг. Но зачем нужен тэг, который делает красную строку, ведь есть тэг BLOCKQUOTE, который отбивает текст с двух сторон. А вместо тэга DIR, нам рекомендуется создать новый класс в CSS и когда потребуется, использовать нечто, типа этого:

<P class=dir>текст</P>

Даже если такая красная строка требуется всего на десятке страниц... все равно ее нужно будет включить в CSS. Допустим, что такого тэга нет, его действительно нет (в браузере Опера). Тогда я переведу все тэги DIR в BLOCKQUOTE... Я однажды «накалывался» со стилями. Сайт «Межународная музейная биеннале в Красноярске» построен на каскадных таблицах стилей. Так вот, когда мне потребовалось вывести текст по центру страницы, то я написал:

<P align=center>текст</P>

И оказался не прав. Ибо, зайдя на страницу, обнаружил, что вместо текста расположена огромная черная дыра. Идет текст, дыра и опять текст. Я в изумлении лезу смотреть, что за глюк и понимаю, что меня подловили на CSS. Обшарив файл с CSS, я обнаружил там класс center, который делает как раз то, что мне и требовалось. Правильным оказался:

<P class=center>текст</P>

А из-за того, что файл с CSS расположен отдельно от сайта, пользователь оказывается в несколько идиотской ситуации. Сохранил «Only HTML», но придя домой оказалось, что у него чистый, черный лист с вполне узнаваемым дизайном страницы. Если хочешь посмотреть содержимое страницы, то выделяй текст. Не знаешь, как выделять текст? Ну вы батенька ламер, а значит идите в интернет и читайте информацию on-line.

История одного визита

Захотелось мне посмотреть, как пользователи перемещаются по моему сайту. Реализовать такую потребность оказалось очень просто. И один из маршрутов я решил опубликовать здесь. Пользователь пришел на мой сайт из поисковой системы Rambler. Сначала пользователь искал фразу: «морской котик», затем уточнил «дельфинарий». На такой запрос, Rambler дал ссылку на страницу карадагского дельфинария. Прочитав информацию о дельфинарии (за 8 секунд), пользователь воспользовался ссылками, которые генерируются «Ассоциатором» из списка ассоциативных связей. Пользователь посмотрел фотогалерею карадагского дельфинария. Прошло меньше минуты, и этот пользователь вернулся на сайт. Но его повторный визит был опять из поисковой системы Rambler, но запрос был «дельфинарий» и уточнение: «петербургский дельфинарий». И Rambler дал ссылку на страницу с описанием Санкт-Петербургского дельфинария. И пользователь опять воспользовался ссылкой от «Ассоциатора», для просмотра фотографий из дельфинария. Дальнейший путь пользователя протянулся в список всех фотографий. Там он посетил все страницы с предпросмотром фотографий. Некоторые фотографии пользователь посмотрел в увеличенном виде.

Ушел же пользователь со страницы с описанием Карадагского дельфинария. Замете, в поисковом запросе пользователь не использовал слов, касающихся фотографий. А смотрел он в основном фотографии. Среднее время просмотра отдельной страницы составляло от 6 до 20 секунд. Но это касается одного, случайно выбранного, пользователя... делать подборку из нескольких пользователей было лень.


* Дуб — род деревьев, реже кустарников семейства буковых. Около 450 видов, в умеренном, субтропическом и тропическом поясах, главным образом в Северном полушарии; в РФ 20 дикорастущих видов и около 40 видов в культуре. Лесообразующая порода. Древесина прочная и долговечная, с красивым рисунком; применяется в кораблестроении, производстве мебели и т.д. Кору используют для получения дубильных веществ и с лечебной целью (вяжущее средство); желуди идут на суррогат кофе и на корм животным. Дуб пробковый дает пробку. Многие виды декоративны. Шесть видов в Красной книге РФ.

Отредактировано:2020-10-03 17:52:17


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика