Repository navigation
Keep pending approvals visible and keyboard accessible - #78
ZedingZhang wants to merge 2 commits into
Conversation
ZedingZhang
left a comment
There was a problem hiding this comment.
Reviewed the full approval accessibility diff and exercised a real local-write request with native keyboard input. The region naming, pending-state label, Escape behavior, and disabled response target are covered in both locales. One focus-restoration defect remains below. Actual VoiceOver speech is still unverified because the local reader interface is unavailable; this limitation is recorded in the PR.
ZedingZhang
left a comment
There was a problem hiding this comment.
Re-reviewed the complete current diff at 73c122a after the P2 focus finding was fixed. The renderer now excludes the document body and verifies that a candidate actually takes focus before using it; otherwise it returns to Activity. The added Electron regression failed before the fix and passes afterward in English and Chinese. Valid prior focus restoration and preserving focus outside the panel remain covered.
npm run check passed all 661 tests, typechecking, and build. npm run smoke:gui passed, including actual accessibility-tree region naming, focused button descriptions, live status, Escape, response/expiry transitions, and both restoration paths. No further code findings. Actual VoiceOver spoken output remains a manual validation gap as recorded in the PR; native keyboard interaction was exercised with VoiceOver enabled and the original disabled state was restored afterward.
73c122a to
4082657
Compare
ZedingZhang
left a comment
There was a problem hiding this comment.
Re-reviewed 4082657 after rebasing onto main 0c63d29, which includes the merged Keychain UTF-8 limit fix (#79). All three GUI files retain identical Git blob hashes, so the approval behavior and the native keyboard verification remain applicable. No conflicts or further code findings. The previous P2 focus thread is resolved.
Re-ran the complete check on this integrated baseline: 665 tests, typechecking, production build, and the actual Electron smoke suite all pass. Actual VoiceOver/NVDA spoken output remains pending the human check required by #64; the isolated native fixture remains open for that check.
A pending local action now opens a labelled approval region, announces the pending count in English and Chinese, and moves keyboard focus to Deny. Escape closes Task options while keeping the approval visible. The Activity toggle exposes the pending state in its accessible name; resolving or expiring an approval restores usable focus without taking it away from someone who has navigated elsewhere.
Closes #64.
Validation:
npm run check: 665 tests, typecheck, and production build passed.npm run smoke:gui: passed, including both locales, the real Electron accessibility tree, Escape, disabled response controls, expiration, and focus restoration.