01Его можно собрать и без мыши
У конструктора с перетаскиванием есть полноценный клавиатурный эквивалент: любое поле можно добавить, переместить и удалить одной клавиатурой. Конструктор, который отзывается только на перетаскивание, отсекает тех, кто перетаскивать не может.
02Около тридцати типов полей
Текст, электронная почта, телефон, URL, число, дата, время, раскрывающийся список, переключатель, флажок, оценка, ползунок, цвет, загрузка файла, имя, адрес, упорядочивание и разрыв страницы — обычная форма уже покрыта.
03Колонки не ломают порядок чтения
Поле, помещённое в колонку, по-прежнему читается в порядке полей, так что человек со скринридером и зрячий посетитель встречают одну и ту же форму в одной и той же последовательности.
04Условия решаются на сервере
Вложенные группы И/ИЛИ с четырнадцатью операторами, которые пересчитываются при отправке формы. Скрытое в браузере поле нельзя подсунуть, отредактировав страницу, и правила продолжают действовать при отключённом JavaScript.
05Правила доступа, с которыми браузер не поспорит
Открывайте и закрывайте по календарю, ограничивайте число записей, требуйте вход или роль, ставьте пароль. Закрытая форма отклоняет прямую отправку на сервере, а не прячет кнопку.
06Спам помечается, а не удаляется
Ловушка-приманка и временная ловушка включены по умолчанию и никому не мешают; reCAPTCHA v2/v3, hCaptcha, Turnstile, Akismet и списки блокировки по словам, IP и адресам почты — по желанию. То, что признано спамом, помечается и сохраняется: ложное срабатывание не должно стоить вам клиента.
07Загруженные файлы лежат вне корня сайта
Они пишутся за его пределы, в каталог, который невозможно угадать, и проверяются по содержимому файла, а не по его имени. Выдаются они только по ссылке с ограниченным сроком, привязанной к одному человеку.
08Уведомления, которые можно проверить
Несколько на форму, получатели по значению поля, автоответ отправителю и журнал доставки: что ушло, что не ушло и почему, — с повторной отправкой того, что не ушло.