✅ Чек-лист качества

Что проверить перед ревью: раскладка, доступность, тема, код

Как пользоваться

Пройдите список перед тем, как отдать интерфейс в ревью. Рядом с каждым пунктом указан урок, где разбирается нужный приём.

Раскладка и адаптивность

ПроверкаУрок
На 320px нет горизонтальной прокрутки11
Проверены ширины 320, 375, 768, 1024, 144011
Сетки перестраиваются, а не сжимаются до нечитаемого09
Ширины ограничены max-w-*, а не заданы жёстко04
Длинный текст обрезается (truncate + min-w-0)05, 08
Иконки и аватары не сжимаются (shrink-0)08
Широкие таблицы обёрнуты в overflow-x-auto10
Промежутки заданы gap, а не отступами у детей04
Компоненты, используемые в разных местах, реагируют на контейнер11

Доступность

ПроверкаУрок
Вся страница проходится клавишей Tab12
Фокус виден на каждом интерактивном элементе07, 12
Порядок фокуса совпадает с визуальным12
Кнопки-иконки имеют aria-label18
Подписи связаны с полями (htmlFor / id)20
Ошибки помечены aria-invalid и связаны с текстом20
Диалоги имеют заголовок21
Состояние передано не только цветом06, 12
Контраст текста не ниже 4.5:106
Анимации отключаются при prefers-reduced-motion14
Скрытые элементы скрыты правильно (sr-only, а не hidden)12

Тема и цвет

ПроверкаУрок
Каждый экран проверен в тёмной теме13
Нет жёстких цветов там, где нужны токены13, 19
Тени в тёмной теме заменены рамками или кольцами07, 13
Нет вспышки светлой темы при загрузке13
На экране не больше четырёх имён оттенков06
Приглушённый текст остаётся читаемым06, 19

Код

ПроверкаУрок
Нет классов, собранных из строк в JavaScript03
Повторяющиеся наборы классов вынесены в компоненты15
Компоненты принимают className через cn()15
Значения берутся из шкалы, произвольных — минимум04
Нет конфликтующих утилит на одном элементе01
Классы отсортированы (prettier-plugin-tailwindcss)15
Нет !important без веской причины18
Слои z-index в пределах шкалы 10–5010

Поведение и состояния

ПроверкаУрок
Есть состояние загрузки (скелетон нужной геометрии)14, 22
Есть пустое состояние с объяснением и действием22
Есть состояние ошибки с возможностью повторить22
Кнопки отправки блокируются во время запроса20
Опасные действия требуют подтверждения21
Анимации не длиннее 300 мс14
Ничего важного не спрятано только за hover12
Числа выровнены и используют tabular-nums05

Сборка

ПроверкаКомментарий
npm run build проходит без ошибок—
Размер CSS соответствует ожиданиямрезкий рост — признак произвольных значений
Классы из шаблонов бэкенда попали в сборкупроверить @source
В продакшене нет браузерной сборки Tailwindтолько для прототипов