Files
jobtrackingapp/docs/ui-modernisation/NAVIGATION_VALIDATION.md
T

4.9 KiB
Raw Blame History

A3-IM02 navigation validation and review

Status: implemented and tested; owner Gate F navigation review remains OPEN before dashboard/onboarding A3-IM03. Foundation Gate F is already accepted, not reopened. See UI-02.md for preserved owners and exact next scope.

Fresh scoped evidence

Check Result / scope
Baseline 15 tests / 3 suites PASSED before navigation edits; BASELINE.json
New primary-navigation tests Five expected failures before implementation; desktop preservation case already passed
Current-route regression Reproduced drawer staying open; fixed in shared handler; red/green case retained
Final selected Jest run 49 tests / 9 suites PASSED; FINAL_TESTS.json. Intermediate32/17 and reviewer11 overlap this total, not extra cases
Typecheck / lint / production build PASSED; built static export used API base /api for controlled loopback checks
Real React screen matrix 32 conditions: login + Companies × 320/390/768/1440 × EN/NB × light/dark
Dialog and navigation accessibility 56 scoped axe sweeps, zero returned violations: 32 complete screen surfaces, 16 company dialogs, 8 mobile More drawers
Connected browser checks 16 configurations: primary route selection and heading focus, secondary navigation, collapse persistence or More/Escape/current-route selection, reviewed synthetic company edit/save and phone notification clearance
Primary routes All four primary shell destinations visited in each configuration (64 transitions). API-unavailable content states are permitted; this verifies navigation/focus, not successful domain/backend journeys
Write safety 16 explicit company PUTs intercepted and fulfilled by local browser fixtures; zero requests reached a backend. Unexpected write methods/paths rejected; no unexpected writes or page exceptions observed
Captures 56 PNGs: 32 screens + 8 More drawers + 8 collapsed desktop/tablet + 8 phone notification states
Preservation census All 57 inherited groups retained; all 34 inherited route declarations present. Source membership is not complete functional or authorisation acceptance
Independent source review No important/critical findings. Conservative extra safe-area clearance noted; native notched-device review still pending

The browser lane is the actual built React application, with controlled service responses, not the design prototype. It rejects every external request; 40 existing Google Fonts attempts were aborted. Provider/model/production services were never contacted. Only Companies has a successful synthetic mutation fixture; other core destination content may display honest unavailable-service states. No model was started. Main document/page renderer sources are unchanged.

During verification, a mistyped translation test path produced a failed harness run (two real suites/eight cases passed); corrected to the existing catalogue/provider files, then final nine-suite run passed. A broad alert selector also matched Next's route announcer; narrowed to the actual Snackbar feedback. These are resolved harness defects, not hidden passing tests. Layout review reproduced broken English labels at320px: content-based flex widths with minimum44px targets fixed them while retaining11px labels and long-text wrapping. The final browser assertions require Dashboard and Applications to fit one line in English.

No original concepts were regenerated. No route, advanced workflow, permission, document revision, schema, dependency, controller or production configuration was removed. Route declarations are unchanged; navigation grouping is changed deliberately. Existing admin visibility flags, router/legacy redirects, quick search, notification count semantics, desktop storage and ownership disposal remain in their existing owners.

Review examples

Run the installed harness from job-tracker-ui against the current static export on loopback port4338: rtk proxy node scripts/verify-a3-theme.mjs --navigation. This mode writes only evidence/navigation; historical foundation artifacts stay unchanged. SOURCE_MANIFEST.json binds final source, native reports, captures and exported assets. Historical foundation source hashes remain bound to bdd1de0d, not falsely reused as new navigation results.

NOT RUN: real database/backend workflows, hosted CI, real identity/mail/job providers, AI models, physical PDF/container requalification, native screen reader/touch/software keyboard, actual browser zoom, native-language review, final integrated security or release-readiness acceptance. Those gates remain separate. Full A3 UI/UX implementation is not complete.