diff --git a/packages/material_ui/lib/src/slider.dart b/packages/material_ui/lib/src/slider.dart index ed793af33979..1e20b2851d7d 100644 --- a/packages/material_ui/lib/src/slider.dart +++ b/packages/material_ui/lib/src/slider.dart @@ -1994,6 +1994,9 @@ class _RenderSlider extends RenderBox with RelayoutWhenSystemFontsChangeMixin { config.label = label!; } config.isSlider = true; + config.role = SemanticsRole.slider; + config.minValue = _state.widget.min.toString(); + config.maxValue = _state.widget.max.toString(); config.isFocusable = isInteractive; config.isFocused = hasFocus; diff --git a/packages/material_ui/pending_changelogs/slider_semantics_role.yaml b/packages/material_ui/pending_changelogs/slider_semantics_role.yaml new file mode 100644 index 000000000000..293fb0b16b5a --- /dev/null +++ b/packages/material_ui/pending_changelogs/slider_semantics_role.yaml @@ -0,0 +1,3 @@ +changelog: | + - Adds `SemanticsRole.slider` and min/max value bounds to `Slider` semantics. +version: patch diff --git a/packages/material_ui/test/slider_test.dart b/packages/material_ui/test/slider_test.dart index ebbe1843f071..e9dcf8c822bc 100644 --- a/packages/material_ui/test/slider_test.dart +++ b/packages/material_ui/test/slider_test.dart @@ -1358,6 +1358,9 @@ void main() { increasedValue: '55%', decreasedValue: '45%', textDirection: TextDirection.ltr, + role: SemanticsRole.slider, + minValue: '0.0', + maxValue: '1.0', ), ], ), @@ -1543,6 +1546,9 @@ void main() { increasedValue: '60%', decreasedValue: '40%', textDirection: TextDirection.ltr, + role: SemanticsRole.slider, + minValue: '0.0', + maxValue: '200.0', ), ], ),