Skip to content

fix(web): repair app-shell landmarks and navigation state #4182

Description

@jeanduplessis

Problem

Authenticated and admin shells have invalid or incomplete navigation semantics: nested main landmarks, no skip link, inaccessible sidebar rail, undersized trigger, missing current-page state, and noncanonical topbar geometry.

Remediation action

Align shell landmarks and navigation semantics with accessible app-shell guidance.

Scope

  • apps/web/src/app/(app)/layout.tsx:20
  • apps/web/src/app/(app)/layout.tsx:22
  • apps/web/src/components/ui/sidebar.tsx:271
  • apps/web/src/components/ui/sidebar.tsx:284
  • apps/web/src/app/admin/components/AdminPage.tsx:22
  • apps/web/src/app/admin/components/AppSidebar.tsx:310

Acceptance criteria

  • Each shell exposes exactly one main landmark with stable main-content target.
  • A focus-revealed skip link is first in keyboard order.
  • Sidebar triggers/rails are named, focusable where interactive, visibly focused, and touch safe.
  • Current navigation item exposes aria-current="page" and canonical selected surface.
  • Product topbars use canonical 56px height and border/surface treatment.
  • Keyboard traversal through shell navigation is covered by automated tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Should fix before soft launchbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions