foundation
Labels, name и autocomplete
Связывайте labels, accessible names, описания, группировку и autocomplete tokens с рабочими полями формы.
Каждому control нужно accessible name — обычно из `label`. Описания, ошибки, `fieldset`/`legend`, атрибут `name` и `autocomplete` делают формы понятными, корректно отправляемыми и совместимыми с менеджерами паролей.
<fieldset>
<legend>Адрес доставки</legend>
<label for="street">Улица <input id="street" name="street" autocomplete="street-address"></label>
</fieldset>
<p id="email-error">Введите корректный email.</p>
<input id="email" name="email" aria-invalid="true" aria-describedby="email-error">
На интервью: явные `for`/`id`, implicit labels, группировка radio и стабильные autocomplete values.
Типовые ошибки: placeholder ≠ label; без `name` нет submit; ошибки без `aria-describedby`.
Компромисс: минимальная разметка против явных связей — лишние id и legend окупаются автозаполнением и контекстом для assistive tech.
Чеклист:
- Label на каждый control.
- fieldset для связанных полей.
- Стандартные autocomplete tokens.
- Ошибки через `aria-describedby`.