Repository navigation
fix(a11y): add primary navigation landmark - #1144
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@greptile review |
|
@greptileai review |
…`frontend/e2e/rtl-setup-auth-settings.spec.ts` to `page.locator('[data-slot="tabs"] nav')` so it does not collide in Playwright strict mode with the new primary sidebar `<nav aria-label={tCommon('menu')}>` landmark introduced by this PR
[Low impact] The PR appears safe to merge; no actionable issues were found.
|
….ts` with `oxfmt` (`npx oxfmt --write -- e2e/layout-integrity.spec.ts e2e/rtl-setup-auth-settings.spec.ts src/components/layout/Sidebar.tsx` from `frontend/`) so the changed-file formatting gate in `Lint & Build Validation (Linux)` and its downstream `Required Checks Gate` succeed. Verified with `npx oxfmt --check -- e2e/layout-integrity.spec.ts e2e/rtl-setup-auth-settings.spec.ts src/components/layout/Sidebar.tsx` and `git diff --check`
|
@greptileai review |
|
@greptileai review |
Intent
PR 9 - Fix the active navigation landmark (Fixes #1097)
Branch:
codex/sidebar-nav-landmarkTitle:
fix(a11y): add primary navigation landmarkRequirements:
Acceptance: the authenticated app has one primary-navigation landmark containing its navigation links. Verify desktop/mobile, RTL, keyboard access and collapse.
What Changed
SidebarMenulink list inAppSidebar(frontend/src/components/layout/Sidebar.tsx) with a<nav aria-label={tCommon('menu')}>landmark while keeping header, theme, and profile controls outside the navigation element.frontend/e2e/layout-integrity.spec.tscovering the primary navigation landmark across desktop, collapsed icon-rail, RTL (fa), keyboard focus/tab traversal, and mobile drawer states.Risk Assessment
✅ Low: The change cleanly wraps the primary sidebar link menu in a localized
landmark while keeping header, footer, theme toggle, profile menu, and rail controls outside it, with comprehensive E2E coverage across desktop, collapsed, keyboard, RTL, and mobile states.Testing
Built the backend and desktop static frontend, stood up an isolated FloCafe E2E server instance on task-local ports, ran the Playwright sidebar suite in frontend/e2e/layout-integrity.spec.ts (including the new #1097 primary navigation landmark test and existing sidebar geometry and theme-toggle tests), and captured four visual screenshot artifacts covering desktop expanded with profile menu open, collapsed icon rail, RTL Persian localization, and mobile drawer states; all checks passed.
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
npm run build && npm run build:frontendCI=1 E2E_BASE_URL=http://127.0.0.1:43101 E2E_KDS_BASE_URL=http://127.0.0.1:43102 E2E_SERVER_APP_BASE_URL=http://127.0.0.1:43103 npx --prefix frontend playwright test --config=frontend/playwright.config.ts --project=chromium frontend/e2e/layout-integrity.spec.ts -g "1097"CI=1 E2E_BASE_URL=http://127.0.0.1:43101 E2E_KDS_BASE_URL=http://127.0.0.1:43102 E2E_SERVER_APP_BASE_URL=http://127.0.0.1:43103 npx --prefix frontend playwright test --config=frontend/playwright.config.ts --project=chromium frontend/e2e/layout-integrity.spec.ts -g "sidebar"Live Playwright screenshot capture across desktop expanded, collapsed icon-rail, RTL Persian (fa), and mobile drawer (390x844) against isolated tests/e2e-server.cjs✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.