top of page
droidcon+icon.png

16-17 JULY 2026

ORLANDO

DroidCon_icon_rotatet.png
Anita_Singh_edited.jpg

( SPEAKER )

Thera Barnett

Software Engineer at Reddit

( SESSION )

Deep Dive into Compose Semantics

Understanding semantics in Jetpack Compose is the backbone of accessibility on Android. This talk explains how the semantics tree is generated from your composables, how TalkBack actually uses it, and how to adjust it so your UI works correctly with assistive technologies. Compose fundamentally changed how we build components, and accessibility changed with it. Semantics can feel opaque—especially when you set a property and TalkBack still doesn’t behave as expected. We’ll walk through real examples of labels, grouping, dynamic content, and focus so you can confidently debug and fix accessibility issues in production apps, as well as some mistakes we’ve made. Understand core semantics APIs—contentDescription, role, and mergeDescendants—and how TalkBack combines them into spoken output, covering the most common issues with unlabeled or incorrectly labeled clickable elements. Learn when not to use mergeDescendants, when clearAndSetSemantics is appropriate, and how customActions help keep complex components (like post/feed items) accessible without overwhelming users. Apply semantics effectively to dynamic and changing UIs: handling live updates, expanded/collapsed states, enabled/disabled content, and troubleshooting focus order.
bottom of page