Номер статьи: KB000020
Использование контрольных списков является эффективным и экономичным средством повышения уровня качества программных продуктов. Их использование, применительно к интерфейсу, не требует выполнения дорогостоящих процедур юзабилити-тестирования.
Данный контрольный список является абсолютным, т.е. все его пункты не требуют субъективных ответов (таких как «навигация сделана хорошо»). Благодаря этому проверять интерфейс на соответствие контрольному списку может кто угодно: никакой специальной подготовки проверяющему иметь не нужно. Разумеется, обратной стороной абсолютного списка является его заведомая неполнота.
Кроме того, важно учитывать, что никакой контрольный список не может обеспечить «хорошести» интерфейса. В лучшем случае, список гарантирует отсутствие грубых ошибок.
Все кнопки, запускающие действия, имеют текст в инфинитивной форме глагола (пример: искать), а не другую часть речи, либо форму глагола (пример: готово). Давать кнопке текст «ОК» можно, только если какой-либо глагол не вмещается.
Между кнопками, стоящими рядом, должно быть пустое пространство, щелчок по которому не обрабатывается.
Нет разных состояний кнопок, которые выглядят одинаково.
Недоступные команды не исчезают с экрана, а становятся заблокированными.
Частотные кнопки снабжены не только текстом, но и пиктограммами; редко используемые кнопки - только текстовыми подписями.
В модальных диалоговых окнах нет кнопок «Применить».
Текст кнопок, требующих дополнительного ввода, должен заканчиваться многоточием.
В полях ввода уже стоят наиболее вероятные значения (значения по умолчанию).
Если в поле вводится численное значение, границы диапазона выводятся во всплывающей подсказке.
Если в поле вводится численное значение из ограниченного диапазона, поле снабжено кнопками изменения значения (компоненты SpinEdit, IntegerEdit, FloatEdit).
Длина полей не меньше, и, по возможности, не больше, длины вводимых в них данных.
Если поле предназначено для ввода заметного количества текста, оно многострочное.
Многострочные поля имеют максимально возможную высоту; нет резервов для их увеличения.
В списках уже стоят наиболее вероятные значения (значения по умолчанию).
Если список содержит более 50 элементов, используется фильтр или режим поиска.
Нет часто используемых коротких списков (менее пяти элементов); такие списки представлены как группы переключателей или флажков.
Ширина списков не меньше ширины входящих в них элементов.
Элементы списка отсортированы: либо структурно, т.е. по общим признакам, либо по алфавиту, либо по частоте использования (только списки меньше 7 элементов).
Если в списке более 50 отсортированных по алфавиту элементов, первыми тремя элементами являются наиболее часто используемые элементы. Они также повторяются на своих алфавитных местах.
Многострочные списки множественного выбора снабжены флажками возле каждого элемента.
Многострочные списки имеют высоту не менее 4 строк.
Если есть свободное место, используются расширенные комбинированные списки, а не однострочные (пример: диалог выбора шрифта).
Если в группе больше 10 флажков, вводится дополнительный, выставляющий/снимающий все флажки.
Внутри группы переключателей один обязательно установлен по умолчанию.
Флажки и переключатели внутри своих групп расставлены по вертикали.
Если в окне, помимо закрывающих его кнопок, есть только набор переключателей, двойной щелчок по переключателю устанавливает его и закрывает окно.
Для списков, допускающих операцию перемещения элементов, должен быть реализован механизм Drag&Drop выполнения этой операции.
Базовые операции: добавить (INSERT), удалить (DELETE), редактировать (ENTER, двойной щелчок).
При возможности должно быть реализовано групповое удаление элементов.
Размер текстовой метки должен быть достаточным для вывода необходимого текста.
Достаточный размер однострочной текстовой метки необходимо увеличить на 3 DLU для того чтобы при использовании крупных шрифтов текст помещался полностью, поскольку возможны ошибки округления.
Свойство NoWrap для однострочных текстовых меток должно быть установлено в TRUE.
Система, завершив длительную операцию (больше минуты работы), выводит звуковой сигнал через встроенный динамик компьютера.
Если в интерфейсе не используется непосредственное манипулирование, система не имеет своих курсоров. Если непосредственное манипулирование применяется, свои курсоры применяются, только если аналогов из операционной системы не существует.
В формах ввода проверка корректности вводимых значений выполняется прямо во время ввода; если вводятся некорректные данные, система сразу сообщает об этом пользователю, не дожидаясь момента, когда пользователь завершит ввод данных во всей форме.
Сообщения о некорректности введенных данных отображаются рядом с элементом управления, данные в котором некорректны.
Текст сообщений о некорректности введенных данных не говорит, что совершена ошибка, напротив, он только информирует пользователя, данные какого типа и формата приемлемы.
Текст сообщений о проблемах состоит из трех частей: в первой кратко описывается проблема, во второй части - как ее решить, в третьей - описывается, как не допускать возникновения этой проблемы в дальнейшем.
Статусные сообщения («Синхронизация успешно завершена») выводятся только в строке статуса.
В формах ввода нажатие TAB ведет к правильному последовательному перемещению по форме, а CTRL+TAB по вкладкам, при наличии таковых.
Обработка формы запускается не только по нажатию на закрывающую кнопку, но и по нажатию клавиши ENTER.
Для наиболее часто используемых элементов управления (включая меню) установлены клавиши быстрого вызова.
Каждой команде меню назначены ALT-комбинации (выделены подчеркиванием).
ALT-комбинации и горячие клавиши стандартные.
Если горячих клавиш больше 40, в интерфейсе есть способ их изменить.
По нажатию клавиши TAB переход от элемента к элементу внутри формы осуществляется сверху вниз слева направо.
Направление теней во всех элементах управления должно быть одинаковым: снизу справа.
Индикация цветом не является единственной; если она используется, система снабжена и другой индикацией.
При длительных операциях (более 1 секунды) должен отображаться индикатор выполнения с текстом, описывающим суть операции. Если возможно, должен отображаться процент выполнения. Текст должен начинаться со не слов «Идет», «Выполняется», а сразу с сути операции (например, «Открытие объекта», «Сохранение» и т.д.).
В группах пиктограмм отсутствуют сходные между собой по цвету и форме пиктограммы.
Нет пиктограмм со стандартными значениями, но нестандартными сюжетами.
В пиктограммах нет текста.
В наборах пиктограмм содержатся пиктограммы одного значения, но разных размеров; пиктограммы используют одни и те же особенности и/или сюжет.
На окнах, размеры которых можно изменить, есть индикатор изменяемости размера.
Заголовки окон соответствуют названиям элементов, при помощи которых окна были вызваны. Если окно вызывается элементом, не имеющим явного названия, в заголовке окна отражается название экранной формы.
Тип окна (модальное, немодальное, возможность минимизации/максимизации) был выбран осознанно, в соответствии с задачами пользователей.
В диалоговых окнах отсутствуют меню или панели инструментов.
Кнопки «Применить» используются только в окнах-палитрах (вместо кнопок «ОК»).
Элементы управления должны быть корректно выровнены относительно друг друга.
Диалоговое окно должно поддерживать масштабирование, если нет веских аргументов против этого. Элементы управления в диалогах, поддерживающих изменение размера, должны корректно масштабироваться. Измененные размеры окна должны сохраняться в реестре.
При открытии окна фокус должен находиться на основном элементе управления, при невозможности определения такового - на элементе управления в левом верхнем углу.
Должно поддерживаться закрытие окна по нажатию клавиши ESC с отменой действия и ENTER с выполнением действия при условии, что сфокусированный элемент управления не обрабатывает данные клавиши.
Нажатие клавиши F1 должно приводить к открытию справки для активного окна.
Все окна и диалоги в системе, а также вкладки, если таковые имеются, должны иметь уникальный идентификатор класса, который используется для вызова контекстной справки.
Имеют отличную от других окон верхнего уровня пиктограмму.
Панель инструментов имеет название, описывающее ее функциональность.
Все кнопки имеют пиктограмму и всплывающую подсказку.
Текст команд меню, требующих дополнительного ввода для завершения операции, должен заканчиваться многоточием. Для ввода многоточия используется символ «…», вводимый при помощи кода ALT+0133.
В окне меню «Вид» должно содержать подменю «Панели инструментов», в котором отображается перечень панелей инструментов основного окна с возможностью их отображения и скрытия. Последним пунктом данного подменю должен быть пункт «Настройка…», вызывающий стандартный диалог настройки панелей инструментов.
При щелчке правой кнопкой мыши над областью панелей инструментов окна должно отображаться всплывающее меню, аналогичное меню «Вид - Панели инструментов»
Все кнопки панели инструментов должны иметь функциональные аналоги в меню.
Расположение панелей при открытии окна в первый раз должно быть удобным и понятным для пользователя, а также компактным.
Должно быть запрещено прикрепление для тех частей окна, расположение панели в которых неуместно.
Для каждой боковой панели в меню «Вид» должен быть добавлена команда с названием панели, обеспечивающая ее отображение/скрытие. Команды для различных панелей окна должны быть объединены в группу.
Должно корректно сохраняться расположение панелей между сеансами пользователя.
Заголовок должен содержать название объекта и блока системы.
При закрытии должно запрашиваться подтверждение о сохранении измененных данных «Да/Нет/Отмена».
В строке статуса выводится только информация о текущем состоянии системы и кнопки (не выглядящие кнопками) для функций, предназначенных только опытным пользователям.
Индикаторы выполнения выводятся в строке статуса. Исключение: окна-маcтера, в них индикаторы выполнения можно выводить внутри самих окон.
Первая буква в названии пунктов меню - заглавная.
Все пункты меню первого уровня активизируют раскрывающиеся меню.
Используются не более двух подуровней меню.
Если в меню есть пиктограммы, ими снабжены только самые часто используемые элементы.
Элементы, открывающие вложенные меню, выглядят иначе, чем терминальные элементы.
Пункты меню для операций, недоступных в данный момент, должны быть заблокированы. Пункты меню первого уровня не могут быть заблокированы.
По возможности на всех объектах, видимых в интерфейсе, есть специфичное для каждого объекта контекстное меню.
В контекстных меню не более 10 элементов.
В контекстных меню элементы отсортированы по убыванию частоты их использования.
Все элементы контекстных меню присутствуют и в других фрагментах интерфейса; нет команд, вызываемых только из контекстных меню.
В группах интерактивных элементов (поля форм, переключатели и т. п.) содержится не более семи элементов.
Кнопка «Отмена» всегда крайняя справа.
Многостраничные формы имеют указание на то, что они многостраничные; пользователь всегда видит количество оставшихся экранов. Например: «Экран x из y».
Если в форме есть несколько кнопок, одна является кнопкой по умолчанию. Опасные для пользователя кнопки не являются кнопками по умолчанию.
Операции, приводящие к возможной потере данных, должны выполняться только после их подтверждения пользователем. Формат сообщения для операции над одним объектом: «Вы действительно желаете <операция> <объект>?» «Да/Нет». Формат сообщения для операции над несколькими объектами: «Вы действительно желаете <операция> объекты (<число объектов> шт.)?» «Да/Нет».
Если в окне есть свободное место, наиболее часто используемая терминационная кнопка больше остальных.
Кнопки находятся в секции, на которую они оказывают непосредственное воздействие.
Терминационные кнопки (управляющие окном) расположены либо снизу в ряд, либо справа в колонку.
Кнопки, относящиеся ко всему блоку вкладок, расположены за пределами блока.
Если окно или вкладка имеет автоматически пополняемое содержимое, например, в нем перечислены приходящие сообщения, в названии элемента интерфейса, который открывает окно или вкладку, выводится число объектов в этом окне и отдельно число новых объектов. Пример: «Документы (8/3)».
Пункты меню и кнопки, инициирующие другие действия пользователя, обозначены в конце многоточием «…». Примеры: элемент «Сохранить как…» требует многоточия, т.к. пользователь должен выбрать название файла, а элемент «О программе» многоточия не требует, т.к. на открывающемся окне нет самостоятельных интерфейсных элементов.
Подписи к интерфейсным элементам размещены единообразно.
Недоступные в данный момент интерфейсные элементы заблокированы, а не скрыты.
Интерфейс не должен содержать элементов управления, не выполняющих никаких функций.
Во всех формах, служащих для сбора информации, есть пункты «Другое» и «Не применимо» или подобные им.
Все поля, обязательные для заполнения, помечены, и есть соответствующее пояснение.
Во всех формах, служащих для сбора информации, есть описание целей сбора данных, объясняется, что с этими данными будет сделано и что не будет.
Все главные интерфейсные элементы снабжены всплывающими подсказками, текст которых отражает результат использования этих элементов.
В интерфейсе отсутствуют жаргонизмы.
В интерфейсе отсутствуют отрицательные формулировки. Например, флажок «Не показывать примечания» неприемлем, взамен него нужно выводить флажок «Показывать примечания».
Ни один элемент не называется по-разному в разных местах (интерфейсный глоссарий не просто сделан в явной форме, но и выверен).
В тексте всех подтверждений дается наименование объекта, над которым совершается подтверждаемое действие.
Для улучшения удобочитаемости длинные числа разбиваются системным разделителем разряда. Например: 1 234 567.
Каждый элемент списка содержит на конце точку или начинается с прописной буквы по правилу: «Текст всех элементов начинается со строчной буквы. Все элементы оканчиваются по последней букве слова без каких-либо знаков препинания, кроме последнего, который оканчивается точкой. Исключение: если хоть один элемент списка содержит более одного предложения, все элементы начинаются с заглавной буквы и заканчиваются точкой».
Любому списку предшествует, по меньшей мере, один абзац текста.
В таблицах все столбцы с цифрами выравниваются по правому краю.
Точка в конце фразы отсутствует в заголовке (если он отделен от текста), в конце подписи под рисунком и в таблице.
Подписи к интерфейсным элементам начинаются с прописной буквы и заканчиваются двоеточием.
Размер элементов управления и их взаимное расположение должны допускать перевод интерфейса на другие языки (в первую очередь английский).
При выравнивании текстовых меток по правому краю, выравнивание текста в этих метках так же установлено по правому краю.
Контрольный список интерфейса / Usethics [В Интернете] // usethics.юзабилити-тестирование и проектирование интерфейсов. - Usethics, 28 11 2005 г. - http://www.usethics.ru/lib/software_checklist.html.
См. также: