XHTML семантика делает Веб лучше

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

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

Правду сказать, — все очень просто. Сложности, у некоторых, начинаются там, где надо использовать CSS. А поскольку эти самые “некоторые” изучать CSS, прямо скажем, не хотят, то и продолжают делать меню с помощью табличных тегов (<td>ссылка</td>), а заголовки с помощью тегов <b>. Но я думаю, что такой код свидетельствует о компетентности кодера лучше, чем все остальное.

XHTML имеет простую и понятную структуру

В набор тегов (tag set) входит все, что необходимо для написания HTML кода веб-страницы в соответствии со стандартной спецификацией.

Особенно замечателен (во всяком случае для меня) факт, суть которого заключается в следующем: (X)HTML структура нормального веб-сайта, может состоять из простейших тегов элементов, таких как заголовки <h1>, абзацы <p>, нумерованные, ненумерованные списки <ol>, <ul>, списки определений <dl>, формы <form> и, конечно, ссылки <a>. Добавьте к этому набору тэги, объединяющие эти элементы в логические блоки — <div> или <span> и вы получите впечатляющие результаты. Конечно, визуально таких же результатов можно добиться, просто порезав картинку на слайсы в Image Ready, но будет ли конечный продукт современным веб-сайтом, очень большой вопрос.

Рискну предположить, — суть метода “семантической” HTML верстки в использовании тегов, соответствующих по смыслу содержанию. Что представляет из себя навигация сайта? Это список, состоящий из ссылок. Как правило, это ненумерованный список — unordered list<ul>. Тогда навигацию можно закодировать, например, так:

<ul><li><a>ссылка 1</a></li><li><a>ссылка 2</a></li></ul>

или вот так, если это список определений, definition list<dl> :

<dl><dt><a>Мобильные телефоны</a></dt>
<dd><a>Nokia</a></dd>
<dd><a>Motorola</a></dd></dl>

Выбор того или иного набора тегов зависит от контекста и личных предпочтений. Надеюсь, что из этих примеров видно, что ничего сложного в этой концепции нет. Эта “best practice” известна давно. Я не могу понять почему до сих пор люди пишут меню сайтов, используя совершенно не предназначенные для этого табличные теги? Особенно, если учесть, что их код получается гораздо больше и практически абсолютно недоступным (inaccessible) для альтернативных устройств. Хотя нет, — могу понять, эти люди просто не хотят изучать CSS.

Откуда берется семантика

Веб-страницы состоят из заголовков (статей например или каталогов с описаниями), блоков текста, списков ссылок, табличных данных и форм. Для каждого из этих элементов есть свои наборы тегов. Конечно, такие наборы не универсальны. Именно поэтому и существует XML. Но, к сожалению, на сегодняшний день развитие технологий опережает их внедрение и поэтому XML люди вынуждены конвертировать в XHTML, который понимает MS IE. :)

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

Но с помощью того же XML можно создать стандартизованный формат, описывающий информацию по известным правилам, где каждый конкретный элемент несет заведомо определенное значение, которое и есть семантика этого конкретного элемента. Например? RDF или набирающие обороты Микроформаты.

Отлично. Но для чего нужна эта семантика?

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

Мы можем внести свой скромный вклад в процесс превращения информации в знания просто кодируя содержание веб-страниц в соответствии с семантическим значением элементов стандартизованного формата XHTML.

Comments are closed.