android-accessibility
Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.
Install
npx skills add https://github.com/new-silvermoon/awesome-android-agent-skills --skill android-accessibilitySKILL.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
vercel-react-native-skillsvercel-labs224KReact Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.firebase-crashlyticsfirebase117KComprehensive guide for Firebase Crashlytics, including provisioning and SDK usage. Use this skill when the user needs help setting up Crashlytics, adding crash reporting, or using the Crashlytics SDK in their application.xcode-project-setupfirebase117KSafely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).animate-expoemilkowalski70KBuild animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web a