About android-accessibility
An Android accessibility review skill for evaluating Compose screens and components against practical accessibility checks. It is intended for developers refining screen-reader, keyboard, and touch interactions.
Key features
- 01Image and icon descriptions
- 0248x48dp touch-target checks
- 03WCAG AA contrast checks
- 04Focus order and semantics
- 05Heading and state announcements
Use cases
- 01Reviewing image descriptions
- 02Checking button target sizes
- 03Assessing custom toggle announcements
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ new-silvermoon/ awesome-android-agent-skills --skill android-accessibilityAfter installing, type/android-accessibilityin Claude Code to confirm it loaded.
Details
From the project READMEAndroid 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?"
Comments
Markdown supported