1. HTML: структура страницы, семантика и доступность
HTML: структура страницы, семантика и доступность
Зачем начинать с структуры, семантики и доступности
HTML отвечает за смысл и структуру страницы. CSS оформляет, JavaScript добавляет поведение, но именно HTML задаёт:
Если базовая структура HTML плохая, то:
В этой статье вы научитесь строить скелет документа, выбирать семантические элементы и закладывать основы доступности.
Что такое HTML-документ
HTML-документ можно представить как:
!Общая карта того, из каких частей состоит страница и где что находится
Метаданные и контент: что где должно быть
Метаданные (часто называют head) — это информация о странице, а не её видимое содержимое. Там обычно указывают:
Контент (часто называют body) — это то, что пользователь видит и с чем взаимодействует:
Полезная справка:
Семантика: как выбирать правильные элементы
Семантика — это выбор элементов по смыслу. Идея простая: элемент должен описывать, что это такое, а не как это выглядит.
Семантические «области» страницы
Часто в макете встречаются устойчивые зоны. Для них есть элементы, которые помогают браузерам, поисковикам и ассистивным технологиям:
header — шапка страницы или разделаnav — блок навигацииmain — главное содержимое страницы (обычно один раз на странице)footer — подвал страницы или разделаaside — дополнительное содержимое (сайдбар, примечания, похожие ссылки)Для контентных единиц:
article — самостоятельная публикация (пост, карточка новости, статья)section — смысловой раздел внутри страницы или статьиКогда выбирать article, section и «просто контейнер»
Практическое правило:
article, если блок можно вынести из страницы и он останется понятным сам по себе (например, новость с заголовком и текстом)section, если это часть большого материала, и для понимания важен контекстdiv как нейтральный контейнер, когда смысл не подходит ни под один семантический элемент, а контейнер нужен для группировки или стилизацииЗаголовки: основа структуры
Заголовки задают «оглавление» страницы. Они важны и для людей, и для скринридеров.
Ключевые принципы:
h1h2 для крупных разделов, h3 для подразделов!Как заголовки формируют иерархию и помогают навигации
Справка:
Списки, ссылки и кнопки: важные различия
Списки:
Ссылки и кнопки:
Это различие влияет на доступность: скринридеры и клавиатурная навигация ожидают предсказуемое поведение.
Справка:
Доступность: базовые привычки с первого дня
Доступность (a11y) — это когда интерфейсом могут пользоваться люди с разными возможностями и в разных условиях: со скринридером, без мыши, при плохом зрении, на маленьком экране, с медленным интернетом.
Важно: доступность начинается с правильного HTML, а не с «дополнительных атрибутов».
Справка:
Язык документа
Указывайте язык документа (например, lang со значением ru). Это помогает:
Текст альтернативы для изображений
Если изображение несёт смысл, ему нужен альтернативный текст через alt.
Практические правила:
alt описывает смысл, а не «картинка»alt делают пустым, чтобы скринридер его пропустилСправка:
Подписи полей формы
У каждого поля ввода должна быть понятная подпись, связанная с полем. Подсказка внутри поля (placeholder) не заменяет подпись, потому что:
Справка:
Управление с клавиатуры и фокус
Проверяйте страницу без мыши:
Это в значительной степени зависит от того, используете ли вы правильные элементы по назначению.
ARIA: когда нужно и когда нет
ARIA-атрибуты (например, aria-label) помогают ассистивным технологиям, но их легко применить неправильно.
Безопасное правило для старта:
button, ссылки, поля форм)Справка:
Мини-чеклист хорошей HTML-структуры
Перед тем как переходить к CSS, убедитесь, что:
lang)header, nav, main, footer)alt по смыслуИнструменты и практика
Валидатор разметки
Проверяйте документ валидатором — он находит ошибки структуры и некоторые проблемы доступности.
Как эта тема связана с дальнейшим курсом
Дальше в курсе мы будем опираться на эту основу: