Ну, я должен спросить, если у вас есть модальная форма, которая такая длинная, не должна ли она быть превращена в свою собственную страницу?
Я имею в виду, весь смысл модальных диалогов заключается в том, чтобы сказать пользователю то, что ему нужно знать (которые обычно игнорируются и раздражают), или получить некоторую информацию от пользователя, необходимую перед продолжением.
Вы говорите, что ваша форма предназначена для сбора пользовательского ввода. Если это что-то, что пользователь должен ввести, прежде чем продолжить (например, в части процесса оформления заказа или что-то в этом роде), то я бы сказал, что, вероятно, лучше всего посвятить этому потоку целую страницу.
Если это что-то вроде «войдите сюда, прежде чем приступить к тому, что вы делаете», опять же, я думаю, что было бы более разумно, если бы это была его собственная страница, которая возвращает вас на страницу Вы были до того, как вы ввели его, как только вы закончили заполнение формы. Вот как работает страница проверки человека Stack Overflow.
Если это что-то раздражающее, например "дать нам свой отзыв о сайте", то это должно быть вовсе не модальное, а скорее всплывающее всплывающее окно (смею ли я сказать?).
Модальные диалоги действительно должны быть максимально короткими. Если краткость невозможна, и диалог действительно должен быть модальным, то я думаю, что было бы более разумным создать поток страниц, которые необходимо заполнить, прежде чем будет доступен следующий. Как при оформлении заказа: вам нужно добавить продукты в корзину перед добавлением информации о доставке, и вам нужна информация о доставке, прежде чем вы сможете определить стоимость доставки. Такого рода вещи.
Но, не зная точного характера вашего модального диалога, я не могу точно сказать, какой путь будет наилучшим.
РЕДАКТИРОВАТЬ : Ага! Ваши клиенты почувствовали это заняло много времени, а? Это тип ситуации, когда вы должны сделать очень быстрый и грязный тест на живое использование, чтобы увидеть, какой путь лучше. Возьмите некоторых людей из зала, покажите некоторым из них модальный способ (с помощью прокрутки) и покажите другим старый (немодальный) способ сделать это и посмотрите, что они скажут.
(В идеале вы записываете сеанс и экран, и вы не пропускаете свои личные предпочтения. Просто попросите их использовать систему, пока вы смотрите, чтобы увидеть, насколько хорошо они выполняют задачу. Используйте запись рассчитать оба метода, чтобы увидеть, действительно ли один путь быстрее другого.)
Вы никогда не должны принимать решение об удобстве использования, которое идет вразрез с нормой (в данном случае нормой являются "большие формы, заслуживающие своих собственных страниц"), не убедившись, что это на самом деле более удобно для ненормального способа. Когда дело доходит до юзабилити, норма обычно является нормой, потому что она пригодна для использования (но не всегда, поэтому вы должны тестировать). Если клиент сопротивляется, вы, по крайней мере, будете иметь доказательства того, что он идет против жесткого эмпирического доказательства того, что то, что он хочет, глупо.
В конечном счете, клиенты платят по счетам. Если вы не можете заставить их увидеть причину, вам придется максимально использовать то, что они вам говорят. Если форма должна быть в модальном диалоге, то вы можете, по крайней мере, попытаться скрыть ненужные поля под сгибом (если есть несущественные поля), чтобы большинству пользователей никогда не приходилось прокручивать.
Убедитесь, что кнопки для отправки формы (или что-то еще, что вам нужно сделать с формой) видны независимо от того, где пользователь прокручивал. Очень плохой идеей было бы поместить все обязательные поля вверху, а затем заставить пользователя прокрутить вниз, чтобы нажать кнопку отправки. Это просто грубо.