← Back to the offer

Owned demonstration · not client work

Mobile-navigation repair evidence

This controlled fixture intentionally contains a defect. It does not represent past client work.
Open before fixtureOpen repaired fixture

Reproduction

  1. Use a mobile viewport; 390 × 844 is the reference size.
  2. Open the before fixture and activate Menu.
  3. The drawer appears, but aria-expanded remains false and the drawer retains aria-hidden="true".
  4. Press Escape: the drawer stays open, and focus was never moved into it.

Acceptance evidence

Reviewable patch

The repair is isolated in nav.js. Compare the before fixture’s single visual-class toggle with the after fixture’s mountMobileNav call. The surrounding content and presentation stay materially the same.

Rollback

For this demonstration, remove the nav.js import and restore the inline handler from the before fixture. For client delivery, revert the single repair commit, then rerun the original reproduction steps. No database or content migration is involved.

Automated verification

The repository test suite covers synchronized state, focus transfer, Escape, outside input, breakpoint cleanup, offer scope, and preservation of the intentional defect.