Руководство по HTML

Самое простое начало: скопируйте семантический HTML с крючками классов Lily, добавьте одну таблицу стилей, опубликуйте. Простые файлы, которые работают везде, где работает HTML.

Что вы построите

Небольшая контактная форма — поля с метками, кнопка отправки, реальное поведение клавиатуры и программы чтения с экрана — сначала голая, затем оформленная, примерно за 10 минут.

Прежде чем начать

Вам нужны браузер и текстовый редактор. Это всё. (git помогает получить файлы компонентов, но их можно скопировать и с GitHub прямо в браузере.)

Шаг 1 — Получите код

git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-html-headless

Каждый компонент — это отдельный файл в components/ — button.html, text-input.htmlи так далее — с комментарием в заголовке, документирующим его тег HTML, крючок класса, поведение клавиатуры и контракт доступности. Файлы — это библиотека: копируйте нужное и вперёд.

Шаг 2 — Ваш первый компонент

Откройте components/button.html, или просто напишите разметку — крючок класса и есть контракт:

<button class="button" type="button">
  Save
</button>

Поскольку это настоящий <button>, фокус клавиатуры, активация клавишами Enter и Пробел и неявная роль кнопки уже правильны.

Шаг 3 — Составьте небольшую форму

<form class="form">
  <div class="field">
    <label class="label" for="name">Full name</label>
    <input class="text-input" type="text" id="name" name="name" required />
  </div>
  <div class="field">
    <label class="label" for="email">Email</label>
    <input class="email-input" type="email" id="email" name="email" required />
  </div>
  <button class="button" type="submit">Save</button>
</form>

Обратите внимание на шаблон: каждый элемент управления связывает собственный <label for>, использует самый специфичный тип input и несёт ровно один крючок класса в kebab-case.

Проверьте свою работу: откройте страницу в браузере. Она выглядит голой — именно так, как задумано: оформление ещё впереди. Нажмите Tab: фокус проходит через каждый элемент управления, метки озвучиваются, а отправка работает. Поведение готово; внешний вид за вами, и это следующий шаг.

Шаг 4 — Оформите её

Напишите CSS для крючков:

.button {
  background: #2563eb;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 0.5rem;
}
.text-input,
.email-input {
  padding: 0.5rem 0.75rem;
  border: 2px solid #6b7280;
  border-radius: 0.25rem;
}
.label { display: block; font-weight: 600; margin-bottom: 0.25rem; }

Или вовсе пропустите написание CSS вручную — подключите одну из 45 готовых тем, и та же разметка засияет:

<link rel="stylesheet" href="/themes/united-kingdom-national-health-service-england-for-patients.css" />

Шаг 5 — Изучайте дальше

  • Тесты репозитория запускаются в настоящих браузерах: pnpm install && pnpm test (WebDriverIO).
  • Storybook для каждого компонента: pnpm run storybook.
  • Пример приложения HTML+CSS+JS показывает все 571 компонента оформленными, с поиском и демонстрацией.

Дальнейшие шаги

Есть вопросы по ходу дела? Страница справки полна ответов — а если какой-то шаг можно сделать яснее, сообщите нам и мы с радостью улучшим руководство.