# tCast Accessibility Notes

tCast is designed as a Windows-native accessibility-first app.

## Requirements

- All visible controls must be keyboard reachable.
- Controls must expose native Windows UI Automation names, roles, and states.
- Menus must remain usable even when commands do not yet have shortcuts.
- Alt key combinations are not the primary control method.
- Player shortcuts are scoped to the player region where possible.
- Focus must remain visible through WPF and Windows high contrast themes.
- Status changes are exposed through the application status bar.
- Dialogs move focus to their first useful field and return normally when closed.
- Search commands live under the Search menu, while File keeps file and settings actions.
- Tab and Shift+Tab move between main regions and do not step through list items.
- Shift+F10 and the Application key open actions for the focused list item.
- Screen reader announcement categories can be enabled or disabled in Settings.
- Time announcements can use natural, short, clock, or seconds-only formats.
- Loop current episode, automatic update install, and streamed playback resume are keyboard-accessible settings.
- Linked YouTube and video transcript syncing can be started from the Search menu.
- Media playback failures must be announced instead of crashing the app.

## First Manual Verification Pass

- NVDA: navigate menus, podcast library, episode list, show notes, queue, and playback controls.
- JAWS: verify menu commands and list item names.
- Narrator: verify status messages and dialog labels.
- Keyboard only: import an RSS feed, select an episode, play, seek, download, and copy a recommendation.
- High contrast: verify controls, borders, focus, and text remain visible.
- Screen magnifier: verify the main regions and player controls are not visual-only.

## Known MVP Gaps

- Full transcript availability depends on public caption access from the linked video source.
- Spotify catalog search remains limited by public API access and does not embed private keys.
