Skip to content

Add accessibility improvement plan#15

Open
mass2527 wants to merge 2 commits intomainfrom
claude/plan-a11y-improvements-RVp0P
Open

Add accessibility improvement plan#15
mass2527 wants to merge 2 commits intomainfrom
claude/plan-a11y-improvements-RVp0P

Conversation

@mass2527
Copy link
Owner

Document comprehensive plan for WCAG 2.1 AA compliance including:

  • Phase 1: Keyboard support for split bar resizing
  • Phase 2: Keyboard support for panel drag/drop
  • Phase 3: Screen reader announcements via live regions
  • Phase 4: ARIA props and semantic guidance
  • Phase 5: Focus management utilities
  • Phase 6: Documentation and accessible examples

https://claude.ai/code/session_01ELioHekwWTViQPvEVztwyE

Document comprehensive plan for WCAG 2.1 AA compliance including:
- Phase 1: Keyboard support for split bar resizing
- Phase 2: Keyboard support for panel drag/drop
- Phase 3: Screen reader announcements via live regions
- Phase 4: ARIA props and semantic guidance
- Phase 5: Focus management utilities
- Phase 6: Documentation and accessible examples

https://claude.ai/code/session_01ELioHekwWTViQPvEVztwyE
Phase 1 - Keyboard support for split bar resizing:
- Add resizePanelByDelta() method to LayoutManager for keyboard-based resize
- Add getSplitRatio() and getAdjacentPanelIds() helper methods
- Split bars now focusable with Tab, resizable with Arrow keys
- Shift+Arrow for larger increments, Home/End for min/max

Phase 2 - Keyboard support for panel drag/drop:
- Add keyboard move mode activated by Enter/Space on drag handle
- Arrow keys cycle through available drop targets
- Enter confirms drop, Escape cancels
- Visual feedback during keyboard move mode

Phase 3 - Live region announcements:
- Add announce() function for screen reader messages
- Automatic announcements for all layout operations
- Panel add/remove, resize, and move operations announced
- Drop target navigation announced during keyboard move

Phase 4 - ARIA props helpers:
- Export getPanelA11yProps() for panel regions
- Export getSplitBarA11yProps() with full separator semantics
- aria-valuenow, aria-valuemin, aria-valuemax for split bars
- aria-controls linking split bars to adjacent panels

Phase 5 - Focus management:
- Track focusedPanelId state
- Automatically focus newly added panels
- Move focus to nearest panel when removing
- Focus preserved after keyboard drop operations

Phase 6 - Demo updates:
- Full accessibility implementation in App.tsx
- Screen reader announcement region
- Visible focus indicators on split bars
- Hidden instructions for drag handles
- Keyboard usage hints displayed

New exports: DropTarget, AnnouncementProps, PanelA11yProps, SplitBarA11yProps

https://claude.ai/code/session_01ELioHekwWTViQPvEVztwyE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments