madskristensen / madskristensen/CodeShot
Make annotation editing keyboard and screen-reader accessible
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 15
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Problem
Annotation creation and editing currently depend primarily on pointer input. Users who rely on the keyboard cannot fully select, move, resize, or delete annotations, and screen-reader users receive little information about the active tool or selected annotation.
Proposed solution
Make the annotation workflow keyboard accessible and expose meaningful automation information for CodeShot controls.
Suggested keyboard behavior:
- Cycle through annotations with Tab and Shift+Tab while the preview has focus.
- Move the selected annotation with the arrow keys.
- Resize it with Shift+arrow keys.
- Delete it with Delete.
- Cancel an in-progress operation with Escape.
- Provide keyboard commands for switching annotation tools.
Add visible focus treatment and accessible names, help text, roles, values, and status announcements where appropriate. Keyboard operations should participate in the existing undo and redo history.
Acceptance criteria
- Every annotation tool can be activated without a mouse.
- Existing annotations can be selected, moved, resized, and deleted using only the keyboard.
- Keyboard edits are constrained to the capture surface and participate in undo and redo.
- Focus location and selected annotation are visually apparent in all supported Visual Studio themes.
- Toolbar, zoom, preview, and annotation controls expose meaningful UI Automation names and states.
- Tool changes, selection changes, and completed edits are available to assistive technology without repeatedly stealing focus.
- Existing pointer interactions continue to work unchanged.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the annotation workflow, preview, toolbar, zoom, and undo/redo handling described in the issue. Trace existing pointer interactions and focus behavior before mapping keyboard commands and UI Automation metadata. Done means all listed keyboard, focus, announcement, theme, undo/redo, and unchanged-pointer criteria are satisfied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- accessibility, desktop, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100