Поле ввода
Подберите тип HTML-поля под значение и добавьте подпись к каждому полю.
#Связь поля с подписью
Если подпись и поле разделены, укажите в for уникальный id поля. Можно также вложить поле в подпись. В обоих случаях нажатие на подпись переводит фокус в поле.
<div>
<label for="input-display-name">Отображаемое имя</label>
<input id="input-display-name" type="text" autocomplete="nickname" />
</div>
<label>
Электронная почта
<input type="email" autocomplete="email" />
</label>
#Типы полей
Элемент input без type работает как текстовое поле. Trace CSS оформляет перечисленные ниже типы. Элементы выбора даты, времени и цвета предоставляет браузер, поэтому они могут выглядеть по-разному на разных платформах.
<label>
Текстовое поле по умолчанию
<input />
</label>
<label>
Текст
<input type="text" />
</label>
<label>
Поиск
<input type="search" />
</label>
<label>
Электронная почта
<input type="email" />
</label>
<label>
Сайт
<input type="url" />
</label>
<label>
Телефон
<input type="tel" />
</label>
<label>
Пароль
<input type="password" autocomplete="new-password" />
</label>
<label>
Число
<input type="number" />
</label>
<label>
Дата
<input type="date" />
</label>
<label>
Местные дата и время
<input type="datetime-local" />
</label>
<label>
Месяц
<input type="month" />
</label>
<label>
Неделя
<input type="week" />
</label>
<label>
Время
<input type="time" />
</label>
<label>
Цвет
<input type="color" value="#005473" />
</label>
#Состояния поля
Атрибут disabled делает поле недоступным. Атрибут readonly запрещает редактировать значение, сохраняя возможность его увидеть и выделить. При ошибке валидации задайте aria-invalid="true" и свяжите поле с видимым сообщением через aria-describedby.
<label>
Недоступно
<input type="text" value="Недоступно" disabled />
</label>
<label>
Только чтение
<input type="text" value="Идентификатор аккаунта" readonly />
</label>
<label>
Электронная почта
<input type="email" value="ошибка" aria-invalid="true" aria-describedby="input-error" />
</label>
<small id="input-error">Введите действительный адрес электронной почты.</small>
Цвета, границы и отступы задаются токенами полей ввода.
#Классы расширений
Полная сборка добавляет trace-small и trace-large. Средний размер применяется по умолчанию.
<input type="text" class="trace-small" placeholder="Малый" aria-label="Малое поле" />
<input type="text" placeholder="Средний" aria-label="Среднее поле" />
<input type="text" class="trace-large" placeholder="Большой" aria-label="Большое поле" />
Чтобы добавить иконку, поместите его и поле непосредственно в trace-input-wrap. На обёртке иконки укажите trace-input-icon-start или trace-input-icon-end.
<label>
Поиск
<span class="trace-input-wrap">
<span class="trace-icon trace-input-icon-start"><!-- @license lucide-static v1.70.0 - ISC -->
<svg focusable="false" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m21 21-4.34-4.34" />
<circle cx="11" cy="11" r="8" />
</svg>
</span>
<input type="search" placeholder="Поиск по документации" />
</span>
</label>