Modals missing role="dialog"/focus trap; some icon buttons missing aria-label #113
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/TeaLeaves#113
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: Low · Confidence: Medium · Effort: S · Category: ui (accessibility)
Evidence
app/src/components/layout/QuickCapture.tsx:246-403,app/src/components/entries/AnnotationModal.tsx:21-58,app/src/components/layout/Shell.tsx:100-135- overlays with Escape-to-close but norole="dialog"/aria-modaland no Tab focus trap.aria-labelon QuickCapture close (:288-295) and ShortcutHelpModal close (Shell.tsx:106-110); AnnotationModal.tsx:35-39 sets one correctly.Problem
Keyboard/screen-reader users can Tab out of an "open" modal to background content, and two icon-only close buttons are unlabeled.
Impact
Accessibility gaps on the main capture sheet and modals. Not blocking, but systemic.
Fix
Add
role="dialog" aria-modal="true", a small focus-trap (orinerton siblings), and the missingaria-labels.Acceptance criteria
Related: F-31, F-33 (an a11y pass).
Filed from the 2026-07-15 codebase audit. Full report:
docs/.internal/report-2026-07-15.md(gitignored).QuickCapture, AnnotationModal, and the shortcut-help modal now have
role=dialog/aria-modal, a Tab focus trap (newuseFocusTraphook, restores focus on close), and the previously-missingaria-labels on icon-only close buttons.Shipped in
59e4fdd(test fix6561f9a), part of the v7.3.0 milestone. Verified on dev (v7.2.1-3-g6561f9a): app suite 65/65 and api suite 268/268 green on the dev server; the one CI red was the known runner flake (iac#159), not this change.