---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.ru/support/tasks-requester/ru/guide/spec.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tasks-requester/ru/llms.txt

# Интерфейс задания

<!-- source: ru/_includes/button-text.md -->
Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:
<!-- endsource: ru/_includes/button-text.md -->

<a class="support_btn msg" target="_blank" href="https://yandex.ru/chat?context=%7B%22entrypoint%22%3A%22%7B%5C%22page_name%5C%22%3A%5C%22guide-spec%5C%22%2C%5C%22a_pageurl%5C%22%3A%5C%22https%3A%2F%2Fyandex.ru%2Fsupport%2Ftasks-requester%2Fru%2Fguide%2Fspec%5C%22%7D%22%7D#/user/bb41c200-08e6-94b4-5c5b-e9694fa7b06e">Написать в чат</a>  <a class="support_btn" target="_blank" href="https://t.me/YandexTasksSupport_Bot">Написать в Telegram</a>

<!-- source: ru/guide/_includes/requester-source/html-editor-tb.md -->
{% note info %}

Справочник по настройке интерфейса описывает работу редактора HTML/JS/CSS. Вы также можете попробовать создать интерфейс задания в [Конструкторе шаблонов](https://yandex.ru/support/tasks-requester/ru/template-builder/index.md).

{% endnote %}
<!-- endsource: ru/guide/_includes/requester-source/html-editor-tb.md -->

**Интерфейс задания** определяет внешний вид задания для исполнителя и логику обработки ответов.

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

## Блок настройки интерфейса {#interface-section}

Наведите на элемент на изображении, чтобы увидеть всплывающую подсказку:

![](_images/location-job/spec.png)

{% note info %}

Чтобы раскрыть блоки **HTML**, **CSS** и **JS**, нажмите на название блока справа.

{% endnote %}

## Блок HTML {#html}

Добавьте в этот блок элементы для всех [входных и выходных данных](https://yandex.ru/support/tasks-requester/ru/guide/incoming.md), которые вы хотите отобразить в интерфейсе задания. Вы можете использовать специальные компоненты или HTML-теги внутри тега `<body>`.

В качестве шаблонизатора для HTML используется [Handlebars](https://yandex.ru/support/tasks-requester/ru/guide/t-components/handlebars.md).

{% cut "Как добавить компонент" %}

1. Откройте помощник по созданию интерфейса задания. Для этого в блоке **Интерфейс задания** нажмите кнопку <svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" fill="none"><path fill="#000" d="M10.834 2.915 4.047.154C3-.41.872.687.25 1.638a1.49 1.49 0 0 0-.248.911l.093 9.097a.968.968 0 0 0 .464.58l6.152 3.2a.612.612 0 0 0 .343.094c.1 0 .2-.023.289-.069a.55.55 0 0 0 .323-.488V5.42a.557.557 0 0 0-.303-.481L1.281 2.243c.25-.345.588-.618.98-.79a1.464 1.464 0 0 1 1.171-.158l6 2.489c.213.107.213.124.213.31v9.072c0 .453.46.639.798.639a.736.736 0 0 0 .687-.64v-9.77a.546.546 0 0 0-.296-.48z"/></svg> и выберите компонент.

    Нажмите **Подробнее**, чтобы посмотреть пример и полный список параметров.

1. Скопируйте выражение с помощью кнопки <svg xmlns="http://www.w3.org/2000/svg" width="11" height="14"><path d="M9 11V3a1 1 0 0 0-1-1H3V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9z"/><rect width="8" height="11" y="3" rx="1"/></svg> и вставьте его в блок HTML.

1. Укажите имя поля из входных или выходных данных.

{% endcut %}

{% cut "Примеры использования входных данных" %}

- **Отобразить текст в задании.** Добавьте во входные данные поле `text` с типом **строка**. Затем в интерфейсе задания (в блоке HTML) вы сможете добавить этот текст в качестве переменной, например:

    ```html
    <p>Прочитайте текст: {{text}}</p>
    ```

- **Загрузить файл в задание, например картинку.** Добавьте во входные данные поле `url` с типом **ссылка**. Затем добавьте компонент [Картинка](https://yandex.ru/support/tasks-requester/ru/guide/t-components/img.md) в интерфейс задания (в блок HTML) и укажите имя поля в атрибуте `src`:

    ```html
    {{img src=url width="400px" height="300px"}}
    ```

- **Оформить ссылку на файл с Яндекс Диска.**
    Если элемент интерфейса будет использоваться для передачи ссылок на файлы с Яндекс Диска, в блоке HTML добавьте к названию поля входных данных слово `proxy`. В зависимости от типа элемента оформление поля будет выглядеть по разному. Например:

    #|
    ||**HTML-тег**|**Компонент**||
    ||Ссылка на аудио:

    `<audio src="{{audio_link}}" controls>`

    **↓**

    `<audio src="{{proxy audio_link}}" controls>` | Ссылка на изображение:

    `{{img src=image }}`

    **↓**

    `{{img src=(proxy image)}}`||
    |#

    Подробнее в разделе [Яндекс Диск](https://yandex.ru/support/tasks-requester/ru/guide/prepare-data.md).

{% endcut %}

{% cut "Примеры использования выходных данных" %}

- **Попросить исполнителя ввести текст.** Добавьте в выходные данные поле `input` с типом **строка**. Сделайте поле обязательным. Затем добавьте компонент [Поле для ввода текста](https://yandex.ru/support/tasks-requester/ru/guide/t-components/text.md) в интерфейс задания (в блок HTML) и укажите имя поля в атрибуте `name`:

    ```html
    {{field type="textarea" name="input" width="270px" rows=5}}
    ```

- **Попросить выбрать одно из значений.** Добавьте в выходные данные поле `result` с типом **строка**. Сделайте поле обязательным и укажите допустимые значения `Yes` и `No`. Затем добавьте компонент [Переключатель](https://yandex.ru/support/tasks-requester/ru/guide/t-components/radiobuttons.md) в интерфейс задания (в блок HTML) и укажите имя поля в атрибуте `name`:

    ```html
    {{field type="radio" name="result" label="Да" value="Yes" hotkey="1"}}
    {{field type="radio" name="result" label="Нет" value="No" hotkey="2"}}
    ```

{% endcut %}

## Блок JS {#js}

В блоке **JS** вы можете добавить дополнительные правила обработки ответа на JavaScript. Для этого разработаны [специальные расширения для классов заданий](https://yandex.ru/support/tasks-requester/ru/guide/spec-advanced.md).

Кроме того, вы можете подключать JavaScript-библиотеки для создания интерфейса. Например, если у вас есть несколько [проектов](*project) с похожими заданиями, сохраните описание методов в отдельном файле и подключите его как библиотеку.

Чтобы подключить JavaScript-библиотеку, нажмите кнопку <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m11.967 12.675.626 1.389a.5.5 0 0 1-.205.638l-.775.448a.5.5 0 0 1-.656-.141l-.895-1.244a1.433 1.433 0 0 0-2.565.345l-.538 1.425a.5.5 0 0 1-.597.306l-.865-.231a.5.5 0 0 1-.364-.564l.248-1.512a1.433 1.433 0 0 0-2.058-1.57l-1.389.627a.5.5 0 0 1-.638-.205l-.448-.776a.5.5 0 0 1 .141-.656l1.244-.894a1.433 1.433 0 0 0-.345-2.565L.463 6.958a.5.5 0 0 1-.306-.597l.232-.865a.5.5 0 0 1 .563-.364l1.512.247a1.433 1.433 0 0 0 1.57-2.058l-.627-1.388a.5.5 0 0 1 .206-.638l.775-.448a.5.5 0 0 1 .656.141l.894 1.244a1.433 1.433 0 0 0 2.565-.345L9.04.46a.5.5 0 0 1 .597-.306l.865.231a.5.5 0 0 1 .364.564l-.247 1.512a1.433 1.433 0 0 0 2.058 1.57l1.388-.627a.5.5 0 0 1 .639.205l.447.776a.5.5 0 0 1-.141.655l-1.244.895a1.432 1.432 0 0 0 .345 2.565l1.425.538a.5.5 0 0 1 .306.597l-.231.865a.5.5 0 0 1-.564.364l-1.512-.248a1.433 1.433 0 0 0-1.57 2.058l.002.001zM7.172 11.09a3.199 3.199 0 1 0 1.656-6.182 3.2 3.2 0 0 0-1.656 6.182z"/></svg> в блоке **Интерфейс задания** и добавьте ссылки на библиотеки в поле **JS**.

## Блок CSS {#css}

В блоке **CSS** вы можете объявлять оформление для тегов и классов. Например, отступ снизу после текстового поля с классом `task-text`:

```css
.task-text{
  margin-bottom: 15px;
};
```

Кроме того, вы можете подключать CSS-библиотеки. Для этого нажмите кнопку <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m11.967 12.675.626 1.389a.5.5 0 0 1-.205.638l-.775.448a.5.5 0 0 1-.656-.141l-.895-1.244a1.433 1.433 0 0 0-2.565.345l-.538 1.425a.5.5 0 0 1-.597.306l-.865-.231a.5.5 0 0 1-.364-.564l.248-1.512a1.433 1.433 0 0 0-2.058-1.57l-1.389.627a.5.5 0 0 1-.638-.205l-.448-.776a.5.5 0 0 1 .141-.656l1.244-.894a1.433 1.433 0 0 0-.345-2.565L.463 6.958a.5.5 0 0 1-.306-.597l.232-.865a.5.5 0 0 1 .563-.364l1.512.247a1.433 1.433 0 0 0 1.57-2.058l-.627-1.388a.5.5 0 0 1 .206-.638l.775-.448a.5.5 0 0 1 .656.141l.894 1.244a1.433 1.433 0 0 0 2.565-.345L9.04.46a.5.5 0 0 1 .597-.306l.865.231a.5.5 0 0 1 .364.564l-.247 1.512a1.433 1.433 0 0 0 2.058 1.57l1.388-.627a.5.5 0 0 1 .639.205l.447.776a.5.5 0 0 1-.141.655l-1.244.895a1.432 1.432 0 0 0 .345 2.565l1.425.538a.5.5 0 0 1 .306.597l-.231.865a.5.5 0 0 1-.564.364l-1.512-.248a1.433 1.433 0 0 0-1.57 2.058l.002.001zM7.172 11.09a3.199 3.199 0 1 0 1.656-6.182 3.2 3.2 0 0 0-1.656 6.182z"/></svg> в блоке **Интерфейс задания** и добавьте ссылки на библиотеки в поле **CSS**.

## Возможности предпросмотра {#preview}

{% note warning %}

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

{% endnote %}

Чтобы увидеть получившееся задание, нажмите кнопку **Предпросмотр**. В предварительном просмотре отображается страница с заданием, которое имеет стандартные данные. Измените входные данные и убедитесь, что изображения, ссылки или текст правильно отображаются на [странице заданий](*task_suite). Также вы можете выполнить и получить ответы на одно или несколько заданий.

{% cut "Как изменить количество стандартных заданий" %}

Вы можете изменить количество заданий со стандартными данными на странице Предпросмотра:

1. Нажмите кнопку **Изменить входные данные**.

1. Чтобы добавить задание, нажмите кнопку **Добавить задание**.

    Чтобы удалить задание, нажмите на его номер, затем нажмите <svg xmlns="http://www.w3.org/2000/svg" width="12" height="14" viewBox="0 0 12 14"><path d="M974.6 118v-2h4v-2h4v2h4v2h-12zm1.995 10a.996.996 0 0 1-.995-.998V119h10v8.002c0 .551-.456.998-.995.998h-8.01zm1.005-7h2v5h-2v-5zm4 0h2v5h-2v-5z" style="fill:#666;fill-rule:evenodd;stroke:none;stroke-width:1" transform="translate(-974.6 -114)"/></svg>.

1. Нажмите кнопку **Применить**.

{% endcut %}

{% cut "Как проверить отображение входных данных" %}

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

{% list tabs %}

- Заполнение таблицы

  1. Измените поля с входными данными.

        Чтобы сделать задание [контрольным](*control_task) или [обучающим](*training_task), добавьте правильные ответы и подсказку (кнопка **Добавить правильные ответы**).

        Для перехода к другому заданию, нажмите номер задания внизу таблицы. Чтобы удалить задание, нажмите кнопку <svg xmlns="http://www.w3.org/2000/svg" width="12" height="14" viewBox="0 0 12 14"><path d="M974.6 118v-2h4v-2h4v2h4v2h-12zm1.995 10a.996.996 0 0 1-.995-.998V119h10v8.002c0 .551-.456.998-.995.998h-8.01zm1.005-7h2v5h-2v-5zm4 0h2v5h-2v-5z" style="fill:#666;fill-rule:evenodd;stroke:none;stroke-width:1" transform="translate(-974.6 -114)"/></svg>.

  1. Нажмите кнопку **Применить**.

- Загрузка файла

  1. Скачайте пример загрузочного файла по ссылке **Скачать пример файла**.

  1. [Добавьте данные](https://yandex.ru/support/tasks-requester/ru/guide/pool-csv.md) для заданий в файл.

  1. Сохраните файл в кодировке UTF-8 с расширением [tsv](https://yandex.ru/support/tasks-requester/ru/guide/pool-csv.md).

  1. Нажмите кнопку **Загрузить файл** и выберите файл.

  1. Проверьте корректность заполнения полей в **Таблице**.

      Если заголовки столбцов некорректны, вы получите сообщение «Ошибка при загрузке файла».

      Если не указано значение обязательного поля входных данных или количество полей в заголовке и в строке не совпадает, задание не загрузится. Обновите страницу, чтобы вернуться к просмотру, исправьте ошибки в файле и загрузите его снова.

  1. Нажмите кнопку **Применить**.

- Данные в формате JSON

  1. Выберите вид **JSON**.

  1. Подставьте необходимые для проверки данные [в формате JSON](https://tech.yandex.ru/toloka/doc/concepts/tasks-docpage/).

      Если рамка поля стала красной, JSON не валидный и данные не сохранятся.

  1. Нажмите кнопку **Применить**.

{% endlist %}

Выполните задание и нажмите кнопку **Отправить**.

{% endcut %}

{% cut "Как проверить получение выходных данных" %}

Вы можете проверить получение некоторых данных со страницы задания.

Чтобы проверить получение текстовых комментариев или ответов из флажка (checkbox), заполните соответствующие поля заданий и нажмите кнопку **Отправить**. Затем нажмите **Посмотреть ответы**.

{% note info %}

Проверить получение файлов, изображений, аудио или видео, отправленных со страницы задания, можно в [Песочнице](https://yandex.ru/support/tasks-requester/ru/guide/sandbox.md). Для этого завершите создание проекта, создайте аналогичный проект в Песочнице и выполните его, используя аккаунт доверенного пользователя.

{% endnote %}

{% endcut %}

## Элементы управления в задании {#controls}

Чтобы изменить набор элементов управления, нажмите кнопку **Показать общие элементы интерфейса** внизу блока **Интерфейс задания**.

По умолчанию на странице заданий отображаются:

- **Оставшееся время** (отсчитывает время выполнения задания).

- **Цена за страницу** заданий.

- **Название задания** (название проекта).

- Кнопки **Написать заказчику**, **Инструкция**, **На весь экран**, **Отправить**, **Пропустить**, **Выйти**.

## Что дальше {#what-next}

- [Адаптируйте интерфейс задания для мобильных устройств](https://yandex.ru/support/tasks-requester/ru/guide/mobile.md).

- [Создайте пул заданий в проекте](https://yandex.ru/support/tasks-requester/ru/guide/pool-main.md).

- Узнайте больше про настройку проекта:

    - [Написание инструкции](https://yandex.ru/support/tasks-requester/ru/guide/instructions.md).

    - [Входные и выходные данные](https://yandex.ru/support/tasks-requester/ru/guide/incoming.md).

    - [Настройка контроля качества](https://yandex.ru/support/tasks-requester/ru/guide/project-qa.md).

<!-- source: ru/guide/_includes/contact-support.md -->
<!-- source: ru/_includes/btn-style.md -->

<!-- endsource: ru/_includes/btn-style.md -->

[Написать в службу поддержки](https://yandex.ru/support/tasks-requester/ru/guide/troubleshooting/support.md){.support_btn}
<!-- endsource: ru/guide/_includes/contact-support.md -->

<!-- source: ru/_includes/image-styles-internal.md -->

<!-- endsource: ru/_includes/image-styles-internal.md -->

[*training_task]: <!-- source: ru/guide/_includes/glossary/training-task/term.md -->
Задание, которое содержит правильный ответ и подсказку. Если исполнитель ответит неправильно, он увидит подсказку и не сможет перейти к следующей [странице заданий](https://yandex.ru/support/tasks-requester/ru/glossary.md#task-suite), пока не ответит правильно на все задания. В [контроле качества](https://yandex.ru/support/tasks-requester/ru/glossary.md#quality-control) и при расчете [навыков](https://yandex.ru/support/tasks-requester/ru/glossary.md#skill) учитывается только первый ответ на задание.
<!-- endsource: ru/guide/_includes/glossary/training-task/term.md -->

[Подробнее](https://yandex.ru/support/tasks-requester/ru/glossary.md#training-task)

[*control_task]: <!-- source: ru/guide/_includes/glossary/control-task/term.md -->
Задание, которое содержит правильный ответ. Контрольные задания нужны, чтобы следить за качеством ответов исполнителя.
<!-- endsource: ru/guide/_includes/glossary/control-task/term.md -->

[*task_suite]: <!-- source: ru/guide/_includes/glossary/task-suite/term.md -->
Группа из нескольких заданий, ответы на которые должен отправить исполнитель за один раз.
<!-- endsource: ru/guide/_includes/glossary/task-suite/term.md -->

[Подробнее](https://yandex.ru/support/tasks-requester/ru/glossary.md#task-suite)

[*project]: <!-- source: ru/guide/_includes/glossary/project/term.md -->
Определенная цель для разметки. Например, модерация комментариев, классификация изображений, транскрипция аудиозаписей или еще что-то.
<!-- endsource: ru/guide/_includes/glossary/project/term.md -->

[Подробнее](https://yandex.ru/support/tasks-requester/ru/glossary.md#project)