fix(ui): улучшить контраст и доступность прокрутки

This commit is contained in:
Denozordec committed 2026-10-10 02:50:53 +07:00
1 parent 94bdb2a8a1
commit 89bde27f19
22 files changed
+501 -22

No files matched your search

+21 -1
View File
@@ -1,6 +1,6 @@
# UX/UI: протокол внешней приёмки 12.5
Актуальное продолжение 2026-10-10: завершены12.5.93–100, включая99 main1207/1208 с одним выявленным OSPF geometry failure, исправленным в101 delta5/5; context221/221 и backend171 node cases passed.101 frontend accessibility/geometry исправлен и развернут, live20/20; завершить его профильную запись/commit. Runtime backend ux-response100/frontend ux-a11y101. Матрица docs/ux-ui-remaining-acceptance.md; этап12.5 открыт.
Актуальное продолжение 2026-10-10: завершены12.5.93–101. Backend ux-response100/frontend ux-a11y101; main1207/1208 исходно, единственный OSPF geometry failure исправлен/delta5/5; context221/221, backend171 node cases, accessibility24 local/20 live passed в точных границах. Старые evidence восстановлены, credentials не менялись. Следующий12.5.102 — malformed nonempty PATCH confirmation не должен приниматься как{}, затем финальный контроль ограничений. Матрица docs/ux-ui-remaining-acceptance.md; этап12.5 открыт.
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
@@ -951,3 +951,23 @@ Context221/221/0flaky/0skipped,7,6min на frontend101 working source/local swit
**Live.** [Native/API/PG](ux-ui/acceptance/speed-response-body-2026-10-10.json), [browser](ux-ui/acceptance/browser-speed-response-body-2026-10-10.json). Relay сначала получил actual RouterOS done testing, затем передал headers/первые16 bytes настоящего JSON и оборвал body. Теперь API502/понятный неизвестный результат вместо pending, история/прежний synthetic snapshot42/17/15/0 согласованы. Один capped10Mbit/s TCP3s test, native1/noauto retry, PC/3202/2/new message/reload/document fits/pageerror0. Свои disabled probe/history удалены, original IDs совпали, credentials/configuration RouterOS не менялись. Это controlled HTTP socket loss после headers, не independent WAN failure/cancelled native command.
**Runtime.** Backend ux-response100/version1.0.0-test.response100/image797979da82d6…; одна сборка изspeed98 +client/test/package-script files, source archive SHA в отчёте. Entry/node --check/pg_restore18.6/compose --wait passed, приватный .env backup; обновлён только BACKEND_IMAGE_TAG, frontend ux-ospf91/dependencies/migrations прежние. Label response100 — имя блока, не Git SHA. Backend/PG healthy,3 compose containers. Одна локальная фиксация без push; main UI99 всё ещё выполняется на неизменённом frontend source, его итог не заявлен. Квота37% использовано. Следующий101 — подтверждённые нарушения контраста/keyboard code после main99, затем context/финальная сводка.
## 12.5.101 — доступность общей оболочки, текста и OSPF-колонки (2026-10-10)
| Поверхность / референс | До | Доработка |
| --- | --- | --- |
| Sidebar / [App Shell12](https://reui.io/preview/base/app-shell-12?ref=mcp) | Light muted token на тёмной rail:3,55:1 | Subtitle AppSwitcher/NavUser использует sidebar foreground/70, popup style сохранён |
| Информация / [Settings16](https://reui.io/preview/base/settings-16?ref=mcp) | Alerts empty text opacity40; enabled badge3,62:1; containers/uptime hints<4,5 | Семантические foreground tokens без лишней прозрачности; локальный override badge, общий theme/vendor не менялись |
| Справка CLI / Settings16 | Horizontal pre нельзя достичь клавиатурой |3 named regions/tabIndex0/visible focus; Tab/Shift+Tab/ArrowRight проверены |
| Filters | HR light badge3,28:1; initial API error4,4:1 | Existing status-online/offline foreground для этих конкретных элементов |
| OSPF / [Data Grid Filtering2](https://reui.io/preview/base/data-grid-filtering-2?ref=mcp) | Last area/backbone за pinned180px CIDR на320px | Last-column alignment вправо иtitle полной области; цельный CIDR/пиннинг/сортировка сохранены |
Схема: общий context → читаемый status/empty text → таблица с pinned CIDR и доступной последней областью → named code region с keyboard scroll. Структура Frame/base-nova/ReUI Data Grid/Badge сохранена; не установлены новые компоненты, не изменены vendor internals/shared theme. ReUI adapting/quality и MCP Data Grid audit checklist проверены, props/types взяты из установленного API.
[Протокол](ux-ui/acceptance/operational-a11y-2026-10-10.json).24 unique accessibility cases:5 sections +Filters503×dark/light×1280/320; violations0/document fit/no writes. Первые4 alerts failures были неверным fixture endpoint(/api/alerts/overview вместо/api/alerts),2 light Filters выявили реальный contrast initial error. Исправлены fixture/локальный error foreground; повторены только alerts/filters12 cases, остальные12 accepted cases не повторялись. Geometry5/5: исправленный failed main OSPF scenario +4 CIDR sizes. Context221/221 из99 работает на101 source, без регрессии source/permissions/checkpoints.
Scoped TypeScript/новые components+test lint passed; старый NavUser set-state-in-effect error подтверждён наHEAD, whole-file clean не заявлен. Одна remote frontend Docker production build/full TypeScript/entry/node --check/compose passed, backend/lockfile/миграции прежние. Frontend ux-a11y101/version1.0.0-test.a11y101/image52b50784b914…; clean context ospf91 +9 source overrides, archive SHA в отчёте, label неGitSHA. Приватный .env backup, изменён толькоMMAPP_IMAGE_TAG.
[Live20/20](ux-ui/acceptance/live-a11y-2026-10-10.json) настоящего frontend/backend безHTTP mocks:5 routes×2 themes×2 widths, axe0/pageerror0/overflow0/API writes0. Сертификатные3 blocks во всех4 combinations доступны Shift+Tab/Tab иArrowRight. [Светлая CLI/фокус320](ux-ui/screens/certificates-a11y-light-320-2026-10-10.png), [тёмные Filters320](ux-ui/screens/filters-a11y-dark-320-2026-10-10.png) просмотрены; остальные dark certificate/light filters snapshots сохранены. Code screenshot показывает горизонтально прокрученный focused block, его содержимое не обрезано в данных.
Это scoped accessibility delta, не полная WCAG/все состояния/повтор всегоmain. Два CHR/credentials/configuration не менялись, только3 compose containers/backend/PG healthy. Следующий102 — клиент PATCH сейчас принимает nonempty malformed JSON как{}, что может выглядеть ACK; проверить/исправить его без изменения правила empty successful response, затем ограниченная профильная фиксация. Один локальный коммит без push; этап12.5 остаётся открытым.