Перейти к содержимому

Полная проверка

Открывайте эту страницу, когда команде нужен подробный аудит от макета до выпуска. Для первой передачи она не обязательна: начните с чеклиста дизайнера.

Полная проверка охватывает исходный макет, структурированные данные, реализацию, QA, открытые вопросы и намеренные отклонения.

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

Этап Обязательный результат
Дизайн Источник и примеры показывают всё применимое намерение без устного пояснения автора.
Контракт Версионированная оболочка bridge корректна, ссылки разрешаются, реализацию можно начать без выдумывания поведения.
Реализация Каждое принятое требование связано с поведением цели, кодом или согласованным отклонением.
QA/выпуск Наблюдаемый результат проверен во всех контекстах; свидетельства и активные отклонения связаны с выпуском.

Классифицируйте свидетельства:

  • автоматические — детерминированная проверка источника, схемы или реализации;
  • эвристические — инструмент находит подозрительный случай, который оценивает человек;
  • ручные — продуктовое, смысловое, визуальное, доступное или платформенное ревью;
  • рабочие — измерение в объявленном окружении реализации.

Ставьте not applicable только с причиной, основанной на области. Отсутствующий модуль не может означать «никто не проверил».

Затронутая область не проходит проверку, если:

  • важный элемент, контекст, требование, цель или ревизию источника нельзя определить;
  • роль, шаблон, экземпляр макета, рабочие данные и целевая реализация смешаны в неоднозначном или позиционном идентификаторе;
  • обязательное действие или ссылка не имеют адреса, реакции или достижимой цели;
  • смысл, происхождение, ключ, формат, состояние или приватность рабочих данных приходится придумывать;
  • адаптивная топология меняется без полного объявленного преобразования;
  • на корне страницы или редактируемой секции-фрейме выключен нативный Auto Layout; исключение — только допустимая цельная визуальная секция [asset] без живого контентного потока;
  • на обычном контейнере с поддержкой Auto Layout и не менее чем двумя видимыми значимыми элементами потока выключен Auto Layout;
  • GROUP Figma находится вне непрозрачного поддерева [asset]; документированное отклонение manual-layout не подавляет блокировку;
  • важная задача или содержимое исчезает на другой ширине, при ограниченных возможностях, уменьшенном движении, RTL, отсутствии сети или ошибке без сопоставленной альтернативы;
  • форма или асинхронный путь не имеют проверки, ожидания, ошибки, восстановления, фокуса или объявления;
  • для применимого требования WCAG 2.2 A/AA нет пути реализации или безопасного запасного варианта;
  • важная возможность цели не поддерживается без проверенного запасного пути;
  • решение unknown, unsupported или TBD существует только устно, в чате, несвязанной задаче или памяти;
  • блокирующий вопрос не разрешён либо его запасной путь опасен, недоступен, вводит в заблуждение, разрушает данные или не проверяется;
  • исключение или отклонение не имеет области, влияния, компенсации, владельца, свидетельства, согласования или даты пересмотра;
  • ревизии контракта, источника, реализации и QA нельзя связать с одним выпуском.
  • Единица передачи — страница, сценарий, секция или компонент — имеет стабильный transferId и точную область.
  • Объявлены страница, известный маршрут, состояние, локаль, направление, режим письма, тема, эксперимент, роль, сценарий данных и профиль цели, где применимо.
  • Зафиксированы файл, страница, узлы и неизменяемая ревизия источника.
  • contractVersion, methodologyVersion и rulesVersion соответствуют поддерживаемым версиям.
  • Связаны ревизия контракта и сборка/ревизия цели.
  • У дизайна, контракта, реализации, QA/доступности и согласования отклонений есть владельцы.
  • Требования и критерии приёмки имеют стабильные идентификаторы и места свидетельств.
  • Неподготовленные сочетания контекстов наследуются детерминированно или оформлены открытыми вопросами.

Профиль выбранной секции в унаследованном продукте

Заголовок раздела «Профиль выбранной секции в унаследованном продукте»

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

  • Каждый выбранный корень разрешается в один явный [section=<stable-id>]; фрейм без тега не принимается молча.
  • Выбранная секция не находится под другим непрозрачным родительским [asset]. Точный корень [section=id] [asset] допустим только как выбранный непрозрачный цельный визуальный ресурс; унаследованная граница ресурса даёт Blocked до обхода.
  • У секции нет придуманных [page], [bp], [view] или [route]. Выбранный корень страницы проверяется через Check page, а не этим профилем.
  • bridge.context.scope записывает kind: section, boundary: selected-subtree, assetBoundary: none|selected-root-opaque, идентификатор корня, статус хоста, режим выбора, идентификаторы контекстов и readinessClaim: section-source-only.
  • Зафиксированы документ источника, выбранные узлы, пути слоёв и неизменяемая ревизия.
  • Один выбранный корень объявляет один запрошенный контекст. Два или больше явно выбранных корней используют один идентификатор секции и объявляют сравниваемые варианты; соседние узлы унаследованного файла не находятся автоматически.
  • Подпись контекста, выведенная из выбранного корня или ширины контейнера, помечена labelSource: inferred-from-selected-root-width, а не выдана за авторское намерение.
  • Редактируемый корень секции и каждый подходящий локальный контейнер содержимого соблюдают правила нативного Auto Layout; GROUP вне ресурсов отсутствуют.
  • Точный [asset] на выбранном корне останавливает внутренний обход, делает проверку раскладки неприменимой и оставляет корень одним элементом потока; один [decor] продолжает проверяться и допустим только на точном визуальном слое.
  • Выбранный корень секции, который сам является INSTANCE, показывается как частичная граница источника. Обычные дочерние экземпляры являются доверенными атомарными границами: их внутренность не применима к этому обходу, они не снижают Ready и не отсоединяются ради видимости полного результата.
  • Стабильные идентификаторы уникальны внутри каждого объявленного выбранного контекста; проверены локальный синтаксис, содержимое, переполнение, компоненты, действия и цели.
  • Цели внутри выбранных корней разрешаются локально. Полные допустимые адреса http:, https:, mailto: и tel: считаются авторски разрешёнными; неполные или некорректные внешние значения являются блокирующими ошибками синтаксиса, а не отложенными ссылками. Внутренние маршруты/якоря, цели модального окна/состояния/формы/сброса, компоненты и данные, требующие поиска вне корней, записаны в externalDependencies с владельцем, статусом и точкой проверки файла/интеграции.
  • Если варианты были запрошены, сравниваются их идентичность/тип, логическое дерево/состав, родительские связи, продуктовый текст и политика визуального назначения. Незапрошенный вариант получает статус «не запрошен», а не ошибку отсутствующего адаптива.

Не считайте пройденными по проверке выбранной секции: структуру корня страницы-хоста, полноту страницы/вида/маршрута, обязательные корни адаптивов страницы, глобальную уникальность идентификаторов, внешние маршруты/якоря/модальные окна/состояния/формы, размещение у родителя и обрезку/слои/липкое поведение, ориентиры страницы и полный порядок чтения/фокуса, сквозные сценарии, рабочее поведение, производительность, доступность реализации или соответствие WCAG. Запишите пункт как deferred, unverified-external или not evaluated: requires host/page evidence, затем выполните отдельные проверки файла/интеграции и реализации.

  • Ready — в объявленной области исходника нет ошибок, предупреждений/задач, пробела источника выбранного корня или отложенной проверки. Один запрошенный контекст может иметь Ready; доверенные дочерние экземпляры его не снижают.
  • Partial — блокирующей локальной ошибки нет, но осталось предупреждение/задача, выбранный корень INSTANCE, отложенная ссылка с файловым разрешением или неразличимый выбранный контекст.
  • Blocked — граница с тегом отсутствует/недопустима или находится под унаследованным непрозрачным ресурсом, выбранные корни вложены друг в друга или используют разные идентификаторы секции либо остаётся любая блокирующая локальная ошибка.

Все три статуса относятся только к объявленной области. Ready означает готовность исходника секции в объявленных выбранных контекстах, но не готовность страницы, продукта или реализации и не соответствие WCAG. Точное автоматическое покрытие публикуется отдельно в манифесте выбранной секции.

2. Идентичность и сопоставление источника

Заголовок раздела «2. Идентичность и сопоставление источника»
  • Важные элементы имеют стабильные английские идентификаторы в kebab-case или допустимый запасной тег.
  • Суффиксы ширины/устройства вроде -375, -mobile и -desktop не входят в логические идентификаторы.
  • Ссылки bridgeKey уникальны в области и разрешаются.
  • Роль, templateKey, designInstanceKey, правило ключа рабочей записи и сопоставление цели разделены, где необходимо.
  • [item=...] обозначает повторяемую роль/тип элемента и может повторяться; это не уникальный идентификатор примера или рабочей записи.
  • Примеры макета имеют стабильную идентичность, переживающую перестановку; рабочие записи используют продуктовый ключ, а не позицию массива.
  • Каждый объявленный узел существует в своём контексте и сопоставлен ожидаемому логическому элементу.
  • Цели взаимодействий используют стабильные ссылки DFC Bridge и не смешаны с адресами целевой реализации.
  • [decor] и [asset] остаются признаками политики и не заменяют стабильную идентичность.

См. идентичность и контракт переноса.

3. Структура источника, компоненты и обёртки

Заголовок раздела «3. Структура источника, компоненты и обёртки»
  • Каждый корень страницы является прямым потомком страницы Figma или находится только под нативными организаторами холста SECTION Figma. Такие Section не передают контекст DFC Bridge и не заменяют корень; обычные внешние FRAME/GROUP не являются прозрачными.
  • Каждый корень страницы DFC Bridge использует нативный Auto Layout даже при нуле или одном дочернем слое; корень нельзя объявить [asset] ради обхода проверки.
  • Каждая секция-фрейм использует нативный Auto Layout даже при нуле или одном дочернем слое, кроме узко допустимой цельной визуальной секции [asset] без живого контентного потока.
  • Каждый обычный контейнер с поддержкой Auto Layout и не менее чем двумя видимыми значимыми прямыми дочерними элементами потока использует нативный Auto Layout.
  • Примитивы и конечная геометрия исключены; непрозрачное поддерево [asset] может сохранить внутреннюю композицию, а его корень остаётся одним элементом Auto Layout родителя.
  • Вне поддерева [asset] нет GROUP Figma. [decor] не является исключением; manual-layout с причиной документирует отклонение, но оставляет ошибку блокирующей.
  • Связанные элементы используют осмысленные фреймы, компоненты, Auto Layout, ограничения и обрезку исходного инструмента.
  • Теги не дублируют тип узла, геометрию, источник компонента, варианты и другие нативные метаданные.
  • Каждая обёртка отвечает за группировку, раскладку, обрезку, поверхность, семантику, экспорт или взаимодействие.
  • Переиспользуемая секция приходит из Page Sections или имеет [section=...], если источник неоднозначен.
  • Корень исходного компонента каждой секции Page Sections проходит правило Auto Layout в отдельном аудите источника; Page Check не определяет источник из размещённого экземпляра и не считает его внутренние слои редактируемой структурой страницы.
  • Элементы интерфейса наследуют зафиксированный контракт компонента/шаблона; переопределения экземпляра намеренны и видимы.
  • Состояния компонента не превращены в несвязанные корни страниц, а состояния страницы/данных не спрятаны в одном варианте компонента.
  • Отвязанные копии, уплощённые ресурсы, растровый текст и скрытые источники правды объяснены или удалены.
  • Наследование системы компонентов и переопределения экземпляра не противоречат друг другу.

Намеренный абсолютный декор несёт [decor] на точном абсолютном визуальном узле. [decor] не легализует свободный контейнер или поддерево. Для сложного декоративного визуала, переносимого одной непрозрачной единицей, используйте [decor] [asset], а [bridge-exception=overlay] [reason=...] — только для намеренного наложения, которому нужно документированное назначение.

4. Адаптивное, плавное, контейнерное и направленное поведение

Заголовок раздела «4. Адаптивное, плавное, контейнерное и направленное поведение»
  • [bp=...] обозначает подготовленную ширину, а не автоматически вычисленную границу media query.
  • По умолчанию контексты сохраняют логическое дерево, смысл, действия, связи данных и семантику доступности.
  • Условия области просмотра, контейнера, содержимого и возможности разделены.
  • Ступенчатые условия и плавные диапазоны min/preferred/max покрывают промежуточные значения.
  • Изменение топологии имеет fromContext, toContext, условие, полное сопоставление и сохраняемый смысл.
  • Преобразование задаёт чтение/фокус, паритет действий и проверки, перенос состояния/выбора, прокрутку, адрес/историю, обратный переход и запасной вариант.
  • Важное содержимое достигается через перемещение или раскрытие, а не молча удаляется.
  • Количество коллекции и ключ рабочей записи не меняются ради заполнения адаптивной сетки.
  • Sticky/fixed-интерфейс резервирует место и не перекрывает якоря, содержимое, ошибки или фокус.
  • Где применимо, описаны безопасные области, вложенная прокрутка, единицы размера окна, ориентация и поведение экранной клавиатуры.
  • Для ltr, rtl, двунаправленного текста и режимов письма решены start/end, зеркальность иконок, смешанные значения, оси диаграмм, чтение и клавиатура.
  • QA включает точки, значения до/после ступеней, промежуточные ширины, вложенные контейнеры, масштабирование и перестроение, длинный текст и направления.

См. адаптивное поведение и оси вариативности.

5. Содержимое, рабочие данные, таблицы и визуализация

Заголовок раздела «5. Содержимое, рабочие данные, таблицы и визуализация»
  • Авторский текст отделён от рабочих полей и подписей/аннотаций представления.
  • Представление данных определяет цель, схему, стабильный ключ, null, связи и количество.
  • Явны владелец, набор, агрегация, обновление, устаревание, ограничения, приватность, подавление и время последнего обновления.
  • Однозначны локаль, валюта, единицы, часовой пояс, точность, знак, округление, диапазоны и отсутствующее/нулевое/оценочное/неприменимое значение.
  • Загрузка, пустота, частичный и устаревший результат, ошибка, отсутствие сети и отсутствие прав имеют обратную связь и восстановление.
  • Сортировка, фильтр, пагинация, виртуализация, выбор, массовые действия, редактирование, детализация и экспорт полностью описаны, где присутствуют.
  • Таблица сохраняет подпись/название, связи заголовков, сравнение и доступ на узкой ширине.
  • Диаграмма или карта задаёт измерения, меры, область, шкалу, базовую линию, агрегацию, порядок, кодирование, аннотации и взаимодействие.
  • Цвет, наведение, canvas, SVG или анимация не являются единственным способом получить статус, значения или вывод.
  • Таблица, список, резюме, подробность или скачивание дают подходящий доступный эквивалент сложных данных.
  • Примеры покрывают ноль, один, обычный и максимальный/неизвестный объём, длинные, двунаправленные, отсутствующие, повторные, экстремальные, частичные, устаревшие, ошибочные и ограниченные данные.

См. данные и визуализацию.

6. Взаимодействия, машины состояний, формы, фокус и история

Заголовок раздела «6. Взаимодействия, машины состояний, формы, фокус и история»
  • Переход использует настоящий [href=...], ненавигационное поведение — [action=...], а черновые маркеры остаются видимыми задачами.
  • Нетривиальное действие разрешается в версионированную реакцию/машину состояний.
  • Состояния, события, условия, эффекты, ожидание, исходы, отмена, таймаут, повтор и конкуренция детерминированы.
  • Политика гонок не позволяет запоздалому ответу перезаписать новое состояние.
  • Оптимистическое изменение задаёт откат, конфликт и отмену, где применимо.
  • Поля имеют привязку, видимые метки, инструкции, тип, обязательность, автозаполнение, ограничения и связи ошибок.
  • Явны момент проверки, полномочия клиента/сервера, сводка, первый ошибочный фокус, сохранение значений, повторная отправка, сброс и несохранённые изменения.
  • Диалоги, панели, меню, popover и disclosure задают начальный фокус, клавиатуру, Escape/закрытие/фон, вложенность, блокировку прокрутки и возврат фокуса.
  • У наведения, drag, swipe, long press и multipoint есть клавиатурная или single-pointer альтернатива, где требуется.
  • Вставка, удаление, фильтрация, смена прав и маршрута сохраняют или намеренно перемещают фокус и объявляют важный статус.
  • Объявлены path/query/hash/storage, push/replace, Back/Forward, прямая загрузка, refresh, deep link, прокрутка и фокус.
  • Адреса и аналитика не раскрывают секретные или чувствительные значения.

См. интерактивность и машины состояний.

  • Последовательность имеет продуктовую цель и осмысленные стабильные состояния, работающие как неподвижное содержимое.
  • Объявлены источник прогресса, триггер, диапазон, время, easing, треки, синхронизация и конечное состояние.
  • Для длинной прокрутки заданы прокручиваемый контейнер, смещения, непрерывное/пороговое сопоставление, границы закрепления, место в потоке и запасное представление в обычном потоке.
  • Детерминированы обратный ход, повторный вход, частый ввод, прерывание, отмена, resize, локализация, динамическое содержимое, маршрут и deep link.
  • Содержимое фокуса создано и показано сразу; завершение не зависит только от события конца анимации.
  • Уменьшенное движение удаляет проблемный путь/параллакс/цикл или заменяет его статикой/коротким переходом, сохраняя задачу, содержимое, состояние и фокус.
  • Применимое движущееся содержимое можно остановить или скрыть; вспышки остаются ниже допустимого порога.
  • Если анимация, закрепление при прокрутке или временная шкала не поддерживаются, используется объявленный запасной вариант с тем же смыслом.

См. движение и длинную прокрутку.

  • Вся реализованная область ориентируется на каждый применимый критерий WCAG 2.2 уровней A и AA.
  • Заголовок/язык документа, смена языка, области, заголовки, списки, таблицы, метки, статусы и порядок чтения соответствуют смыслу.
  • Название элемента включает видимую метку; различимы элементы только с иконкой, повторные ссылки, инструкции и ошибки.
  • Вся функциональность работает с клавиатуры без ловушки; порядок и индикатор фокуса логичны, фокус восстанавливается и не перекрывается.
  • Проверены контраст, обозначение не одним цветом, текст 200%, reflow при эквиваленте 320 CSS px, интервалы, ориентация и сенсорные инструкции.
  • Цели указателя отвечают минимуму WCAG 2.2 AA или допустимому исключению; основные сенсорные действия следуют более сильной продуктовой цели, если она задана.
  • Drag и сложные жесты имеют альтернативу, а действие pointer down отменяется, где применимо.
  • Формы объясняют ошибку и исправление, сохраняют повторные сведения и поддерживают доступную аутентификацию.
  • Живые статусы, ограничения времени, субтитры, аудиоописание, расшифровки, autoplay, движение и вспышки выполняют применимые критерии.
  • Сложные изображения и визуализации предоставляют равнозначную важную информацию.
  • Преобразование сохраняет название, роль, значение, состояние, связи, задачу, фокус и помощь.
  • Ручной QA покрывает объявленные браузеры/платформы/вспомогательные технологии, клавиатуру, скринридер, масштабирование и перестроение, интервалы, контрастные режимы, уменьшенное движение, сенсорный ввод, RTL/двунаправленный текст, состояния данных и преобразования.
  • Макет, отдельный компонент, автоматическая оценка или неполный процесс не выдаются за соответствие WCAG.

См. профиль доступности.

9. Ресурсы, возможности, деградация и производительность

Заголовок раздела «9. Ресурсы, возможности, деградация и производительность»
  • Дизайн/продукт объявляет важные сведения, медиа, последовательность и результат задачи.
  • Профиль цели задаёт платформу и среду выполнения, возможности ввода/вывода, поддерживаемые функции и запасные варианты для неподдерживаемых.
  • Для изображений, видео и анимации заданы размеры, форматы, качество, смысловой центр и безопасная область обрезки, кадрирование по смыслу, обложка/предпросмотр, приоритет, предварительная и отложенная загрузка, где применимо.
  • Явны ожидаемый/максимальный объём данных, размер страницы/окна, streaming, pagination и порог virtualization.
  • Для низкой скорости, отсутствия сети, экономии трафика/энергии, уменьшенного движения, отсутствия API/кодека, нехватки памяти и прерывания описано работоспособное упрощённое поведение, где применимо.
  • Приоритет загрузки не скрывает важный текст и действия за необязательным медиа.
  • Бюджет производительности задаёт метрику, предел, единицу, владельца, окружение, этап измерения и свидетельство.
  • Безопасность, приватность, право, целостность данных, доступность и важная задача приоритетнее визуальной точности.
  • Неизвестная или неподдерживаемая возможность становится открытым вопросом, а не молчаливым предположением адаптера.

См. профиль цели в осях вариативности и контракте переноса.

10. Маршруты, безопасность содержимого и зависимости цели

Заголовок раздела «10. Маршруты, безопасность содержимого и зависимости цели»
  • [route=...] и [route-pattern=...] используются только для известных рабочих путей; неизвестный маршрут остаётся вопросом, а не фиктивным URL.
  • Внутренние маршруты и якоря разрешаются; внешние, почтовые и телефонные адреса используют допустимую схему и способ открытия.
  • Зависимости модального окна, состояния, формы, секции и якоря разрешаются внутри области или явно связанного внешнего контракта.
  • Вариант роли и прав не считает визуальное скрытие авторизацией.
  • Чувствительные, приватные, юридические и пользовательские данные имеют правила показа, редактирования, хранения и ошибки, где требуется.
  • Нативная безопасность, семантика и ограничения платформы записаны, если переопределяют визуальное свидетельство.
  • Аналитика, эксперименты и сохранённое состояние имеют владельца и не меняют поведение незаметно.

11. Открытые вопросы, исключения, отклонения и жизненный цикл

Заголовок раздела «11. Открытые вопросы, исключения, отклонения и жизненный цикл»
  • Открытый вопрос имеет идентификатор, область, формулировку, владельца, блокирующий статус, срок или этап, безопасный запасной вариант и статус.
  • Закрытый вопрос ссылается на решение и обновляет источник, контракт, реализацию и тесты.
  • Исключение описывает намеренное отступление источника/контракта от правила; отклонение — расхождение реализации с принятым контрактом.
  • Исключение/отклонение ссылается на требование и точный контекст.
  • Влияние покрывает пользователя, доступность, данные, безопасность/приватность, производительность и сопровождение, где применимо.
  • Записаны альтернативы, компенсация, владелец, согласующий, свидетельство, статус и дата пересмотра/окончания.
  • Отклонение, нарушающее WCAG 2.2 AA, не называется соответствием.
  • Временное отклонение возвращается к проверке и закрывается только после сближения контракта и реализации и прохождения тестов.
  • Изменение источника после принятия создаёт новую ревизию или доказывается как несемантическое.
  • Рабочие находки возвращаются в канонический источник, контракт, компоненты, примеры и регрессию.

См. жизненный цикл.

  • Проверяются реестр тегов, JSON Schema, каталог и локализация правил, примеры, манифест содержимого и манифесты покрытия.
  • Объём Page Check сформулирован честно: точный набор выдаваемых правил содержит 42 из 107 — 40 автоматических и 2 эвристических.
  • Проверка выбранной секции описана отдельно: её точный набор содержит 26 правил — 24 автоматических и 2 эвристических; 20 локальных и 6 для выбранных вариантов.
  • Для правил за пределами каждого заявленного набора есть структурированные, эвристические, ручные, реализационные или рабочие свидетельства по манифесту; числа не складываются, потому что области пересекаются.
  • Чистый Page Check не выдаётся за полную проверку DFC Bridge или WCAG.
  • Результат называет окружение, ожидание, факт и свидетельство.
  • Каждый критерий имеет pass, fail, not-applicable, blocked либо ссылку на принятое отклонение.
  • Поведение высокого риска имеет повторяемую регрессию.
  • Выпуск фиксирует версии источника, контракта, правил/схемы, сборки, QA, вопросов и отклонений.

Зафиксируйте одно решение для проверенной области:

  • pass — все применимые критерии выполнены, блокеров нет;
  • pass with accepted deviations — отклонения согласованы, компенсированы, подтверждены и имеют дату пересмотра;
  • blocked — требование, вопрос, ошибка или небезопасный запасной вариант блокирует передачу или выпуск;
  • not applicable — только для точно исключённой области, но не для непроверенной темы.

Решение называет область, ревизии, ревьюеров, дату, оставшиеся вопросы, активные отклонения, свидетельства и следующий этап. Если важный ответ всё ещё существует только в приватном устном контексте, этап заблокирован.

Приближайте и листайте. Закрыть — Esc.