PolicyEngine / PolicyEngine/policyengine-app-v2

Website header leaves hidden mobile menu items in keyboard tab order

Open Beginner friendly
#951 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
1
Forks
3
Avg merge
1d 50m
Merged PRs (30d)
39

Description

Summary

Keyboard focus can move into the closed mobile navigation on desktop website pages, which exposes off-screen controls to keyboard and assistive-tech users.

Reproduction

  1. Run the website locally with WEBSITE_PORT=3000 CALCULATOR_PORT=3001 bun run dev from the repo root.
  2. Open http://localhost:3000/us/research on a desktop-width viewport.
  3. Press Tab repeatedly from the page start.
  4. After the visible header items, focus moves to the hidden mobile menu's Close menu button and hidden mobile nav links.

Expected

When the mobile drawer is closed, its controls should not be reachable by keyboard or screen readers.

Actual

The drawer stays mounted and focusable while visually off-screen.

Notes

The menu appears to stay mounted and only changes pointerEvents / transform when open is false.

Relevant code:

  • website/src/components/Header.tsx

Impact

  • keyboard users can tab into invisible UI
  • focus appears to disappear
  • duplicate navigation structures may be exposed to assistive tech

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with website/src/components/Header.tsx and reproduce the issue using WEBSITE_PORT=3000 CALCULATOR_PORT=3001 bun run dev, then open /us/research at desktop width and tab from the page start. Update the closed mobile drawer behavior so its controls and links are not reachable by keyboard or assistive technology, and verify the hidden menu is absent from the tab order while closed.

Written by the indexing model from the issue text.

Assessment

Tech stack
bun, typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.