Back to skills
SkillHub ClubBuild MobileFull StackMobile

android-accessibility

Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
509
Hot score
99
Updated
March 20, 2026
Overall rating
C4.7
Composite score
4.7
Best-practice grade
B84.0

Install command

npx @skill-hub/cli install new-silvermoon-awesome-android-agent-skills-android-accessibility

Repository

new-silvermoon/awesome-android-agent-skills

Skill path: .github/skills/android-accessibility

Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.

Open repository

Best for

Primary workflow: Build Mobile.

Technical facets: Full Stack, Mobile.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: new-silvermoon.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install android-accessibility into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/new-silvermoon/awesome-android-agent-skills before adding android-accessibility to shared team environments
  • Use android-accessibility for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: android-accessibility
description: Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.
---

# Android Accessibility Checklist

## Instructions

Analyze the provided component or screen for the following accessibility aspects.

### 1. Content Descriptions
*   **Check**: Do `Image` and `Icon` composables have a meaningful `contentDescription`?
*   **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 `MinTouchTargetSize` or wrap in `Box` with 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 `stateDescription` to 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?"
android-accessibility | SkillHub