10 эвристик Нильсена: как за час найти критические ошибки в любом интерфейсе
Основной чат
Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.
Якоб Нильсен сформулировал свои 10 эвристик в 1994 году. Тридцать лет спустя они работают — потому что описывают фундаментальные принципы взаимодействия человека с системой, а не конкретные UI-паттерны.
За час обхода продукта через линзу эвристик можно найти большинство критических проблем юзабилити. Не все — но самые дорогостоящие точно.
Как пользоваться этой статьёй
Для каждой эвристики: определение, примеры нарушений, примеры хорошего решения, и конкретный чеклист для проверки. В конце — промпты для AI-оценки через скриншоты.
Не нужно запоминать все 10 наизусть. Нужно понять принцип за каждой — тогда нарушение заметно само собой при работе с интерфейсом.
Эвристика 1: Видимость статуса системы
Принцип: пользователь всегда должен знать что происходит. Система информирует о текущем состоянии через разумное время.
Нарушения:
- Кнопка нажата — ничего не изменилось. Загрузка? Ошибка? Непонятно
- Файл загружается, но нет прогресс-бара — только спиннер
- Форма отправлена, страница обновилась — но нет подтверждения что всё прошло
- AI-агент работает — нет никакого индикатора процесса
Хорошо сделано:
- Кнопка после нажатия меняет состояние («Сохранить» → «Сохраняется...» → «Сохранено ✓»)
- Progress bar с реальным прогрессом при загрузке файла
- Breadcrumbs показывают где ты находишься в многошаговом флоу
Чеклист:
- Каждое действие имеет видимую реакцию в течение 1 секунды
- Процессы длиннее 1 секунды показывают индикатор загрузки
- После завершения действия есть явное подтверждение
- Активный элемент навигации визуально выделен
- Форма показывает, что отправлена (и что произойдёт дальше)
Эвристика 2: Соответствие системы и реального мира
Принцип: система использует язык пользователя, а не внутренний язык разработчиков. Следует реальным конвенциям.
Нарушения:
- «Дебаггер» в интерфейсе для нетехнической аудитории
- «Сущность», «инстанс», «рекурсия» в UI для обычных пользователей
- Иконки, которые не соответствуют своим функциям (иконка «дом» открывает настройки)
- Метафоры, которые не работают для целевой аудитории
Хорошо сделано:
- Финансовый продукт использует терминологию бухгалтерии, а не программирования
- Иконки соответствуют устоявшимся конвенциям (мусорная корзина = удалить, конверт = письмо)
- Кнопка «Оформить заказ» в e-commerce, а не «Подтвердить транзакцию»
Чеклист:
- Все термины понятны целевой аудитории без объяснений
- Иконки соответствуют общепринятым значениям
- Метафоры UI знакомы аудитории (папки, корзина, почта)
- Нет технических терминов там, где аудитория нетехническая
Эвристика 3: Контроль и свобода пользователя
Принцип: пользователь часто выбирает функции по ошибке. Нужен «аварийный выход» — возможность отменить или переделать без долгого процесса.
Нарушения:
- Кнопка «Удалить» без подтверждения и без возможности восстановить
- «Назад» в браузере теряет заполненную форму
- Многошаговый флоу без возможности вернуться на предыдущий шаг
- Подписка, которую невозможно отменить самостоятельно
Хорошо сделано:
- «Undo» для любого деструктивного действия (или корзина с возможностью восстановления)
- Форма сохраняет данные при переходе назад
- Диалог подтверждения перед удалением с объяснением последствий
- «Отмена» всегда доступна и понятно куда ведёт
Чеклист:
- Деструктивные действия имеют подтверждение или undo
- «Назад» работает ожидаемо и не теряет данные
- Есть возможность выйти из любого флоу без последствий
- Удалённые данные можно восстановить (корзина или undо)
- Ошибочно начатый процесс можно прервать в любой момент
Эвристика 4: Последовательность и стандарты
Принцип: пользователь не должен думать о том значат ли разные слова, ситуации или действия одно и то же.
Нарушения:
- В одном месте «Сохранить», в другом «Применить», в третьем «OK» — и все они делают одно
- Одна и та же иконка в разных разделах означает разное
- Кнопка «Закрыть» в одном контексте закрывает, в другом — удаляет
- Разное поведение кнопки «Назад» в разных разделах
Хорошо сделано:
- Дизайн-система с чёткими соглашениями об использовании компонентов
- Словарь терминов, которые используются последовательно
- Одинаковые действия всегда имеют одинаковое визуальное оформление
Чеклист:
- Одинаковые действия называются одинаково во всём продукте
- Одинаковые иконки означают одинаковые действия везде
- Цветовое кодирование последовательно (красный всегда = деструктивное)
- Паттерны взаимодействия одинаковы в похожих ситуациях
Эвристика 5: Предотвращение ошибок
Принцип: хороший дизайн предотвращает проблемы прежде чем они возникают. Лучше, чем хорошие сообщения об ошибках.
Нарушения:
- Поле для email принимает «test» без предупреждения — ошибка появляется только при отправке
- Кнопка «Удалить всё» рядом с «Сохранить всё» без визуального разделения
- Нет валидации пароля в реальном времени — ошибка только после отправки
- Форма оплаты позволяет ввести истёкшую дату карты без предупреждения
Хорошо сделано:
- Inline-валидация по мере ввода (не после отправки)
- Автоформатирование номера карты (1234 5678 9012 3456)
- Деструктивные кнопки визуально изолированы от безопасных
- Предупреждение при попытке уйти со страницы с несохранёнными данными
Чеклист:
- Критичные поля валидируются в реальном времени, не только при отправке
- Деструктивные действия визуально отделены от безопасных
- Формат ввода подсказан заранее (не только при ошибке)
- Предупреждение при уходе с формы с введёнными данными
Эвристика 6: Узнавание лучше вспоминания
Принцип: минимизируй когнитивную нагрузку пользователя. Объекты, действия и опции должны быть видны. Не заставляй вспоминать информацию из одной части диалога для использования в другой.
Нарушения:
- Настройки скрыты в трёх уровнях меню — пользователь должен помнить путь
- Параметры фильтра видны только пока фильтр открыт — не видно, что применено
- Wizard с 5 шагами не показывает, что выбрано на предыдущих шагах
- Контекстное меню появляется только при правом клике — не очевидно, что оно есть
Хорошо сделано:
- Активные фильтры видны после закрытия панели фильтров (теги с крестиком)
- Wizard показывает выбранные параметры на финальном шаге
- Часто используемые функции вынесены в быстрый доступ
- Автодополнение предлагает ранее введённые значения
Чеклист:
- Примённые фильтры и настройки видны без открытия панели
- В многошаговом флоу предыдущие выборы видны
- Часто нужные функции доступны без глубокой навигации
- Подсказки и примеры видны во время заполнения, а не только при ошибке
Эвристика 7: Гибкость и эффективность
Принцип: горячие клавиши и быстрые пути для опытных пользователей ускоряют взаимодействие — при этом интерфейс остаётся понятным для новичков.
Нарушения:
- Нет горячих клавиш для повторяющихся действий в профессиональном инструменте
- Нельзя пропустить туториал при повторном входе
- Нет быстрого поиска — только навигация по дереву разделов
- Bulk actions отсутствуют — каждый элемент нужно обрабатывать отдельно
Хорошо сделано:
- Cmd+K / Ctrl+K для командной строки (command palette)
- Сохранённые фильтры и поиски для повторного использования
- Bulk select и bulk actions для работы со множеством элементов
- Горячие клавиши для главных действий (документируются в тултипах)
Чеклист:
- Повторяющиеся действия имеют shortcuts (для профессиональных инструментов)
- Онбординг можно пропустить или свернуть (повторным пользователям)
- Есть поиск для навигации (не только структурное меню)
- Массовые операции возможны если пользователь работает со многими элементами
Эвристика 8: Эстетика и минимализм
Принцип: диалоги не должны содержать нерелевантную или редко нужную информацию. Каждый дополнительный элемент конкурирует с важными элементами и снижает их заметность.
Нарушения:
- Главный экран с 15 метриками, 3 уведомительными блоками и 7 кнопками действий
- Форма с 12 полями когда реально нужно 4
- Каждый элемент списка имеет 8 иконок действий видимых постоянно
- Модальное окно с 400 словами текста
Хорошо сделано:
- Inline-actions появляются при hover (не загромождают интерфейс постоянно)
- Прогрессивное раскрытие: базовые поля видны, расширенные — под «Показать больше»
- Метрики на дашборде — только самые важные, остальное при необходимости
- Модалки с одним действием и минимумом текста
Чеклист:
- Нет элементов, которые не используются большинством пользователей постоянно
- Декоративные элементы не конкурируют с функциональными
- Редкие функции скрыты в secondary actions
- Текст в модалках и диалогах минимален и по делу
Эвристика 9: Помощь в распознавании, диагностике и восстановлении после ошибок
Принцип: сообщения об ошибках должны выражаться понятным языком (не кодами), точно описывать проблему и конструктивно предлагать решение.
Нарушения:
- «Ошибка 403» без объяснения что произошло
- «Что-то пошло не так. Попробуйте позже» — не говорит что именно сделать
- «Неверный пароль» — не объясняет почему (заглавная буква? спецсимвол?)
- Ошибка после отправки формы не указывает на конкретное поле
Хорошо сделано:
- «Этот email уже зарегистрирован. [Войти] или [Сбросить пароль]»
- Ошибка рядом с конкретным полем с объяснением и примером
- При ошибке сети: «Нет соединения. Проверьте интернет и [попробуйте снова]»
- «Не удалось сохранить. Ваши данные сохранены локально. [Попробовать снова]»
Чеклист:
- Сообщения об ошибках на человеческом языке (не коды)
- Ошибка объясняет что именно пошло не так
- Ошибка предлагает конкретное действие для восстановления
- Ошибки форм привязаны к конкретным полям
- Нет потери данных при ошибке (данные формы сохраняются)
Эвристика 10: Помощь и документация
Принцип: даже если лучше когда система не требует документации, иногда помощь необходима. Она должна быть легко доступна, сфокусирована на задаче пользователя и перечислять конкретные шаги.
Нарушения:
- Help-центр доступен только через ссылку в футере
- Документация написана с точки зрения функций, а не задач пользователя
- Нет контекстных подсказок рядом со сложными элементами
- Чатбот поддержки не может ответить на базовые вопросы
Хорошо сделано:
- «?» в контексте сложного поля с объяснением зачем оно нужно
- Docs организован по задачам («Как добавить участника», а не «Функция Участники»)
- Поиск по документации доступен из продукта (Cmd+K → «Как...»)
- Onboarding tooltips для новых пользователей с возможностью вернуться
Чеклист:
- Помощь доступна в контексте (не только в отдельном разделе)
- Документация организована по задачам пользователя
- Сложные поля и функции имеют контекстные подсказки
- Новые пользователи могут найти помощь без обращения в поддержку
Как проводить эвристический анализ: практика
Правило трёх экспертов
Один эксперт — хорошо. Два независимых эксперта — в 1.5 раза больше находок. Три — почти полное покрытие критических проблем.
Если есть возможность привлечь коллегу — сделай это. Независимые оценки потом объединяются и приоритизируются.
Порядок прохождения
- Первый проход: без структуры, как обычный пользователь. Фиксируй что вызывает дискомфорт.
- Второй проход: по каждой эвристике отдельно. Смотришь только на один принцип — ищешь его нарушения.
- Финал: систематизируй находки, оцени severity, приоритизируй.
ИИ и эвристический анализ: как Claude находит нарушения
Промпт: полный эвристический аудит по скриншоту
Вот скриншот [экрана / флоу] продукта.
Целевая аудитория: [описание]
Задача пользователя на этом экране: [описание]
Проведи эвристический анализ по 10 эвристикам Нильсена.
Для каждой эвристики:
— Есть ли нарушения? Если да — конкретно что и где
— Severity: Critical / Major / Minor / OK
— Рекомендация по исправлению
В конце: топ-3 проблемы, которые нужно исправить в первую очередь.
Промпт: сравнить два варианта
Вот два варианта [экрана / флоу]:
Вариант A: [скриншот]
Вариант B: [скриншот]
Оцени оба варианта по эвристикам Нильсена.
Укажи по каким эвристикам A лучше, по каким — B.
Предложи гибрид, который объединяет лучшее из обоих.
Промпт: проверить конкретную эвристику
Вот описание нашего продукта: [описание] / [скриншоты]
Проверь ТОЛЬКО эвристику «[название]».
Найди все нарушения с указанием:
— Конкретного места в интерфейсе
— Почему это нарушение (механика)
— Конкретное решение
Как комбинировать эвристики: паттерны нарушений
Опытный взгляд замечает не единичные нарушения, а паттерны — как одна проблема вызывает другую.
Паттерн «Невидимое состояние»
Нарушает сразу несколько эвристик: видимость статуса (#1), узнавание (#6), последовательность (#4).
Симптомы: пользователь не понимает в каком состоянии находится система, не видит, что его фильтр применён, не знает сохранилось ли его действие.
Встречается: в сложных фильтрах, в формах с автосохранением, в workflow-продуктах.
Паттерн «Тупик без выхода»
Нарушает: контроль и свободу (#3), помощь после ошибок (#9).
Симптомы: пользователь попал в ошибочное состояние и не может из него выйти без потери данных или принятия нежелательного решения.
Встречается: в checkout-флоу, в онбординге с обязательными шагами, в платёжных флоу.
Паттерн «Перегруженный экран»
Нарушает: эстетику (#8), узнавание (#6), предотвращение ошибок (#5).
Симптомы: на одном экране слишком много элементов одинакового визуального веса. Пользователь не знает куда смотреть и что делать первым.
Встречается: в дашбордах, в настройках, в admin-панелях.
Эвристики для AI-интерфейсов: отдельная тема
Классические 10 эвристик Нильсена написаны до эпохи AI. Часть из них применима напрямую, часть нуждается в адаптации для AI-продуктов.
Эвристика #1 для AI: видимость процесса, не только статуса
Для обычного ПО: «загружается» → «готово». Для AI: «агент думает» может длиться минуты. Простого спиннера недостаточно.
Как адаптировать: показывай, что именно делает AI сейчас. Progress log («анализирую данные... нашёл 3 релевантных источника... формулирую ответ») лучше чем статичный спиннер.
Эвристика #3 для AI: контроль над непредсказуемым
В обычном ПО «отмена» понятна. Для AI-агента, который уже начал многошаговую задачу — что означает «назад»?
Как адаптировать: кнопка «Стоп» обязательна на весь период работы агента. После остановки — показывай, что успело сделаться.
Эвристика #5 для AI: предотвращение «галлюцинаций»
AI может уверенно сказать неправильное. Интерфейс должен снижать риск принятия неверных данных за истину.
Как адаптировать: источники для AI-ответов, индикаторы уверенности, явное разделение «факт» и «предположение», легкая проверка через ссылки.
Эвристика #9 для AI: восстановление после «не того результата»
Пользователь получил не тот ответ от AI. Как переспросить? Как уточнить? Как попросить попробовать иначе?
Как адаптировать: быстрые кнопки «Попробуй иначе», «Сделай короче/длиннее/формальнее». Возможность отредактировать промпт и перегенерировать.
Эвристический анализ за 60 минут: тайм-менеджмент
Аудит по эвристикам легко растянуть на весь день. Вот как уложиться в час.
| Время | Что делать |
|---|---|
| 0–10 мин | Подготовка: определи scope, подготовь тестовый аккаунт, открой таблицу для фиксации |
| 10–30 мин | Первый проход: свободное использование как обычный пользователь, фикси первые ощущения |
| 30–55 мин | Системный проход: по каждой эвристике (2–3 мин на эвристику), фиксируй находки |
| 55–60 мин | Классификация: severity, приоритет, топ-3 |
Правило двух минут: если в одной эвристике больше 2 минут ищешь нарушение — переходи к следующей. Возвращаешься если время остаётся. Самые серьёзные нарушения видны сразу.
Шаблон таблицы для фиксации результатов
| Эвристика | Экран/место | Нарушение | Severity | Рекомендация |
|-----------|-------------|-----------|----------|--------------|
| #1 Видимость | Форма оплаты | Нет подтверждения после отправки | Critical | Добавить success-state с информацией о следующих шагах |
| #5 Предотвращение | Кнопка «Удалить проект» | Нет подтверждения, рядом с «Сохранить» | Major | Диалог подтверждения + визуальное разделение |
| #8 Минимализм | Главный дашборд | 18 метрик одновременно без иерархии | Major | Приоритизировать 5–7 ключевых, остальное — в детали |
Эту таблицу заполняешь по мере прохождения — по одной строке на находку. В конце сортируешь по Severity и получаешь готовый список для работы.