Прежде чем приступать к реализации формы (или отчета), важно тщательно спроектировать ее (или его) макет. Можно дать некоторые полезные рекомендации по созданию макетов любых форм и отчетов (Shneidermann, 1992). В частности, подобный макет должен включать:
- содержательное название;
- ясные и понятные инструкции;
- логически обоснованные группировки и последовательности полей;
- визуально привлекательный вид окна формы или поля отчета;
- легко узнаваемые названия полей;
- согласованную терминологию и сокращения;
- согласованное использование цветов;
- визуальное выделение пространства и границ полей ввода данных;
- удобные средства перемещения курсора;
- средства исправления отдельных ошибочных символов и целых полей;
- средства вывода сообщений об ошибках при вводе недопустимых значений;
- особое выделение необязательных для ввода полей;
- средства вывода пояснительных сообщений с описанием полей;
- средства вывода сообщения об окончании заполнения формы.
Информация в названии должна ясно и недвусмысленно идентифицировать назначение отчета или формы.
В инструкциях должна применяться привычная для пользователей терминология. Инструкции должны быть краткими, а на случай необходимости предоставления дополнительной информации следует предусмотреть специальные справочные экраны. Инструкции следует записывать в стандартном формате, придерживаясь единого грамматического стиля.
Логически связанные поля в отчете или форме следует располагать вместе, причем их последовательность должна быть логически обоснованной и согласованной.
Форма или отчет должны иметь привлекательный внешний вид и представлять собой гармоничное сочетание полей или групп полей, равномерно распределенных на поверхности формы/отчета. При этом в форме/отчете не должно быть областей с очень малой или слишком большой концентрацией полей. Кроме того, поля нужно размещать через регулярные интервалы и выравнивать их по вертикали и горизонтали. Если экранная форма имеет какое-то эквивалентное представление на бумаге, то их внешний вид должен быть согласован.
Названия полей должны быть знакомы пользователю. Например, если типичное название поля Sex (Пол) заменить его менее понятным синонимом Gender (Род), то это может запутать некоторых пользователей.
Повсеместно должны использоваться только знакомые и понятные термины или же сокращения, выбираемые из заранее согласованного списка. Для улучшения внешнего вида формы или отчета можно использовать цветовое оформление. Кроме того, выделение цветом может применяться для самых важных полей или сообщений. Для достижения оптимального результата цвет следует использовать согласованно и продуманно. Например, в формах поля с белым фоном могут обозначать поля ввода, а поля с синим фоном - поля с данными, предназначенными только для отображения на экране.
Пользователь должен быть визуально проинформирован об общем пространстве, доступном для ввода данных в каждом из полей. Это позволит ему еще до ввода данных выбрать для них наиболее подходящую форму представления.
Пользователь должен легко определять, какие операции доступны ему для перемещения курсора в форме или отчете. Обычно для подобных целей используются клавиши табуляции, клавиши со стрелками или указатель мыши.
Пользователь должен легко определять, какие именно операции доступны ему для исправления ошибки, допущенной при вводе данных. Для этой цели обычно используются простейшие механизмы, подобные нажатию клавиши <Backspace> или повторному вводу поверх ошибочных символов.
При вводе в поле неправильных данных программа должна выводить сообщение об ошибке. Это сообщение должно информировать пользователя о допущенной ошибке и указать диапазон допустимых значений.
Необязательные для ввода поля должны быть явно отмечены с помощью соответствующей надписи или выделения особым цветом. Подобные поля следует располагать после обязательных для ввода полей.
Когда пользователь помещает курсор мыши в очередное поле, то в некотором стандартном месте (например, в строке состояния данного окна) следует вывести информацию об этом поле.
Пользователь должен ясно представлять себе, когда процесс заполнения формы будет закончен. Однако завершение этого процесса не должно быть автоматическим – целесообразно выводить предупреждающее сообщение, чтобы при необходимости пользователь смог еще раз просмотреть введенные им данные.