foundation

Native forms

Используйте семантику платформенных форм, labels, поведение submit, FormData и progressive enhancement.

Нативные `<form>` дают семантику отправки, поведение Enter и сбор `FormData` без ручной проводки. Связка `<label htmlFor>` с полем улучшает доступность. Атрибуты `action` и `method` полезны для прогрессивного улучшения, когда приложение может деградировать gracefully.

В SPA на React часто `onSubmit` с `preventDefault`, но платформенная семантика важна для autofill, менеджеров паролей и мобильных клавиатур. Скрытые поля несут метаданные; `button type="submit"` предотвращает случайную отправку из-за `type="button"`.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Label привязаны к id полей.
  • Явные типы кнопок.
  • FormData или controlled-поля — выберите одну модель.