shekhar23/claude-zero-to-hero-android-kmp/android-localization-accessibility
Claude Code and agent skill by shekhar23/claude-zero-to-hero-android-kmp
- community
Checking that the SKILL.md file is still in the repository.
Localization and accessibility patterns for Android/Compose - string resources, pluralization, RTL, semantics, screen reader support, focus order, and inclusive UI review. Use this skill whenever adding user-facing copy, localizing screens, improving accessibility, or reviewing whether a Compose UI works well across languages and assistive technologies. Trigger on phrases like "localization", "translations", "RTL", "TalkBack", "semantics", "accessibility", "plural", or "screen reader".
Install
npx vskill@latest install shekhar23/claude-zero-to-hero-android-kmp/android-localization-accessibilitySKILL.md
Android Localization and Accessibility
Core Principles
- User-facing text must be localizable by default.
- Accessibility is a product requirement, not a later polish step.
- UI must remain understandable with screen readers, keyboard/focus navigation, and larger text.
- Layouts should tolerate language expansion and RTL direction.
- Semantics should describe intent, not just visual structure.
String Resources
Do not hardcode user-facing copy in composables or ViewModels when the text should be localized.
Use resources for:
- labels
- button text
- error messages
- content descriptions
- snackbar/toast messages
- empty/loading state copy
Dynamic values that are never resource-backed can remain plain String. See the android-presentation-mvi skill for UiText guidance.
Plurals and Formatting
Use plural resources and formatted strings instead of concatenation:
Avoid:
- string concatenation for localized sentences
- assuming English grammar/order
- embedding untranslated units in dynamic strings
RTL Support
Design for bidirectional layouts:
- avoid hardcoded left/right concepts when start/end is correct
- prefer
start/endpadding and alignment - verify icons and directional affordances in RTL
- ensure custom layouts do not assume left-to-right ordering
A screen that works only in LTR is incomplete.
TalkBack and Screen Readers
Make interactive UI understandable without sight.
Guidelines:
- every actionable element should have clear semantics
- related content may need merged semantics
- decorative content should not create noise
- duplicate or redundant announcements should be reduced
Examples:
- icon-only buttons need meaningful labels
- custom cards may need explicit click/action semantics
- status chips may need state descriptions if color alone conveys meaning
Content Descriptions
Use contentDescription intentionally:
- meaningful non-text image/icon -> localized description
- decorative image/icon ->
null - avoid describing information already adjacent as visible text unless needed for clarity
Over-describing everything creates noisy screen reader output.
Semantics and Roles
Use semantics to express UI meaning:
- button role
- selected/checked state
- headings where they help navigation
- progress/state descriptions
- test tags only when needed for testing, not as a substitute for semantics
Custom components often need explicit semantics because visuals alone are not enough.
Focus and Navigation
Users may navigate by keyboard, switch access, D-pad, or accessibility focus.
Check that:
- focus moves in a logical order
- dialogs and sheets trap or restore focus appropriately
- hidden/inactive content is not focusable
- important actions are reachable without precision gestures
Text Scaling and Layout Resilience
Verify screens with larger font and display sizes.
Look for:
- clipped text
- overlapping controls
- unusable buttons
- fixed-height layouts that break with longer translations
Guidelines:
- avoid rigid heights for text-heavy content
- let content wrap naturally
- prefer responsive layouts over pixel-tight assumptions
Color and Contrast
Do not rely on color alone to convey state.
Examples:
- error state should not be red text only; it may need icon/text/state label
- selected/unselected states should remain understandable without color perception
Contrast should remain strong enough for readability across themes.
Forms and Error Messaging
Accessible forms should provide:
- clear labels
- helpful hints where needed
- explicit error text
- focus behavior that helps users recover
A red border alone is not an accessible validation strategy.
Testing Guidance
Review with:
- screen reader enabled
- larger font size
- RTL locale
- keyboard/focus navigation where applicable
- common translated string expansion scenarios
Test:
- semantics for key actions
- plural/resource usage
- layout resilience under text growth
- announcements and focus behavior for dialogs/snackbars/forms
Checklist: Localization and Accessibility Review
- [ ] Move user-facing strings into resources where appropriate
- [ ] Use plurals and formatted resources instead of concatenation
- [ ] Check layouts in RTL and with larger text
- [ ] Add or refine semantics for interactive/custom UI
- [ ] Use meaningful
contentDescriptiononly when needed - [ ] Ensure focus order, error messaging, and state cues are accessible
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/android-localization-accessibility/SKILL.md
Popularity
- Repository stars
- 9
- Repository forks
- 5
- 7-day trend score
- 12
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/shekhar23/claude-zero-to-hero-android-kmp/android-localization-accessibility)