Как визуально отклонить ввод пользователя в таблицу? - PullRequest
3 голосов
/ 08 марта 2010

При программировании прикладного модуля на основе таблицы (т. Е. Пользователь в основном вводит табличные данные в уже выложенную таблицу), как бы вы отклонили ввод данных пользователем для данной ячейки?

Сценарий таков: пользователь редактирует ячейку, вводит что-то (текст, рисунок, ...), и вы хотите, чтобы они заметили, когда они закончат редактирование (например, нажав клавишу ввода), что его запись недействительна для вашего заданного «формат» (в более широком значении: может быть, они ввели строку вместо числа, что их запись слишком длинная, слишком короткая, они включают изображение, хотя это недопустимо, ...).

Я вижу две разные вещи:

  1. Вы можете довольно легко вписать их запись в ваш формат, и вы сделаете это, но вы хотите, чтобы они заметили это, чтобы они могли измениться, если ваше предположение недостаточно хорошо (например, они ввели «15.47» в поле, которое нужно быть целым числом, поэтому ваша программа делает его "15")
  2. Вы не можете угадать, что делать с их записью, и хотите сообщить им, что она недействительна.

Мой вопрос, в частности, такой: какой визуальный дисплей вы можете предложить пользователю, чтобы сообщить, что его ввод неверен? Предпочтительнее отказаться от выхода из режима редактирования или нет?

Я могу представить себе две вещи:

  • с использованием цветов (красный фон, если он недействителен, желтый фон для моего случая 1 выше)
  • когда вы отклоняете ввод, сделайте что-то, как Apple делает для ввода пароля учетных записей пользователей: вы делаете ячейку «дрожащей» (т.е. колеблющейся влево и вправо) в течение одной секунды и сохраняете фокус / редактирование в их так, чтобы они не делали потерять то, что они напечатали.

Давайте послушаем ваши предложения.

PS: Этот вопрос, по крайней мере, в моем мыслительном процессе, каким-то образом является продолжением и специализацией моего предыдущего вопроса , чтобы заставить пользователей читать сообщения об ошибках.

PPS: Сделал это сообщество вики, было ли это правильным решением по этому вопросу или нет?

Ответы [ 4 ]

2 голосов
/ 08 марта 2010

Будьте осторожны при использовании автокоррекции, например, при настройке пользовательского ввода в соответствии с вашим форматом. См:

Допустимо ли нормализовать содержимое текстового поля, когда оно теряет фокус? .

Как правило, лучше сначала предотвратить недействительные записи, чем позже выполнять их автозамену. Например, если разрешены только целые числа, тогда вы игнорируете любые вводы десятичной точки (вместе со всеми буквами и большинством специальных символов). В некоторых средах может потребоваться тихий звуковой сигнал, вход которого игнорируется (например, глухой стук).

А когда вам нужно предупредить пользователя об ошибке, как насчет выноски? Нарисуйте яркую линию от элемента управления или рассматриваемой точки (поле, оповещатель о состоянии, кнопка, меню, местоположение перетаскивания) к краю окна и поместите краткое сообщение (два или три слова, например «Нераспознанная дата»). ) на воздушном шаре. Размещение сообщения на полях должно препятствовать тому, чтобы оно занимало что-либо интересное в переполненном столе.

Внезапного появления вызова должно быть достаточно, чтобы привлечь внимание пользователя, поэтому можно позволить пользователю перейти к другим ячейкам на случай, если они захотят исправить ошибку позже. Для эффективности вы можете захотеть удержать пользователя в поле, связанном с ошибкой, когда ошибка возникла изначально (так как часто пользователь хочет исправить ее сразу), но затем разрешить переход на следующую вкладку или щелчок мыши, чтобы перемещать пользователя.

При наведении курсора мыши или когда фокус находится на элементе управления, связанном с ошибкой, строка выделяется (чтобы отличить ее от других возможных строк выноски), а всплывающее окно расширяется до полного сообщения об ошибке, предоставляя более подробную информацию о том, как исправить проблему (до двух предложений). Разрешить пользователю перетаскивать всплывающее окно в новое место на случай, если это вызовет что-то интересное.

Включите кнопку справки в раскрывающемся списке для получения дополнительной информации. Вы также можете включить кнопку для исправления ошибки (например, «Повторить», «Восстановить соединение» или установить значение по умолчанию).

Воздушный шар исчезает автоматически, когда ошибка исправлена. Отмена возвращает все, что вызвало ошибку (например, возвращает поле к его первоначальному значению), что должно устранить ошибку.

Если пользователь прокручивает от места, связанного с ошибкой, всплывающее окно сжимается до значка, который остается на виду, так что пользователь с меньшей вероятностью забудет об этом. Возможно, восклицательный знак в треугольнике - это хорошая икона. Поместите значок рядом или на дорожке полосы прокрутки, чтобы указать его относительное расположение в таблице, чтобы пользователь мог быстро прокрутить его, чтобы найти его позже. При наведении курсора значок превращается в полное сообщение. Возможно, щелкнув по значку, можно перейти к нужному месту в таблице и переместить фокус в соответствующий элемент управления.

Воздушные шары могут также сжиматься до значков, если они начинают визуально мешать друг другу. Возможно, вы даже захотите включить элемент управления в всплывающее окно, чтобы пользователь мог заставить его принять значок.

Для согласованности используйте все ошибки, а не только те, которые связаны с полями в таблицах.

0 голосов
/ 08 марта 2010

Вы можете отобразить значок в ячейке или всплывающую подсказку. Всплывающая подсказка может открываться автоматически или при наведении курсора мыши на значок. Он может исчезнуть автоматически при редактировании другой ячейки или по истечении некоторого времени ожидания.

0 голосов
/ 08 марта 2010

Вы можете использовать подсказки со стрелками, такие как всплывающие подсказки об ошибках Adobe Flex. Он фокусирует внимание на ошибке и дает краткое описание.

0 голосов
/ 08 марта 2010

В последний раз, когда я делал такую ​​форму (на веб-странице), я помещал красную рамку вокруг ошибочного ввода.

Я думал, что это было действительно опрятно ... пока пользователь не спросил меня: "Почему вокруг этой ячейки есть красная рамка?"

То, что было бы хорошо, также отображает , почему ввод неправильный: «Это поле принимает только цифры», скажем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...