> android-accessibility
Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.
curl "https://skillshub.wtf/new-silvermoon/awesome-android-agent-skills/android-accessibility?format=md"Android Accessibility Checklist
Instructions
Analyze the provided component or screen for the following accessibility aspects.
1. Content Descriptions
- Check: Do
ImageandIconcomposables have a meaningfulcontentDescription? - Decorative: If an image is purely decorative, use
contentDescription = null. - Actionable: If an element is clickable, the description should describe the action (e.g., "Play music"), not the icon (e.g., "Triangle").
2. Touch Target Size
- Standard: Minimum 48x48dp for all interactive elements.
- Fix: Use
MinTouchTargetSizeor wrap inBoxwith appropriate padding if the visual icon is smaller.
3. Color Contrast
- Standard: WCAG AA requires 4.5:1 for normal text and 3.0:1 for large text/icons.
- Tool: Verify colors against backgrounds using contrast logic.
4. Focus & Semantics
- Focus Order: Ensure keyboard/screen-reader focus moves logically (e.g., Top-Start to Bottom-End).
- Grouping: Use
Modifier.semantics(mergeDescendants = true)for complex items (like a row with text and icon) so they are announced as a single item. - State descriptions: Use
stateDescriptionto describe custom states (e.g., "Selected", "Checked") if standard semantics aren't enough.
5. Headings
- Traversal: Mark title texts with
Modifier.semantics { heading() }to allow screen reader users to jump between sections.
Example Prompts for Agent Usage
- "Analyze the content description of this Image. Is it appropriate?"
- "Check if the touch target size of this button is at least 48dp."
- "Does this custom toggle button report its 'Checked' state to TalkBack?"
> related_skills --same-repo
> xml-to-compose-migration
Convert Android XML layouts to Jetpack Compose. Use when asked to migrate Views to Compose, convert XML to Composables, or modernize UI from View system to Compose.
> rxjava-to-coroutines-migration
Guide and execute the migration of asynchronous code from RxJava to Kotlin Coroutines and Flow. Use this skill when a user asks to convert RxJava (Observables, Singles, Completables, Subjects) to Coroutines (suspend functions, Flows, StateFlows).
> kotlin-concurrency-expert
Kotlin Coroutines review and remediation for Android. Use when asked to review concurrency usage, fix coroutine-related bugs, improve thread safety, or resolve lifecycle issues in Kotlin/Android code.
> gradle-build-performance
Debug and optimize Android/Gradle build performance. Use when builds are slow, investigating CI/CD performance, analyzing build scans, or identifying compilation bottlenecks.