duct-tape2/ai-language-partner

mobile: add accessibility labels to voice preview controls

Open

#14 opened on Jul 8, 2026

View on GitHub
 (3 comments) (0 reactions) (1 assignee)TypeScript (2 forks)auto 404
accessibilityclaimedgood first issuemobile

Repository metrics

Stars
 (2 stars)
PR merge metrics
 (PR metrics pending)

Description

Goal

Make each Voice Gallery sample card announce a useful, localized action and voice identity to screen-reader users.

Scope

  • Edit apps/mobile/src/screens/VoiceGalleryScreen.tsx.
  • Add an explicit accessibilityLabel to the Pressable that plays an individual voice sample.
  • Build the label from existing localized STRINGS.voiceGallery.play / playing text plus the voice's characterName and styleName.
  • Reflect the current active state in the announced text; an appropriate accessibilityState may be added if it matches React Native semantics.
  • Keep playback behavior, layout, filters, API calls, and translation dictionaries unchanged.
  • Do not combine this with the broader accessibility-regression work tracked in #48.

Acceptance Criteria

  • An idle voice card announces the play action and identifies the character/style.
  • The currently playing card announces its playing state and the same voice identity.
  • Labels are derived from existing localized strings rather than new hardcoded Korean or Japanese copy.
  • Existing Voice Gallery behavior and TypeScript checks remain passing.
  • The PR body includes Closes #14 and names the checks run.

Suggested Verification

cd apps/mobile
npm run verify
cd ../..
python3 scripts/check_public_tree.py

Codespaces can run the checks without changing your local environment: https://duct-tape2.github.io/ai-language-partner/community/CODESPACES_FIRST_PR.html

Contributor guide