Ответ
Обязательно добавляй <form> для семантики и обработки событий submit. Используй <button type="submit"> для отправки. Для валидации и доступности:
<form>
<div>
<label for="email">Email</label>
<input type="email" id="email" required>
<span class="error" aria-live="polite"></span>
</div>
<fieldset>
<legend>Выберите вариант</legend>
<input type="radio" id="opt1" name="options">
<label for="opt1">Вариант 1</label>
</fieldset>
<button type="submit">Отправить</button>
</form>Ключевые элементы:
fieldsetиlegendдля группировкиrequiredдля обязательных полей- Валидационные сообщения
aria-*атрибуты для доступности- CSRF-токен для безопасности (если нужно)