3.0 KiB
3.0 KiB
V13-FE-006 — navigation contract hardening
Scope
- WBS: V13-FE-006
- Requirement/API/UI/Test: REQ-FE-NAV / Cross / UI-NAV-01 / T-FE-NAV-01
- Source: current
KsSideNavigation,navigationCatalog, router meta, and existing AppShell tests. - Change: nested detail routes now activate their parent navigation item and expose
aria-current="page". - Not changed: route catalog, permissions, capability flags, menu labels, or navigation persistence.
Evidence
- Navigation contract test: 1 file / 2 tests passed.
- Full frontend regression: 62 files / 162 tests passed.
pnpm typecheck: passed.pnpm build: passed; known Vite >500 kB chunk warning remains.- Visual/AT/browser evidence remains outstanding.
- Evidence:
evidence/V13-FE-006/navigation-contract_20260813.log. - Menu search hardening: results now expose stable option IDs and the input tracks the active option through
aria-activedescendant/aria-controls; empty results remove the active descendant. - Menu search contract test: 1 file / 2 tests passed.
- Evidence:
evidence/V13-FE-006/menu-search-contract_20260813.log. - Permission metadata hardening: navigation entries now preserve route permission metadata and expose a pure fail-closed
filterNavigationEntriesfunction. AppShell wiring remains deferred until a reactive approved auth source exists. - Catalog contract evidence: 3 files / 7 tests passed; typecheck and build passed.
- Evidence:
evidence/V13-FE-006/navigation-permission-contract_20260813.log. - Module section hardening: side navigation sections can collapse/expand with
aria-expanded; route and permission behavior remain unchanged. - Targeted navigation test: 1 file / 3 tests passed; typecheck and build passed.
- Evidence:
evidence/V13-FE-006/navigation-section-collapse_20260813.log. - Breadcrumb hardening:
KsAppShellnow exposes홈 → 현재 화면through an accessible현재 위치navigation landmark using route metadata. - Breadcrumb contract test: 1 file / 2 tests passed; typecheck and build passed.
- Evidence:
evidence/V13-FE-006/breadcrumb-contract_20260813.log. - Browser contract evidence: Playwright snapshot confirmed shell landmarks, breadcrumb, and list-only top-level navigation. Parameterized detail routes are excluded from the catalog.
- Evidence:
evidence/V13-FE-006/navigation-browser-contract_20260813.log. - Mobile navigation hardening: added a responsive drawer toggle, backdrop close, Escape close, and explicit open/close labels without changing desktop route or permission behavior.
- Evidence:
evidence/V13-FE-006/mobile-navigation-contract_20260813.log. - Mobile browser evidence: at 390x844, menu open, drawer/backdrop close, and Escape close were reproduced with Playwright.
- Evidence:
evidence/V13-FE-006/mobile-browser-contract_20260813.log. - Focus hardening: mobile drawer now focuses its close control on open, traps Tab/Shift+Tab within drawer controls, and returns focus to the header menu button on close/Escape/backdrop.
- Evidence:
evidence/V13-FE-006/mobile-focus-contract_20260813.log.