Part 4: When the Screen Changes Silently: Live Regions, Headings and Focus in ComposeBuild for Everyone · Part 4 of 5 Previously: Parts 1 to 3 made static screens accessible and kept them that way with tests. This part is about everything that happens after the screen first appears. 7h ago · 15 min readandroid-expert.hashnode.dev
Part 3: Green Builds, Blind Spots: Testing Compose Accessibility Layer by LayerBuild for Everyone · Part 3 of 5 Previously: Part 1 (“Raising the Floor”) set the baseline rules, and Part 2 (“From Five Stars to One Sentence”) built a custom rating control with real semantics. This7h ago · 12 min readandroid-expert.hashnode.dev
Part 2: From Five Stars to One Sentence: Semantics for Custom Compose ControlsBuild for Everyone · Part 2 of 5 Previously: Part 1 (“Raising the Floor”) covered the five baseline rules every screen must pass. Those rules assume standard components. This part is about the ones yo7h ago · 15 min readandroid-expert.hashnode.dev
Part 1: Raising the Floor: Five Accessibility Rules Every Compose Screen Must PassBuild for Everyone · Part 1 of 5 TL;DR Accessibility doesn’t start with exotic APIs. It starts with five properties every screen must have: meaningful labels, 48dp touch targets, readable contrast, m7h ago · 13 min readandroid-expert.hashnode.dev
Keep the Expensive Stuff Alive: A Field Guide to retain in Jetpack ComposeEvery Compose codebase eventually grows the same awkward corner: a composable that needs one heavyweight object, a search session, a player wrapper, a debounced event pipeline, and that object has to 8h ago · 9 min readandroid-expert.hashnode.dev