Семантика
MUST READ
abbreviation
heading
paragraph
definition list
unordered list
ordered list
division
italic
bold
Семантика — совокупность смысловых отношений.
<dl>
<dt>Семантика</dt>
<dd>совокупность смысловых отношений.</dd>
</dl>
семантический HTML код — это верстка с правильным использованием HTML тегов, использованием их по назначению, так как их задумывали разработчики языка HTML и веб стандартов
Уровни семантики
- Применение HTML-элементов
- Именование элементов
- Комбинация именованных элементов*
Применение HTML-элементов
особенности применения элемента и смысловые связи, которые образует с остальными элементами, расписаны в спецификации, остаётся только научиться использовать эту информацию
Подобное использование HTML-элементов по их назначению, получило название POSH (Plain Old Semantic HTML) — проще говоря, «старый добрый семантический HTML»
Именование элементов
- Имя элемента характеризует его функциональность или содержимое: упорядоченный список(первый уровень семантики) комментариев (второй уровень семантики)
- Семантически верное именование HTML-элементов при помощи атрибутов id и class, помимо самой семантики, привносит упорядоченность не только в сам документ, а ещё и в процесс разработки
- при использовании последовательной и логичной политики именования элементов, а также отступов, формирующих дерево документа, практически полностью отпадает необходимость разметки кода HTML-комментариями
Id vs. Class
Id используются на странице 1 раз | Class можно задавать много раз |
Id у элемента только один | у одного элемента может быть несколько классовб возможны комбинации |
у id бОльший вес для CSS |
Class для CSS
ID для JavaScript
Комбинация именованных элементов
создание смысловых связей между семантическими единицами в документе
Пример: микроформаты
микроформат - способ семантической разметки сведений о разнообразных сущностях (событиях, организациях, людях, товарах и так далее) на веб-страницах с использованием стандартных элементов языка HTML (или XHTML). Пользователь-человек может воспринимать страницу с микроформатом как обычную веб-страницу (через браузер), тогда как программы-обработчики способны извлечь из такой страницы структурированную информацию, следуя определённым соглашениям
<div>
<div>Василий Пупкин</div>
<div>Рога и Копыта</div>
<div>495-564-1234</div>
<a href="http://example.com/">
Мой сайт</a>
</div>
<div class="vcard">
<div class="fn">Василий Пупкин</div>
<div class="org">Рога и Копыта</div>
<div class="tel">
<span class="type">Work</span>
<span class="value">495-564-1234</span>
</div>
<a class="url" href="http://example.com/">Мой сайт</a>
</div>
Семантический HTML для веб разработчиков
- чистый код — семантический HTML код чище и меньше по объему, чем не семантический. А чем меньше кода, тем проще найти нужный участок или локализовать ошибку, с ним проще работать.
- понятный (читаемый) код — осмысленные имена классов и идентификаторов дают представление о структуре кода тому кто его читает. Это имеет важное значение, когда над сайтом работает команда разработчиков. Это опять же сокращение времени разработки.
Семантический код для пользователей
- семантический код напрямую влияет на объем HTML кода. Меньше кода —> легче страницы —> быстрей грузятся, меньше требуется оперативной памяти на стороне пользователя, меньше трафика, меньший объем баз данных. Сайт становиться быстрей и менее затратным.
- голосовые браузеры для которых важны теги и их атрибуты, чтобы произнести правильно и с нужной интонацией содержимое, или наоборот не произнести лишнего.
- мобильные устройства которые не на полную мощь поддерживают CSS или скорость интернет-соединения ограничена и поэтому ориентируются в основном на HTML код, отображая его на экране согласно используемым тегам.
- устройства печати даже без дополнительного CSS напечатают информацию качественней (ближе к дизайну), а создание идеальной версии для печати превратится в несколько легких манипуляций с CSS.
- к тому же существуют устройства и плагины, которые позволяют быстро перемещаться по документу .
Семантический HTML для машин
Поисковые системы постоянно совершенствуют методы поиска, чтобы в результатах была та информация, которую действительно ищет пользователь. Семантический HTML способствует этому, т.к. поддается гораздо лучшему анализу — код чище, код логичен (четко видно где заголовки, где навигация, где содержимое).
HTML5 Semantics
Интересный факт: семантичные теги HTML5, такие как header, footer, nav, section появились после анализа Google миллиарда страниц: было исследовано как авторы описывают свои html элементы
Semantics
By Maria Putyrskaya
Semantics
Semantics definition and advantages
- 3,663