Skip to content

feat: Support adjusting sliders on Android - #805

Closed
DataTriny wants to merge 1 commit into
android-range-typefrom
android-slider-actions
Closed

DataTriny wants to merge 1 commit into
android-range-typefrom
android-slider-actions

Conversation

@DataTriny

@DataTriny DataTriny commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

No description provided.

Sliders were exposed as `android.widget.SeekBar` with range info, but
nothing allowed an assistive technology to change their value.

TalkBack's "adjust slider" reading control only ever performs
`ACTION_SCROLL_FORWARD` and `ACTION_SCROLL_BACKWARD` (see
`NumberAdjustor` in its source), which the framework's own `SeekBar`
also uses, so expose them for nodes supporting `Increment` and
`Decrement` and map them to those actions rather than to scrolling.
Also expose `ACTION_SET_PROGRESS` for nodes that support `SetValue`
on a numeric range, and map it to `SetValue` with a numeric value.

A native `SeekBar` isn't clickable, so on double-tap TalkBack falls back
to synthesizing a tap at the center of the control, which is how users
jump to the middle of the range. Don't add the focus-only `ACTION_CLICK`
to such controls so the first double-tap behaves the same way.

Finally, skip the accessibility-enabled JNI check when raising an empty
set of events, as happens for actions that are handled but produce
their events through a later tree update.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant