Your semantics tree is your test API and your accessibility API at once
A testTag is invisible to a screen reader. A contentDescription is not.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
A testTag is invisible to a screen reader. A contentDescription is not.
Compose's focus system handles keyboard, D-pad and accessibility navigation. The APIs are small, but modifier order matters, and a form with no focus handling is unusable on any device without a touchscreen.
NestedScrollConnection gives parents four chances to consume scroll deltas around a child. Choosing the wrong one is why collapsing headers collapse late, and why same-axis nesting misbehaves.
Not-yet-loaded, absent, and explicitly-cleared share one representation, and the UI has to guess.
Profiling found the hot function. The hot function was called a thousand times for one reason.
Multi-touch gestures produce pan, zoom and rotation simultaneously. The centroid — the point between the fingers — is what makes the transform feel anchored, and ignoring it is the most common photo-viewer bug.
Proving the process is running keeps a broken instance in the load balancer.
An unbounded buffer converts a throughput problem into an out-of-memory crash.
Hand-rolled swipe gestures compare a distance threshold and ignore velocity, which is why a fast flick feels wrong. AnchoredDraggableState models discrete positions and settles between them using both distance and speed.
An insert on page 1 shifts every later offset. A keyset cursor is data, not a position.
At-least-once is the contract every provider offers. Your handler is where exactly-once gets built.
Quantisation, mmap and the low-memory killer decide whether your 3B model ships.