По ту сторону Веб-страницы

Проектирование

Если не знаешь, зачем сайт и куда его применить — не делай его совсем. Это, пожалуй, ключевое правило проектирования сайта. Потому что во всех остальных случаях есть материал, идеи и хотя бы приблизительное представление, как воплотить идею в жизнь.

После того, как идея появилась и в достаточной мере оформилась, а материалы оказались подготовленными, следует решить кроссворд.

Кроссворды, как известно, обладают одной особенностью: все без исключения должно встать на свои места так, чтобы не осталось пустых мест. В случае с разработкой сайта действует такое же правило: все компоненты сайта должны вступать между собой в такие отноше­ния, чтобы не оставалось смысловых пробелов. Чтобы ничего не было упущено, но и слишком многого бы не получилось.

Тривиальный пример — построение главной страницы. С одной стороны, на ней должно уместиться все основное, что есть на сайте, хотя бы в виде ссылок и анонсов. С другой стороны, если на главной страни­це будет переизбыток информации, ею будет трудно пользоваться. Ос­тается найти золотую середину: либо частью ссылок пожертвовать, либо сделать изящное иерархическое меню, которое позволит расположить на главной странице большинство ссылок, если не все.

Процесс создания сайта после проектирования включает, как пра­вило, три фазы (не обязательно протекающие последовательно — час­то и параллельно). Это дизайн, верстка и программирование. Зачастую три фазы выполняют три разных человека (или даже три группы людей). И смысл проектирования в этом случае — сделать так, чтобы все трое могли сразу начать свою работу, потому что общая концепция уже ре­шена, и можно работать уже по готовому техническому заданию. Даже если всю работу делает один человек, важно изначально представлять себе процесс, чтобы не переделывать десятки раз уже готовую работу.

Но цель проектирования не только в том, чтобы в первом при­ближении разработать структуру сайта и внешний вид, но в том, чтобы учесть десятки мелочей, нужных для того, чтобы сайт выглядел полно-

Стью завершенным. Ведь завершенность, как известно, — это не только когда уже нечего добавить. Это еще и когда больше нечего выкинуть.

1.1. В сторону смысла: форма и содержание

Понятия «форма» и «содержание» появились очень давно. Анало­гично, важность разграничения формы и содержания тоже была осознана давным-давно. Тем не менее, при создании веб-страниц принцип такого разграничения проводится далеко не всегда.

Типичный пример — редизайн. Первый (штатный) дизайнер де­лает сайт, состоящий из 214 страниц в формате. html, в каждом из них пишет навигационное меню, а стили в связанном CSS-файле описыва­ют только цвет ссылок и нулевые отступы по краям страницы. На каж­дой странице он заголовки выделяет не тэгом <h1>, а сочетанием тэгов <b> и <font size=+4>, причем не всегда закрывает их. Потом дизай­нер увольняется. Шедевр висит на сервере два года, а потом руководству сообщают, что сайт не соответствует современным требованиям, плюс к тому — на нем нельзя оставить отзыв, сделать заказ и отправить пись­мо. Руководство раскошеливается и приглашает веб-дизайнера со сто­роны. Тот смотрит файлы сайта и ужасается. Потому что переделать это невозможно: проще сделать заново.

Почему так происходит? Потому что первый дизайнер брал стра­ницы одну за другой и просто вставлял новый текст вместо старого. По­тому что он не смотрел вперед и не думал, что сайт нужно будет переде­лывать: например, добавить пару разделов (из-за чего 214 раз придется переписывать фрагмент кода, отвечающий за навигацию). Изменить раздел логотипа (аналогичный объем переделок). Он не думал, что лю­бой поисковой системе будет сложно автоматически вычленить заголо­вок страницы из массива текста, не размеченного логически. Он вообще не осознавал, что фрагменты веб-страницы могут обладать семантикой. Не думал, что можно разметить их не формальными тэгами (которые только изменяют внешний вид), а логическими. Дело в том, что если вид заголовков, размеченных парой тэгов <h1>...</h1>, разонравился, его можно изменить правкой всего одной строки в CSS-файле, а не ре­дактировать 214 страниц. Аналогично, если есть семантически схожие блоки текста, их можно оформить парой <span class = "...">...</span> и придумать имя класса, который будет описан в том же CSS-файле.

Не всегда, конечно, первый вариант сайта настолько плачевен. Но необходимость вносить изменения на веб-страницы есть всегда,

28

В сторону смысла: форма.

1.1

подпись: 1.1Если сайт жив и обновляется. И вносить эти изменения чаще всего будет тот же веб-дизайнер, который и начинал дело. Этот факт нужно преду­смотреть с самого начала. Для этого рекомендуется соблюдать всего три простые правила.

1.

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

Пожалуйста, не делайте разбивку на абзацы при помощи тэга <Ьг>... И еще хуже — с помощью него же плюс несколько неразрывных пробелов в начале, чтобы имитировать книжный вид абзацев. Пред­ставьте, что с вашего сайта берут текст, копируют его в программу верс­тки, назначают стиль и, тихо ругаясь матом, убирают лишние пробелы, а потом еще разбивают один ваш большой абзац в местах принудитель­ного перевода строки на настоящие абзацы. Книжный вид абзацев можно, например, имитировать так:

| <р style="text-indent:2em; тагдіп:0рх">...</р>.

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

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

Вырежи и сохрани

Серверных решений может быть несколько. Самое простое — включение на сервере в каждый из содержательных файлов одного или двух «оформительских» файлов (например, в верхнем шапка и меню, а в нижнем — нижняя панель с адресом ком­пании и строкой поиска). Это делается с помощью директив include или require в зависимости от языка (поддерживается PHP, Perl, ASP, SSI и другими языками). Второй способ (действует

На сервере Apache) — использование файла. htaccess, в котором пишутся директивы, автоматически вставляющие файлы с офор­млением в начало или конец страницы. Способ удобнее тем, что имя одного из файлов может поменяться, а нижний блок вообще дизайнер захочет убрать. Наконец, есть третий способ: обратное включение. Это значит, что есть файл с «ядерным сценарием», или «ядром», который берет откуда-то (например, из перемен­ной $QUERY_STRING, читающей строку запроса из адресной строки) данные о том файле, который нужно вывести, обраба­тывает его, а затем включает в себя и выводит на экран. Очень гибкий способ, имеющий массу реализаций.

В итоге всех этих манипуляций с файлами у нас остается не так уж много: девственно чистые файлы с содержанием страниц и заголов­ками (опороченные разве что разбивкой на абзацы или иными тэгами, обеспечивающими грамотную и красивую верстку), с одной стороны, и файлы сценариев по обработке страниц — с другой. Каждый отвечает только за порученные ему задачи.

2.

В тексте, конечно, допустима разметка. Но, учитывая реализа­цию языков разметки в современных браузерах [на момент написания статьи — Internet Explorer 7, Netscape 8 (обещают 9), Opera 9, Firefox 2 (обещают 3), Safari 2 (обещают 3), Konqueror 3.5 и т. п.], вполне мож­но обойтись тэгами <div> и <span> с классами, которые описывают­ся в связанном CSS-файле, заголовочными тэгами, ссылками и кар­тинками. Желательно, чтобы имена классов были не произвольными, а семантическими. Согласитесь, если вы назовете класс «advice», то в дальнейшем класс блоков, отвечающий за советы пользователю, вы мо­жете оформить как угодно, тогда как если вы назовете его «blueframe», то при смене дизайна необходимо будет сменить и имя стиля — вдруг вы решите заключить все советы в красную рамку? А советов в ста пятнад­цати файлах уже набралось порядка тысячи.

3.

Последнее важное правило: автоматизируйте повторы. Если у вас на одной странице повторяются блоки текста с одинаковым оформлением, то, возможно, стоит этот текст вынести в отдельный файл, разграничить значимые блоки разделителями (например, |) и написать в основном файле страницы сценарий, который будет раз­бивать текст на фрагменты, заносить фрагменты в массив и на основе этого массива формировать цикл с повторением кода, оформляющего внешний вид текста.

В сторону смысла: форма.

1.1

подпись: 1.1Автоматизация, естественно, не замыкается на этом примере. Ос­новная мысль заключается в том, что, если встречаются повторяющие­ся фрагменты кода (и есть вероятность, что количество повторов будет больше двух или трех), лучше доверять делать такие повторы скриптам.

Для хранения же «чистых» данных есть два основных способа: базы данных и файлы. В первом случае данные, связанные друг с другом, просто разнесены в разные ячейки виртуальной таблицы, где все строки пронумерованы, а столбцы поименованы. А с файлами можно посту­пить по-разному: либо хранить все значимые фрагменты в отдельных небольших файлах, либо (как было описано выше) разделять фрагмен­ты данных в одном файле — после чего анализировать файл скриптом, — либо использовать одну из форм XML (семантически размеченные файлы). Последнее зависит от ваших потребностей. Если XML-файлы для вас — это основное хранилище данных со сложной рубрикацией, то стоит использовать собственно язык XML в связке с XSLT-преобразо­ваниями, причем желательно на сервере с помощью модулей языков веб-программирования — браузеры не всегда корректно интерпрети­руют эту связку. Если пойти по пути наименьшего сопротивления, то можно разные фрагменты данных заключать в тэги, принятые на вашем сайте (например, <coшments>тэги комментариев</coшments>), а функцию разбора файла на фрагменты, ограниченные этими тэгами, возложить на самостоятельно написанный скрипт. Практика показыва­ет, что такой скрипт вполне можно уместить в 10 строчек:

Function XMLer($string name,$tag name)

{

$tag name = strtolower($tag name); if(strpos($string name,$tag name)===false)

{

$tag name = strtoupper($tag name);

}

$tagnu = strlen($tag name)+2;

$begi = strpos($string name,"<".$tag name.">")+$tagnu;

$string name = substr($string name,$begi);

$fini = strpos($string name,"</".$tag name.">"); return substr($string name,0,$fini);

}

Такой подход облегчает изменение структуры: правка вида всех повторяющихся фрагментов производится только в одном месте. Резюме

Итак, выносим все повторяющееся в отдельные файлы, разгра­ничивая содержимое и оформление, делаем разметку семантической,

А повторы автоматизируем. Смысл этих советов не только в том, что­бы большой объем работы сделать в меньшие сроки, не теряя качества, но и в том, чтобы в вашей работе появилось новое качество: семантика. Использование смысловой (семантической) разметки веб-страниц де­лает возможными многоаспектную автоматическую обработку текстов и гибкое управление данными.

1.2. Избыточность и недостаточность

Как-то я заинтересовался новостью, анонс которой увидел на сер­вере mail. ru, открыл ее и увидел примерно такую картину, которую вы можете видеть на следующей странице.

Пунктирной серой рамкой на этой странице я обвел новость, ко­торая мне требовалась. Внизу новости была форма голосования, и я готов допустить, что она мне тоже требовалась, хотя я все-таки сомневаюсь в этом. А все остальное — это логотип, навигация (без них никуда), анон­сы остальных новостей и реклама. Причем анонсы и реклама занимают большую часть площади и повторяются от страницы к странице — а ведь в первую очередь это почтовый портал! В итоге около трех четвертей за­груженной информации оказались мне не нужны; кроме того, из-за не­равномерной нагруженности колонок пострадал дизайн страницы.

Как можно было этого избежать?

Поскольку я читаю в первую очередь новость, по которой щелк­нул, загрузить следовало только ее, навигационный блок (с логотипом, конечно) и несколько ссылок: на архив, котировки, знакомства, голо­сования, другие новости. Совершенно необязательно было загружать заголовки других новостей, блоки, посвященные знакомствам и дру­гим вещам, которые к новости не имеют отношения. На веб-страницах вообще нежелательно давать большие массивы информации (если это, конечно, не статьи и не книги) — фрагментарные, или рубрицирован - ные, сведения воспринять проще (и экономнее).

Резюме: все, что не относится к теме любой данной веб-страни­цы, следует давать в виде лаконичных ссылок, например: «Знакомства», «Другие новости».

В этом случае, даже если за ссылкой будет скрыт большой объем информации, но он будет подгружаться на страницу динамически, по­сетители вряд ли будут иметь что-то против этого.

Если на сайте что-то оказывается лишним, с этим можно мирить­ся: кому-то это лишнее окажется полезным, а остальные в конце кон-

32

Цов просто перестают обращать на избыточную информацию внимание. Гораздо хуже, если не удается найти то, что требуется.

ПроектированиеГость, оказавшийся на чужой кухне, зачастую не в состоянии най­ти соль или специи. «В этом доме даже соли нет», — говорит он и по­кидает кухню, что называется, не­солоно хлебавши. Ему не приходит в голову, что соль может лежать в непривычном месте, например, в баночке с надписью «Кофе». Строго говоря, он и не должен особо думать, где взять соль: за него должны были подумать хозяева.

Похожая проблема наблюда­ется на многих сайтах. Если посети­тель — не фанат данного сайта (или студии, создавшей сайт), он не в состоянии иногда найти элементар­ных вещей. И причина этого — не неопытность посетителя, а непроду - манность структуры сайта.

Разработчик каждого сайта должен думать о трех вещах, прямо или косвенно имеющих отношение к структуре и навигации сайтов: руб - рицирование содержимого сайта; выделение уникальных моментов; дополнительные возможности на­вигации, в первую очередь поиско­вая система. Рассмотрим каждый из компонентов подробнее.

Пользователь заходит на сайт, и если его цель — не прочитать но­вости и основную информацию на главной странице, — он обратится к навигационному меню. И если меню невнятное, нечетко и неяв­но представляет структуру сайта, то разобраться в нем будет непросто. Правильное создание рубрикации сайта и меню — задача нетриви-

Проектирование

Альная. Наиболее общей рекомендацией можно считать следующую: не следует создавать слишком много разделов. Если организация, ко­торой посвящен сайт, занимается большим количеством разных ви­дов деятельности, нужно выявить общие направления, а в каждом из этих направлений конкретизировать виды деятельности. Например, если организация занимается покраской и сервисным обслуживанием автомобилей, то, очевидно, на ее сайте может быть всего четыре раз­дела: «Виды деятельности», «Ассортимент» (или «Продукция», если организация занимается не только торговлей, но и производством), «Сотрудничество», «Контакты». В этом случае сразу понятно, в какой раздел нужно зайти, чтобы найти информацию о поставщиках или обо­рудовании для ремонта (подъемники, стапели), как договориться о со­трудничестве и найти офис организации.

Минимальное число разделов, которые должны быть в меню на сайте — три. Если раздела всего два, и им посвящено по одной стра­нице, есть ли смысл вообще заводить сайт? В этом случае бывает доста­точно визитной карточки на плотной бумаге размером 9 на 5 см. Мак­симальное число разделов, в которых посетитель не запутается сразу и бесповоротно, — не более семи. Как бы скептически вы ни относились к исследованиям по поводу человеческой памяти и внимательности, ориентироваться посетителю все же удобнее в небольшом количестве разделов. Оптимальный вариант — 4 или 5 основных разделов, в которых иерархически располагаются остальные. Однако не стоит доводить этот принцип до крайности и организовывать структуру, в которой глубина иерархической вложенности будет достигать 10 узлов: чтобы добраться до нужной страницы, посетителю придется пройти через несколько про­межуточных страниц, на четвертой-пятой ему это, вероятно, надоест.

Важность разработки логической структуры сайта важна еще на самом начальном этапе. От этого зависит техническая разработка струк­туры сайта, решение о способе хранения данных (очевидно, что способ хранения данных во многом зависит от количества разделов и степени однотипности данных в разделах: где-то требуются табличные струк­туры, где-то — сложная верстка, а где-то разделы представляют собой блог). От этого также зависит во многом дизайн страниц: не менее оче­видно, что кроме вертикального меню слева и горизонтального сверху есть и другие способы представления меню на веб-страницах. Наконец, принятие решения о составе разделов и их иерархической структуре бу­дет влиять на степень удобства использования сайта, что немаловажно.

Второй момент, о котором нужно всегда помнить, — это яркое представление особенностей вашего сайта.

Многие сайты содержат какую-то уникальную информацию. (О полной уникальности говорить сложно в связи с легкостью копи­рования информации. Можно говорить о том, что какие-то сайты яв­ляются первоисточниками уникальной информации.) Это могут быть

34

Справочные сведения, статистические данные, подборки статей по оп­ределенной теме, коды программ, репродукции произведений художни­ков, аудиозаписи, авторские монографии и исследования, демонстрация ноу-хау и так далее. Несомненно, данный сайт будет более посещаемым, если он не копирует информацию (исключение представляют дайджес­ты разных форм, в том числе и ленты RSS с разных сайтов, собранные в одном месте), а предоставляет какую-то новую, необычную и полез­ную из первых рук. Такая информация должна стать основной частью сайта, а на главной странице и в навигационном меню ссылки на фраг­менты этой информации должны быть хорошо видны.

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

Принцип контраста заключается в использовании средств, не­типичных для данной страницы. Например, если все меню набрано мелким шрифтом одного цвета с небольшими междустрочными интер­валами, то пункт меню, ведущий на страницу с эксклюзивом, можно выделить размером и увеличением междустрочного интервала, что ви­зуально выделит ссылку из ряда аналогичных. Черно-белое или моно­хромное меню можно разбавить цветным пунктом, что сразу выделит его. Светлый текст на темном фоне, встретившийся среди темных ссы­лок на светлом фоне, также будет очень заметным.

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

Наконец, третий момент — это использование дополнительных средств навигации по сайту.

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

По типу наиболее близким к меню средством являются индек­сы, или так называемые карты сайта. Это обычно одна страница (реже несколько), где собраны ссылки на все разделы данного сайта. Ссылки должны быть представлены не сплошным списком, а структурирова­но. Хорошо, если разработчик позаботится о том, чтобы предоставить несколько видов загрузки карты сайта: по темам (разделам), по дате последнего обновления (или по дате создания) страниц, по степени посещаемости (с помощью простой таблицы в базе данных очень лег­ко сделать статистику посещения каждой отдельно взятой страницы), по количеству комментариев к страницам (если такая возможность пре­дусмотрена), по ключевым словам, по авторам материалов и по другим критериям, актуальным для сайта.

Проектирование

Но даже в случае с индексами посетителю приходится прилагать определенные интеллектуальные усилия, чтобы найти нужную инфор­мацию. Если же вы приверженец идей Якоба Нильсена и Стивена Кру­га (основная идея последнего отражена в подзаголовке его известной книги: «Не заставляйте меня думать»), то вы просто обязаны включить в разрабатываемый сайт механизм поиска информации. В этом случае вы позволите посетителю переложить работу по поиску информации на плечи сценариев.

Поисковые системы на сайтах могут работать в традиционный и динамическом режиме. Первый подход к созданию локального поис­ковика — серверный, то есть посетитель вводит запрос, нажимает кноп­ку «Искать» или клавишу Enter (Return), запрос отправляется на сервер, сценарий на сервере анализирует строки в файлах и БД на предмет со­ответствия запросу и в случае нахождения нужного результата выдает его посетителю. В этом случае требуется перезагрузка страницы. Второй подход, динамический, предполагает, что результаты выводятся на стра­ницу (ту же самую, откуда производится поисковый запрос) если не по мере набора букв пользователем, то сразу же после какого-то его дейс­твия. Механизм такого поиска довольно прост: по событию onKeyUp (отпускание клавиши на клавиатуре) запускается действие функции, которая передает запрос на сервер (через <iframe> или с помощью воз­можностей AJAX), а по возвращении результата он выводится в браузер без перезагрузки страницы. Поиск можно реализовывать не полнотек­стовый, а только по заголовкам: в этом случае он происходит намного быстрее, а в качестве результатов выводится своеобразное меню из за­головков страниц, наиболее точно соответствующих критерию поиска. (Динамическое меню — достаточно удобная вещь, но все же посетитель должен иметь возможность вернуть его в стандартное состояние.)

Еще одним, достаточно редко используемым альтернативным средством навигации являются ссылки по теме. Если они не представ­лены в виде громоздких абзацев, в отношении трафика они достаточно экономны, но очень полезны. Помещать их следует в прямой области видимости посетителя, однако не так, чтобы они «перебивали» более важные ссылки. Нужно помнить, что это именно дополнительные ссылки. Подобные ссылки можно выносить на поля рядом с тем абза­цем, для которого они актуальны, можно формировать блок таких ссы­лок в начале или конце страницы. Важно только одно: чтобы посети­тель, для которого интересна тематика данной страницы, получил еще материалы по теме.

Кроме навигации, на сайтах часто сложно найти средства об­ратной связи — при всем богатстве сетевых средств общения, среди которых не только электронная почта (которую можно использовать как идентификационную запись в некоторых клиентов), но и ICQ, фо­рум, чат, книга отзывов, комментарии к записям и страницам, вопро-

36

Сы и персональные сообщения. Да и телефоны с обычной почтой еще никто не отменял. Разработчики сайта не всегда задумываются о том, что у посетителя могут возникнуть вопросы, его могут преисполнить слова благодарности или гнев за бесцельно потраченное время. На са­мом деле, неужели не интересно узнать мнение посетителей о ресурсе и его ценности?

В лучшем случае ссылку на то или иное средство нужно разме­щать на каждой странице. Тогда у посетителя не будет необходимости писать, на какой странице он побывал до того, как решил оставить впе­чатления. Дело в том, что посетитель может просто забыть указать это, и владельцы сайта будут недоумевать, что он имел в виду.

Еще две мелочи, которые очень сильно портят жизнь многим посетителям сайтов, — отсутствие возможности отключения мультиме­дийных приправ: заставки и звука.

Заставки на сайтах, созданные на флэше, — это одно из самых бес­полезных и навязчивых изобретений веб-дизайнеров. Единственное ис­ключение — так называемые прелоудеры (preloaders), которые сообща­ют, сколько времени или процентов осталось до окончательной загрузки ролика. В остальных случаях, какими бы красивыми заставки ни были, они не способствуют предоставлению информации, а только задержи­вают загрузку основной части сайта. Первый и второй разы заставкой полюбоваться можно, на третий раз посетитель с нетерпением ждет ее окончания, потому что ему нужны новости и какая-то информация, скрытая в недрах сайта. Поэтому правило, которым не нужно пренебре­гать, формулируется просто: дайте посетителю возможность пропустить заставку, поставьте прямую ссылку на смысловую страницу сайта.

Многие дизайнеры любят баловать посетителей своих сайтов фоновой музыкой. Только не все их них понимают, что во время посе­щения сайта многие пользователи слушают музыку. Посетители очень удивляются, когда обнаруживают смешивание двух звуковых потоков, а если в браузере открыто несколько страниц, то они не сразу понимают, какое окно издает звуки. Методов включения звукового сопровождения на сайт два: средствами HTML (с участием скриптов) и флэш. В первом случае скриптами же его можно и отключить: не отнимайте у посетите­ля эту возможность. Во втором случае все еще проще: если вы сумели включить звуковой файл в ролик, сумеете написать скрипт и для его выключения. Музыка без возможности отключения имеет право на су­ществование только на сайтах музыкантов.

И еще один пример, который очень повеселил меня и заставил сформулировать очередное правило.

На сайте одной компании, которую не стоит называть, в числе прочего есть раздел о вакансиях. Текст в нем написан подробно и со вку­сом. Не могу не удержаться, чтобы не процитировать его (орфография и пунктуация сохранены):

Проектирование

«Компания <пропущено> всегда открыта как для абмициозных, творческих профессионалов, так и для людей, только начинающих свою трудовую деятельность.

Мы предлагаем работу в молодом дружном коллективе, демократичную обстановку и все возможности для карьерного и профессионального роста.

Основной компенсационный пакет:

1) . Достойный уровень официальной заработной платы, премии;

2) . Оплачиваемый отпуск (28 календарных дней);

3) . Добровольное медицинское страхование (для иногородних - оформление обязательного медицинского страхования)

Дополнительный (социальный) компенсационный пакет:

1) . Корпоративные мероприятия;

2) . Сауна, бассейн, кабинет психологической разгрузки;

3) . Обучение (посещение тренингов, семинаров, профессиональных форумов и выставок).»

А чуть ниже примечание:

«В настоящее время все вакансии в компании <пропущено> закрыты.»

Человек, вдохновившийся описанием, уже жаждет найти себе ра­боту, и тут такое разочарование.

Итак, обещанное очередное правило. Если вакансий на сайте нет, из меню нужно убрать ссылку на этот раздел, пока вакансии не поя­вятся. А если более абстрактно — нельзя делать ссылку на то, чего нет на сайте.

На этом же сайте мне встретилось выпадающее меню (<select>), содержащее только один пункт. Выбирать, собственно, не из чего, если предлагается только один вариант. Поэтому и списка выбора там быть не должно.

38

Вавилонские сайты

По ту сторону Веб-страницы

Словарь

Ботки. Обычно расширения состоят из трех букв (exe, gif, php, mov, bmp, eps, swf, asp, m3u, avi, rtf, txt, zip, cpp), но встречаются также двухбуквенные (js, ai) и четырехбуквенные (html, …

Справочник для внутреннего использования

Навигация есть признание того, что твоя страница далека от иде­ала. Ибо если бы она была близка к нему, зачем бы потребовалось покидать ее? А если ее не требуется покидать, зачем …

Алфавит от Google

Есть такая тестирующаяся поисковая подсистема от Google (Http://Www.Google.Com/Webhp?Complete=1&Hl=En), в которой по введенным первым буквам предлагаются наиболее часто за­прашиваемые слова. Я собрал все первые (наиболее рейтинговые) слова на каждую букву русского …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Партнеры МСД

Контакты для заказов оборудования:

Внимание! На этом сайте большинство материалов - техническая литература в помощь предпринимателю. Так же большинство производственного оборудования сегодня не актуально. Уточнить можно по почте: Эл. почта: msd@msd.com.ua

+38 050 512 1194 Александр
- телефон для консультаций и заказов спец.оборудования, дробилок, уловителей, дражираторов, гереторных насосов и инженерных решений.