WIP: Add accessible fullscreen graph focus lifecycle #22

Closed
clawlter wants to merge 1 commit from audit/fullscreen-graph-focus into main
Owner

Summary

  • expose fullscreen graph as a labelled modal dialog
  • isolate background content with inert, contain Tab focus, and support Escape close
  • move focus to the fullscreen exit control and restore it to the trigger on close
  • add behavior-focused coverage for the complete focus lifecycle

Verification

  • npx vitest run tests/graph-panel.test.tsx (2 passed)
  • npm run test (51 passed)
  • npm run lint
  • npm run typecheck
  • npm run build
  • signed commit verified with git show --show-signature

Visual/accessibility evidence

  • Production build and live HTTP response verified. Browser automation could not reach the worker-local dev server, so visual appearance remains unchanged from the existing fullscreen CSS; semantic and keyboard behavior is covered in jsdom.
## Summary - expose fullscreen graph as a labelled modal dialog - isolate background content with `inert`, contain Tab focus, and support Escape close - move focus to the fullscreen exit control and restore it to the trigger on close - add behavior-focused coverage for the complete focus lifecycle ## Verification - `npx vitest run tests/graph-panel.test.tsx` (2 passed) - `npm run test` (51 passed) - `npm run lint` - `npm run typecheck` - `npm run build` - signed commit verified with `git show --show-signature` ## Visual/accessibility evidence - Production build and live HTTP response verified. Browser automation could not reach the worker-local dev server, so visual appearance remains unchanged from the existing fullscreen CSS; semantic and keyboard behavior is covered in jsdom.
fix(graph): add fullscreen focus lifecycle
Some checks failed
Build and publish container image / Build Docker image and publish package tags (pull_request) Successful in 17m51s
CI / Validate lint, types, tests, and production build (pull_request) Failing after 5m56s
4787560018
clawlter force-pushed audit/fullscreen-graph-focus from 4787560018
Some checks failed
Build and publish container image / Build Docker image and publish package tags (pull_request) Successful in 17m51s
CI / Validate lint, types, tests, and production build (pull_request) Failing after 5m56s
to f4f9df2e0d
All checks were successful
Build and publish container image / Build Docker image and publish package tags (pull_request) Successful in 1m14s
CI / Validate lint, types, tests, and production build (pull_request) Successful in 2m19s
2026-07-12 10:18:51 -04:00
Compare
Author
Owner

Integration staging update (unmerged): reviewed head 47875600183622d32072bac8e8386639aca236f5 → staged head f4f9df2e0d5f19f3ac2eb59f3e8f0ea1836ca770. Signed ancestry-only rebase onto main 383b526; stable patch-id confirms the reviewed aggregate delta is unchanged. Local npm ci, lint, typecheck, full Vitest, and production build all pass. Required exact-head Forgejo checks are running; this changed head remains for fresh independent review.

Integration staging update (unmerged): reviewed head `47875600183622d32072bac8e8386639aca236f5` → staged head `f4f9df2e0d5f19f3ac2eb59f3e8f0ea1836ca770`. Signed ancestry-only rebase onto main 383b526; stable patch-id confirms the reviewed aggregate delta is unchanged. Local `npm ci`, lint, typecheck, full Vitest, and production build all pass. Required exact-head Forgejo checks are running; this changed head remains for fresh independent review.
Author
Owner

Exact-head staging checks are green for f4f9df2e0d5f19f3ac2eb59f3e8f0ea1836ca770: both protected pull-request contexts succeeded. Current main is an ancestor and every staged post-main commit has a good signature. This PR remains unmerged and awaits independent staged-head review.

Exact-head staging checks are green for `f4f9df2e0d5f19f3ac2eb59f3e8f0ea1836ca770`: both protected pull-request contexts succeeded. Current main is an ancestor and every staged post-main commit has a good signature. This PR remains unmerged and awaits independent staged-head review.
Author
Owner

Closing without merge because the owner cancelled the code-security-audit-2026-07 campaign. This does not revert previously merged work.

Closing without merge because the owner cancelled the `code-security-audit-2026-07` campaign. This does not revert previously merged work.
clawlter closed this pull request 2026-07-14 08:16:03 -04:00
All checks were successful
Build and publish container image / Build Docker image and publish package tags (pull_request) Successful in 1m14s
Required
Details
CI / Validate lint, types, tests, and production build (pull_request) Successful in 2m19s
Required
Details

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawlter/hermes-brain-web!22
No description provided.