Accessibility support in the Android mobile experience is always enabled. There is no separate accessibility mode.
This guide describes what is available for TalkBack and screen-reader users across browsing, search, account flows, schedules, TV-provider linking, and video playback.
1. Global page accessibility
Headings
- A screen-level heading is available for assistive technology where implemented (for example page titles and hero titles such as Presidents Cup - Day 1 or WWE Friday Night SmackDown).
- Tray and section titles can use clear heading semantics (for example Featured Networks, Live & Upcoming, Featured Sports, Watch For Free).
Visible focus and selection
- Interactive controls show a clear selected state (for example the Home or Live tab highlight, or a white outline on a focused program card).
- Bottom tab bar items expose selected vs unselected state to TalkBack via Compose selected semantics and Role.Tab.

Figure 1. Home hero with TalkBack focus on the featured event (Presidents Cup), linked provider branding, Event Details CTA, Featured Networks, and selected Home tab.

Figure 2. TalkBack focus on the Event Details CTA.
Accessible names and roles
- Icon-only and text-light controls have accessible names (for example Search, Profile, Link Provider, Play, Close, Settings).
- Custom controls use appropriate roles such as Button, Tab, Switch, heading, and dialog semantics where implemented.
- Decorative loaders and redundant visuals are removed from the accessibility tree so they are not announced as meaningful images.
2. Images (content descriptions)
- Informative images use descriptive
contentDescriptionvalues (logos, content titles, provider names, channel logos). - Decorative or redundant images use
contentDescription = nullorclearAndSetSemantics {}when a parent control already has a full accessible name, so TalkBack is not given duplicate announcements.

Figure 3. Shows & Movies / Networks — TalkBack focus on a network tile (for example CNBC); content posters expose titles to accessibility services.
3. TalkBack / Compose semantics (catalog)
Naming and description
| Android / Compose semantics | Use |
|---|---|
contentDescription |
Accessible names on icon buttons, tiles, logos, providers, search, and actions |
| Visible text | Primary accessible text for standard Text and labeled controls |
stateDescription |
Toggle / expand-collapse state when needed (for example video description Expanded / Collapsed) |
paneTitle |
Identifies a new window-like surface when applicable |
State and relationship
| Pattern | Use |
|---|---|
selected |
Tab bar destinations and search category filters |
| Expanded / Collapsed | Date dropdowns, season selectors, and Episodes panel |
| On / Off (via Mute / Unmute labels) | Volume and caption-related controls |
| Selected / Not Selected | Caption / audio / quality options and search filters |
liveRegion (polite) |
Live updates (search result counts, TVE provider search counts) |
Hidden / clearAndSetSemantics |
Decorative visuals when a parent label already conveys meaning |
| Role.Button / Role.Tab / Role.Switch / dialog | Interactive chrome, tabs, parental control, settings modal |
Patterns commonly used
| Pattern | Use |
|---|---|
| Button | Tiles, CTAs, player controls, account rows, provider tiles |
| Heading | Titles and section headings (heading() / accessibilityHeading) |
| Tab | Bottom navigation destinations with selected state |
| SeekBar + RangeInfo | Playback slider and volume slider (TalkBack volume keys remap to seek / volume) |
| Static / merged text | Metadata rows that should be read as one focusable item |
4. TalkBack gestures and focus
Gestures
| Gesture | Behavior |
|---|---|
| Swipe right / left | Move through controls in the accessibility traversal order |
| Double-tap | Activate buttons, tiles, menus, and similar controls |
| Explore by touch | Move focus by dragging a finger across the screen |
| Volume up / down (on seek / volume) | Change playback position (±10 seconds) or volume when those SeekBars are focused |
Focus management
- Player chrome remains visible while TalkBack is running (
hideAfterTimeOut(0)) so controls stay reachable. - Settings modal is announced as a dialog; outside chrome is hidden from the accessibility tree while open, and focus is held on the dialog.
- Search and TVE provider flows announce live result counts when TalkBack is running.
Areas with TalkBack support
Header and logo, Link Provider, search, navigation and profile actions, trays and carousels, schedule tiles, program guide date selector and program tiles, TV-provider selection, settings and account actions, watchlist / like / share, and player controls / captions / episodes.

Figure 4. Content trays with TalkBack focus on the Featured Networks heading; Live & Upcoming and Featured Sports below; Home tab selected.
5. Accessibility by area
Header and navigation
- Logo (
{APP_NAME} Logo), Link Provider, and profile / account controls are labeled and TalkBack-operable. - Bottom tab bar items (Home, Browse, USA Sports, Live, Search, and other CMS-driven tabs) include accessible names and expose selected state.
- When a TV provider is linked, provider branding (for example optimum.tv) can appear in the header in place of Link Provider.

Figure 5. Bottom navigation — TalkBack focus on the Home tab (selected state).

Figure 6. Bottom navigation — TalkBack focus on the Browse tab.

Figure 7. Bottom navigation — TalkBack focus on the USA Sports tab.

Figure 8. Bottom navigation — TalkBack focus on the Live tab.

Figure 9. Bottom navigation — TalkBack focus on the Search tab.

Figure 10. Linked provider branding (optimum.tv) in the header with TalkBack focus.

Figure 11. Account menu with TalkBack focus on Account Settings; linked provider branding in the header.
Search
- Back, search field, clear (Clear search), and search icon (Search View) actions are labeled.
- Category filters expose selected / unselected state (for example Selected, Top Results, Button / Not Selected, …, Button. Double tap to activate.).
- Result rows are TalkBack-activable and group into a focusable item whose accessible name is the result title.
- Result counts are announced live (for example Search results for '{query}': N item(s) found).

Figure 12. Search for “anna” — Top Results filter selected, result row focused (Anna Pigeon), clear control, and linked provider branding.
Home, trays, and carousels
- Carousels and trays support TalkBack labeling (including headings where implemented).
- Tray items and primary CTAs (for example Watch Now, Event Details) have accessible names.
- Watchlist, like, and share actions are TalkBack-operable where offered.
- Live / upcoming badges, air times, and related metadata are included in tile speech where implemented.

Figure 13. Home hero — TalkBack focus on WWE Friday Night SmackDown block with rating, description, and Play All CTA.
Schedule and live listings
- Schedule tiles expose program title, time, and live/upcoming status where implemented.
- Decorative tile visuals can be hidden from the accessibility tree to avoid duplicate speech.
- Tiles and related actions are TalkBack-operable.

Figure 14. Live & Upcoming — TalkBack focus on the section heading.

Figure 15. Live & Upcoming — TalkBack focus on a schedule tile (title, time, and status available to TalkBack).
Featured sports
- Featured Sports items expose a meaningful accessible name and available action.

Figure 16. Featured Sports — TalkBack focus on the section heading.

Figure 17. Featured Sports — TalkBack focus on a tray item (for example NASCAR).
Browse, USA Sports, Live, and loading states
- These destinations are available from the bottom navigation.
- Loading / skeleton placeholders are not announced as meaningful content.
- Once content is loaded, items expose accessible titles and actions.
- Important dynamic status elsewhere (for example search and TVE provider result counts) uses polite live-region announcements.

Figure 18. Browse — loading / skeleton placeholders stay out of the accessibility tree; TalkBack focus on the Browse tab.

Figure 19. USA Sports — loading / skeleton placeholders stay out of the accessibility tree; TalkBack focus on the USA Sports tab.

Figure 20. Live — loading / skeleton placeholders stay out of the accessibility tree; TalkBack focus on the Live tab.
Program guide (EPG)
- Date dropdown is labeled (for example Selected Date: Today, Collapsed Dropdown).
- Channel logos use the channel title as
contentDescription. - Program tiles are TalkBack-activable (Play,
Role.Button); a visible selection outline keeps assistive and sighted focus aligned on the current program. - Progress overlays are hidden from TalkBack when redundant.
- Timeline labels use heading semantics where implemented.
- Live tab remains selected while the On Now / schedule guide is open.

Figure 21. Live / On Now program guide with date list focus (for example Sat 09/26), program cards, progress, and Live tab selected.
Video and show detail
- Back control and provider branding in the header are labeled where shown.
- Player / hero region and on-page metadata (title as heading, series/sport, description, rating, categories) are labeled for assistive technology.
- Description expand / collapse exposes Video Description Expanded / Video Description Collapsed state where implemented.
- Primary CTAs (for example Resume / Play) are labeled buttons.
- Season selector is labeled (for example Current selected: Season 1, Collapsed Dropdown).
- Watchlist (Add to watchlist) and Like / Liked actions are TalkBack-operable where offered.
- Episode tiles are focusable buttons; rich episode titles on every tile continue to be improved across detail templates.

Figure 22. Show detail — back, linked provider branding, TalkBack focus on title (heading), See More, Resume CTA, Season selector, and episode tray.
Account, forms, checkout, and settings
- Account menu rows (for example Account Settings, Contact Us, App Settings, privacy links, Logout) are labeled buttons and TalkBack-operable.
- Form fields and actions (including save, confirm, and related CTAs) have accessible names where implemented.
- Password visibility toggles use Show password / Hide password.
- Parental control exposes Parental Control enabled/disabled with
Role.Switch. - Device rows can announce delete actions such as Delete {deviceType}, {address}.
- Connected TV-provider branding uses the provider title as the accessible name.
TV provider login
- Screen title Choose TV Provider (featured list) or Link Provider (full list) is marked as a heading.
- Back control is labeled Back.
- full list is an actionable control within the instructional text (
Role.Button). - Search field uses placeholder Search; search icon is labeled Search View.
- Provider tiles are buttons whose accessible name is the provider name.
- Search announces how many providers were found (Search results for '{query}': N item(s) found).

Figure 23. Choose TV Provider — back, title, instructional copy with full list, search, and provider grid tiles labeled by provider name.
Modals and overlays
- Settings and related overlays keep a sensible TalkBack reading order where implemented.
- The player Settings panel is announced as Settings, dialog; dismiss / close is labeled Close.
- Bottom-sheet / alert overlays use heading semantics where implemented; TalkBack can disable dismiss-by-scrim so users do not lose context accidentally.
- Dismiss / back controls are labeled.
6. Video player accessibility
Captions and subtitles
- Closed captions / subtitles can be loaded, labeled, turned on or off, and selected from captions or settings panels.
- The captions control is labeled Closed Captions and is announced as a Button (not a switch) for a clearer element type.
- Caption / audio / quality options announce selection in context (for example Selected, {name}, Radio Button / Not Selected, {name}, Radio Button).
Controls and live status
Accessible player controls include:
| Control (as shown) | Spoken / accessible behavior |
|---|---|
| Player surface | Video Player, Double Tap to activate player Controls |
| Close (X) | Close |
| Title / metadata | Labeled text; treated as an accessibility heading (for example show title and air date) |
| Picture-in-Picture | Picture In Picture |
| Fullscreen | Fullscreen (becomes Close when exiting landscape / fullscreen) |
| Rewind 10 / Forward 10 | Rewind 10 Seconds / Forward 10 Seconds |
| Pause / Play | Pause / Play |
| Playback slider | Player Seekbar; runtime Seek bar {position} of {duration}; after seek announces Position {time} |
| Time display | Spoken as elapsed of total (visible time text) |
| Volume: On | Mute Button / Unmute Button; volume slider Volume {progress} of {max} with Increase / Decrease volume actions |
| Lock Screen | Lock Screen / Unlock Screen; announced as Button |
| CC / OFF | Closed Captions; announced as Button |
| Settings | Settings Button; panel announced as Settings, dialog |
| Episodes | Episode, Collapsed. Double tap to expand / Episode, Expanded. Double tap to collapse |
| Slow mo (where offered) | Slow motion disabled / Slow motion enabled |
| LIVE | Visible Live badge is focusable for assistive technology |
| Cast / provider logo | Chromecast uses the system MediaRoute control; linked provider logo can expose the provider title |
Live playback can show LIVE status. Seek controls expose progress values for assistive technology. While TalkBack is running, player controls do not auto-hide.

Figure 24. Player controls — Close, title, Rewind 10 / Pause / Forward 10, slider and time, Volume, Lock Screen, Closed Captions, Settings, and Episodes.

Figure 25. TalkBack focus on the Episodes control (expanded / collapsed announcement).

Figure 26. Player Settings dialog — Settings heading with Close, Closed Captions / Video Quality / Audio Language categories, and caption options announced as Selected / Not Selected radio buttons.
TalkBack interaction notes
- Play / Pause label tracks playback state.
- Volume announces the action a double-tap performs (Mute Button / Unmute Button).
- Rewind / Forward announce Rewind 10 Seconds / Forward 10 Seconds.
- When the seek bar is focused, hardware volume keys seek by 10 seconds instead of changing speech volume.
- Closed Captions and Lock Screen keep stable button roles for WCAG-style name / role / value clarity.
- Episodes announces collapsed / expanded state and the next double-tap action.
- During ads under TalkBack, non-ad chrome groups can be force-hidden while ad mute / play controls remain reachable.
7. Content interaction notes
Touch targets
Interactive elements should provide sufficiently large touch areas for reliable interaction. Android guidance recommends a minimum 48dp × 48dp touch target for interactive elements.

Figure 27. Interactive controls (for example Event Details) sized for reliable TalkBack and touch interaction.
8. Accessibility testing
TalkBack
Primary flows to verify with TalkBack:
- Home navigation and bottom tabs (selected state)
- Hero content, Event Details, trays, and Watch Now
- Search (filters, clear, result counts)
- Browse / USA Sports / Live
- Program guide date dropdown and program tiles
- Choose TV Provider / Link Provider (search, full list, provider tiles)
- Video / series detail (metadata, season selector, CTAs)
- Video player (all chrome controls, captions, settings dialog, Episodes, seek / volume)
- Account / settings (parental control, forms, connected provider)

Figure 28. TalkBack exercised on primary Home / navigation flows.
Layout Inspector
Android Studio Layout Inspector can inspect Compose semantics for individual UI elements — content descriptions, roles, click actions, state, heading semantics, and accessibility focus.

Figure 29. Layout Inspector — Compose component tree and attributes with semantics filter; live preview highlighting the Presidents Cup title text.

Figure 30. Layout Inspector — Compose component tree with BottomBar Icon selected; attributes show semantics, and the live preview highlights the Home tab icon.
9. Coverage summary
| Area | Labels / semantics | TalkBack | Images | Focus / selection | Captions |
|---|---|---|---|---|---|
| Headings & global model | Yes | Yes | — | Yes | — |
| Header / nav / search | Yes | Yes | Logo / result labels | Tab / filter selected | — |
| Trays / carousels | Yes | Yes | Mixed | Yes | — |
| Schedule | Tile labels | Yes | Often hidden by design | Yes | — |
| Program guide | Dropdown + Play action | Yes | Channel labels | Card selection | — |
| Detail pages | Metadata + actions | Yes | Mixed | Yes | Page + player |
| Account / checkout | Field & CTA labels | Yes | Where needed | Yes | — |
| TV provider / modals | Names + search | Live counts | Provider names | Yes | — |
| Video player | Control & time labels | Gestures + keep-visible UI | Episode / thumb | Custom order / dialog | Yes |
10. Summary of accessibility themes
- Accessible names — labels on icon and custom controls
- Image text alternatives — descriptive labels for informative images; tree exclusion for decorative / redundant images
- TalkBack support — swipe, double-tap, explore-by-touch, and SeekBar key remapping
- Focus clarity — selected tabs, program-card outlines, player reading order, and keep-visible player chrome
- State disclosure — expanded, selected, mute/unmute, and related accessibility values
- Rich screen-reader copy — especially search / TVE live counts and player control labels
- Player media accessibility — captions, labeled controls, spoken time / seek position, live status, Episodes panel, and accessible settings
11. Out of scope for this document
- Web / browser and Apple platforms (see companion ADA guides)
- Formal legal certification or WCAG / Play Store Accessibility claims
- Accessibility behavior of third-party SDKs or OS components outside the application's control (for example system Chromecast MediaRoute announcements)
12. Closing note
Accessibility support combines screen-level improvements (navigation, labeling, TalkBack access, and selection state) with video player support (captions, control labels, spoken time, keep-visible chrome, and in-player panels). Together, these make core browse, search, account, schedule, TV-provider, and playback journeys usable with TalkBack and Android assistive technologies.