accessibility-android

Implements Android accessibility conventions for Jetpack Compose UI components.

Updated May 9, 2026
One-click install
npx skills add https://github.com/Bumh3rr/solvyx-app --skill accessibility-android-bumh3rr
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: accessibility-android
Source: https://github.com/Bumh3rr/solvyx-app/tree/main/.opencode/skill/accessibility-android
Command: npx skills add https://github.com/Bumh3rr/solvyx-app --skill accessibility-android-bumh3rr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Android apps often fail accessibility audits because developers forget content descriptions, undersized touch targets, poor contrast ratios, or layouts that break with large font scaling. This Skill provides concrete Compose patterns and rules so every Composable meets TalkBack and WCAG AA requirements. ## Core Features & Use Cases - Semantics & contentDescription rules: Defines when images need descriptions, when they are decorative, and how to use Modifier.semantics, stateDescription, headings, and roles. - Touch targets, contrast, and font scaling: Enforces 48dp minimum touch targets, WCAG AA contrast pairs, sp-based text sizing, and layouts that survive 200% font scaling. - Testing guidance: Includes Compose UI Test snippets for verifying content descriptions and minimum touch target sizes, plus manual TalkBack testing steps. - Use Case: While building a new screen with Jetpack Compose, apply this Skill to ensure every icon button announces correctly in TalkBack, all text scales to 200%, and contrast ratios pass WCAG AA before release. ## Quick Start Apply the Android accessibility conventions to review or create a Jetpack Compose screen so it passes TalkBack and WCAG AA checks.

Frequently Asked Questions about accessibility-android

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add contentDescription to images in Jetpack Compose?▼

Pass a meaningful string to the contentDescription parameter of Image or Icon for meaningful visuals, and set contentDescription = null explicitly for decorative images. Never omit the parameter entirely, since TalkBack depends on it to announce the element.

What is the minimum touch target size for Android accessibility?▼

Interactive elements must be at least 48dp x 48dp. IconButton applies minimumInteractiveComponentSize by default, but small custom clickable elements need an explicit Modifier.size(48.dp) or a clickable modifier with an onClickLabel.

How do I support font scaling up to 200% in Compose?▼

Use sp units instead of dp for text, avoid fixed-height containers around text, and set maxLines with TextOverflow.Ellipsis where truncation is acceptable. Verify layouts with a @Preview(fontScale = 2f) or the emulator's largest font setting.

How do I test accessibility with Compose UI Test?▼

Use composeTestRule.onAllNodes with matchers like hasContentDescription and hasMinimumTouchTargetSize(48.dp) to assert accessibility properties across the screen. Complement automated tests with manual TalkBack exploration on an emulator.

Why does TalkBack not announce my button action clearly?▼

Generic clickable elements lack context, so TalkBack only announces 'double-tap to activate'. Add an onClickLabel to the clickable modifier or a contentDescription to the icon so users hear what the action actually does.