V13-FE-006: consolidate approved UI and contract hardening
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 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 `filterNavigationEntries` function. 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: `KsAppShell` now 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`.
|
||||
Reference in New Issue
Block a user