android-a11y-scrollable-a11y

Fix TalkBack scrolling and focus behavior in Android scrollable containers.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/benoberkfell/claude-plugins --skill android-a11y-scrollable-a11y
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-a11y-scrollable-a11y
Source: https://github.com/benoberkfell/claude-plugins/tree/main/plugins/android-a11y/skills/android-a11y-scrollable-a11y
Command: npx skills add https://github.com/benoberkfell/claude-plugins --skill android-a11y-scrollable-a11y

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Accessibility issues in scrollable Android UI can hinder TalkBack navigation, trapping focus or failing to expose scroll actions in containers like RecyclerView, LazyColumn/LazyRow, HorizontalPager, and carousels.

Core Features & Use Cases

  • Addresses focus trapping in carousels and nested horizontal/vertical scrolls to ensure smooth navigation.
  • Ensures scroll actions are exposed to TalkBack and that items are focusable and discoverable.
  • Includes patterns for focus restoration, stable item keys, and proper semantics to improve accessibility across Jetpack Compose and ViewPager2 implementations.

Quick Start

Audit your Android app’s scrollable components to ensure TalkBack can scroll, focus moves predictably, and items are navigable.

Frequently Asked Questions about android-a11y-scrollable-a11y

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

FAQPage Schema
Why does TalkBack focus get trapped in my Android LazyColumn?

TalkBack focus gets trapped in scrollable Android containers when descendantFocusability and isTraversalGroup are misconfigured. You must correct focus management properties to ensure focus moves predictably outside nested horizontal and vertical scroll boundaries.

How do I expose scroll actions to TalkBack in a RecyclerView?

To expose scroll actions to TalkBack in a RecyclerView, ensure proper importantForAccessibility values and semantics are set on the container. This allows TalkBack to announce scroll actions so users can navigate items discoverably.

Does this approach work with Jetpack Compose HorizontalPager and ViewPager2?

Yes, these accessibility patterns support both Jetpack Compose HorizontalPager and ViewPager2. They provide per-page focus restoration and stable item keys to maintain predictable TalkBack navigation across different scrollable implementations.

What's the best way to restore TalkBack focus after scrolling a carousel?

The best way to restore TalkBack focus after scrolling a carousel is implementing stable item keys and per-page focus restoration patterns. This ensures the correct item regains focus when users navigate back to a previously visible scroll position.

When should I use isTraversalGroup for Android accessibility?

You should use isTraversalGroup for Android accessibility when managing nested horizontal and vertical scrolls. It prevents focus trapping in carousels by grouping focus traversal logic, ensuring smooth TalkBack navigation across complex scrollable UI components.