Flutter Web App: adds a11y semantic attributes to slider (#151985)
added Semantics wrapper over slider to add appropriate a11y semantic attributes to slider Before: https://screenshot.googleplex.com/8jmDh3RSB3oG5Z2 After: https://screenshot.googleplex.com/7Z4FdVgwcC4ZQxm fixes b/340638215
This commit is contained in:
parent
3c0302c33d
commit
7d588feacd
@ -27,6 +27,7 @@ class MainWidget extends StatefulWidget {
|
||||
|
||||
class MainWidgetState extends State<MainWidget> {
|
||||
double currentSliderValue = 20;
|
||||
static const String accessibilityLabel = 'Accessibility Test Slider';
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -36,16 +37,19 @@ class MainWidgetState extends State<MainWidget> {
|
||||
title: const Text('Slider'),
|
||||
),
|
||||
body: Center(
|
||||
child: Slider(
|
||||
value: currentSliderValue,
|
||||
max: 100,
|
||||
divisions: 5,
|
||||
label: currentSliderValue.round().toString(),
|
||||
onChanged: (double value) {
|
||||
setState(() {
|
||||
currentSliderValue = value;
|
||||
});
|
||||
},
|
||||
child: Semantics(
|
||||
label: accessibilityLabel,
|
||||
child: Slider(
|
||||
value: currentSliderValue,
|
||||
max: 100,
|
||||
divisions: 5,
|
||||
label: currentSliderValue.round().toString(),
|
||||
onChanged: (double value) {
|
||||
setState(() {
|
||||
currentSliderValue = value;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
@ -19,4 +19,9 @@ void main() {
|
||||
final MainWidgetState state = tester.state<MainWidgetState>(find.byType(MainWidget));
|
||||
expect(state.currentSliderValue, 60);
|
||||
});
|
||||
testWidgets('slider semantics wrapper exists', (WidgetTester tester) async {
|
||||
await pumpsUseCase(tester, SliderUseCase());
|
||||
final Finder semanticsWidget = find.bySemanticsLabel('Accessibility Test Slider');
|
||||
expect(semanticsWidget, findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user