Gansik's Blog

Семантика и профессионализм

Я немного поучаствовал в обсуждении непрофесиональной статьи, недавно опубликованной на хабре. В процессе обсуждения выяснилось что очень многие видя в HTML коде тег DIV автоматически начинают считать что вот оно как надо, вот она, та самая правильная вёрстка, подражание которой приведёт их к высотам мастерства, славе и деньгам.


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

Строго говоря, концепция семантической верстки заложена ещё в SGML, прародителе HTML. Основной принцип прост и понятен если хоть ненадолго забыть о CSS, броузерах и их багах:

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

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

Хороший верстальщик тратит все доступное ему время проекта на решение проблем в семантике документа. Плохой верстальщик бездумно добавляет ещё один DIV.

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

Ну и что бы мой пост не был сплошной "водой", хочу посоветовать что же все таки почитать можно по поводу семантической вёрстки. Первое это конспект доклада "pepelsbey" для "UA Web 2008", первая и вторая части. Я не смог найти русскоязычного ресурса, где бы было лучше написано о семантике чем в этих статьях.

Немного попроще статья для начинающих - "О семантической вёрстке". Также всем начинающим в обязательном порядке необходимо ознакомится с "Учебником" Ивана Сагалаева. Иван просто и доходчиво описал технологию работы HTML+CSS, и незнание этих основ мало способствует тяге к малопонятным вещам типа "семантики". Кстати, у Ивана есть довольно провокационая статья. Эта статья это лакмусовая бумажка для верстальщика. В своё время она "навела шороху" среди верстальщиков :) Так вот если вы понимаете что реально написано в статье (подсказка, идея не в том что бы вернутся к HTML 2.0) - вы на верном пути.

И в заключение, маленькая хитрость от меня лично. Если вы хотите увидеть достаточно ли качественно размечен HTML документ. Вам надо выключить весь CSS на странице, и добавить такой код:

<style type="text/css">
div{
	margin:0;
	padding:0;
	border:1px solid red;
}
</style>

Обратите внимание на вертикальные красные линии, чем они толще, тем больше страдает семантика вашего документа.

Эта статья изначально была опубликована на Хабре, но с недавних пор я категорически не согласен с их политикой цензурирования статей, по принципу "подходит ли текст нашим рекламодателям", так что всё переношу в свой блог. Он не такой популярный как Хабр, но и "прогибаться за деньги" мне нету необходимости. Тут все мои статьи целее будут.

Обсуждение этой статьи на Хабре.

Комментарии

Прежде чем написать новый комментарий...
Publish Date Thu, 30 Oct 2008 15:59
Author Gansik

При добавлении комментария вы можете использовать весь набор HTML тегов, который знаете. Даже те которые deprecated в XHTML. Пишите любой JavaScript. Добавляйте ссылки на что хотите и куда хотите. Конечно же разрешенна вставка картинок любого содержания, на какой бы помойке вы их не нашли. Оскорбления владельца блога или комментаторов - не проблема. Не сдерживайте себя, пишите что хотите...

Другой вопрос опубликую ли я ваш комментарий ;) Но вы попробуйте, а вдруг повезет.

Аргументированное мнение не совпадающее с моим, будет опубликованно в объязательном порядке. Реплики типа "Добавил в закладки", "Спасибо, очень полезно" публиковаться не будут. Не надо тешить мое тщеславие, оно и так непомерное.

Антиспам‐ контроль. Проверка трёх вещей: вы знаете русский, вы умеете читать и вам больше 8 лет. Ниже в поле напишите, какой сегодня день недели. По‐ русски; в именительном падеже; в нижнем регистре.

Проверка осуществляется по восточноевропейскому времени (UTC+2).



Категории
Tag Cloud