Лучшие практики написания HTML: читаемость, семантика, валидность
Почему HTML — это больше, чем просто "работает" 🔍
HTML — это скелет вашего сайта. Можно собрать кости как попало, но красивая анатомия делает проект прочным, доступным и понятным. Разберём три кита качественного кода:
1. Читаемость: Код — как книга 📖
Плохой код выглядит так:
<div><p>Привет</p><div><a href="#">Клик</a></div></div>
Хороший код — это:
<header class="greeting">
<p>Привет</p>
<div class="actions">
<a href="#" class="btn">Клик</a>
</div>
</header>
Правила читаемости:
- Отступы — 2 или 4 пробела, единообразие обязательно.
- Имена классов —
.nav-main, а не.nmили.block1. - Комментарии для сложных блоков:
<!-- Секция с отзывами: генерируется через JS -->
<section id="reviews"></section>
- Пустые строки между крупными блоками.
2. Семантика: Каждому тегу — свою роль 🎭
Браузеры, поисковики и скринридеры понимают смысл через теги.
Плохо:
<div>Меню</div>
<div class="footer">Контакты</div>
Отлично:
<nav>
<ul>
<li><a href="/">Главная</a></li>
</ul>
</nav>
<footer>
<address>Контакты: example@mail.com</address>
</footer>
Топ-5 часто забываемых тегов:
<section>— логический раздел страницы.<article>— независимый контент (пост, карточка товара).<time datetime="2024-01-15">15 января</time>— даты для машин.<figure>+<figcaption>— подписи к изображениям.<main>— основное содержимое страницы (только один на документ!).
3. Валидность: Проверяй, как лётчик перед полётом ✈️
Невалидный HTML может сломать отображение или поведение страницы.
Как проверить:
- Онлайн-валидатор W3C: https://validator.w3.org
- Расширение для браузера (например, Web Developer).
Пример ошибки:
<ul>
<li>Пункт 1
<li>Пункт 2
</ul>
👉 Пропущен закрывающий </li> (хотя браузер "поймёт").
Частые ошибки:
- Незакрытые теги (
<p>Текст). - Атрибуты без кавычек (
<img src=photo.jpg>). - Неправильная вложенность (
<p><div></p></div>).
Бонус: 3 приёма из практики Данилы Бежина 🎯
-
Шаблонизация:
Используйте<template>для повторяющихся блоков, которые наполняются через JavaScript. -
Микроразметка:
Добавляйте Schema.org для улучшения SEO:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Моя компания"
}
</script>
- Декларативный подход:
Пишите HTML так, чтобы было понятно без CSS/JS. Например:
<button disabled>Отправить</button> <!-- Состояние видно сразу -->
💡 Итог: Хороший HTML — это не только про "работает", но и про "понятно", "доступно" и "надёжно". Начните применять эти правила сегодня — и ваш код станет профессиональным!