From c5f651bdae1c343acaaec96abc77db8b594404bf Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Wed, 26 Aug 2026 23:59:43 +0300 Subject: [PATCH 1/3] docs: define accessible review interface --- .../search-relevance-review-interface-plan.md | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/product/search-relevance-review-interface-plan.md b/docs/product/search-relevance-review-interface-plan.md index a045398..b754e85 100644 --- a/docs/product/search-relevance-review-interface-plan.md +++ b/docs/product/search-relevance-review-interface-plan.md @@ -54,6 +54,31 @@ Правая панель предпочтительнее popup: она не блокируется браузером, сохраняет контекст выдачи и работает на одном экране с оценкой. +### Доступность оценки и документа + +Оценка реализуется нативной группой `radio` внутри `fieldset` с `legend` +«Оценка результата». У каждого значения есть видимая подпись: «0 — +нерелевантен», «1 — косвенно полезен», «2 — частично полезен», «3 — прямо +отвечает». Нельзя передавать смысл оценки только цветом. Все элементы управления +доступны с клавиатуры, имеют видимый `:focus-visible`; выбранный результат +обозначается текстом и визуальным состоянием. + +На узком экране список результатов занимает всю страницу. Кнопка «Открыть +документ» открывает полноэкранный нативный `` с явной кнопкой +«Закрыть». При закрытии фокус возвращается на исходную карточку результата. + +### Состояния + +- Во время поиска и сохранения показывается состояние загрузки; повторная + отправка на это время недоступна. +- Пустая выдача сообщает: «По запросу „…“ ничего не найдено» и предлагает + «Изменить запрос» или «Очистить фильтры». +- Ошибка поиска сообщает причину и предлагает «Повторить поиск». +- Ошибка сохранения сообщает: «Не удалось сохранить. Проверьте подключение и + повторите». Черновик остаётся в браузере. +- После сохранения выводится: «Оценка сохранена · № … · дата и время» в + стабильном `role="status"`. + До сохранения черновик хранится в `localStorage`. После успешного сохранения интерфейс показывает ID записи и время сохранения. @@ -105,6 +130,9 @@ Python, данные переживают перезапуск и легко в подпись и срок, самостоятельно формирует `results_json` и отклоняет оценки для отсутствующих либо подменённых позиций и документов. - Нельзя передавать персональные данные или закрытые материалы в комментариях. +- Кнопка «Сохранить оценку» остаётся доступной до отправки: отсутствующие + обязательные поля проверяются после нажатия, ошибка показана рядом с полем и + фокус переводится на первое некорректное поле. ## Анализ данных @@ -127,7 +155,8 @@ Python, данные переживают перезапуск и легко в 2. Добавить SQLite-хранилище, валидацию, сохранение и JSON-экспорт. 3. Добавить статическую внутреннюю страницу в существующий Python-сервер, без Next.js и отдельного публичного приложения. -4. Подключить поиск, правую панель документа, черновик и сохранение. +4. Подключить поиск, правую панель документа, черновик, адаптивный режим и + сохранение в закреплённой панели действий на широком экране. 5. Добавить минимальные backend-проверки сохранения, повторного запуска, экспорта и недопустимых оценок. 6. Провести ручный прогон на десяти русскоязычных практических запросах с -- 2.49.1 From a594aec912785e88d256d0595ca1b0127b3c61c7 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Thu, 27 Aug 2026 00:01:34 +0300 Subject: [PATCH 2/3] fix: clarify review interface accessibility --- .../search-relevance-review-interface-plan.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/product/search-relevance-review-interface-plan.md b/docs/product/search-relevance-review-interface-plan.md index b754e85..a45b8b6 100644 --- a/docs/product/search-relevance-review-interface-plan.md +++ b/docs/product/search-relevance-review-interface-plan.md @@ -65,19 +65,23 @@ На узком экране список результатов занимает всю страницу. Кнопка «Открыть документ» открывает полноэкранный нативный `` с явной кнопкой -«Закрыть». При закрытии фокус возвращается на исходную карточку результата. +«Закрыть». При закрытии фокус возвращается на исходную кнопку «Открыть +документ». ### Состояния - Во время поиска и сохранения показывается состояние загрузки; повторная - отправка на это время недоступна. + отправка на это время недоступна. Стабильная пустая область `role="status"` + в DOM объявляет начало поиска, число результатов и успешное сохранение. - Пустая выдача сообщает: «По запросу „…“ ничего не найдено» и предлагает - «Изменить запрос» или «Очистить фильтры». -- Ошибка поиска сообщает причину и предлагает «Повторить поиск». + «Изменить запрос». +- Ошибка поиска сообщает причину и предлагает «Повторить поиск»; текст ошибки + выводится в `role="alert"`. - Ошибка сохранения сообщает: «Не удалось сохранить. Проверьте подключение и - повторите». Черновик остаётся в браузере. + повторите». Черновик остаётся в браузере, текст ошибки выводится в + `role="alert"`. - После сохранения выводится: «Оценка сохранена · № … · дата и время» в - стабильном `role="status"`. + указанной стабильной области `role="status"`. До сохранения черновик хранится в `localStorage`. После успешного сохранения интерфейс показывает ID записи и время сохранения. -- 2.49.1 From 407dd2dc0989f3834e9c826a7b5454bd86240ca3 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Thu, 27 Aug 2026 00:02:29 +0300 Subject: [PATCH 3/3] docs: record accessible review interface --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07e4cd1..03ec6e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Не выпущено +- Уточнены доступные состояния и адаптивное поведение внутреннего интерфейса + оценки поисковой выдачи. - Добавлен план внутреннего интерфейса оценки поисковой выдачи юристами. - Завершён Search API v1: стабильные справочники, валидный OpenAPI, безопасная пагинация и проверка актуальных редакций в локальном OpenSearch. -- 2.49.1