Fix ExpansionTile hint for Android (#120881)

Fix `ExpansionTile` double tap to collapse/expanded and expanded/collapsed states semantics announcements
This commit is contained in:
Taha Tesser 2023-02-27 20:40:17 +02:00 committed by GitHub
parent edba606974
commit fd65fd1b16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
84 changed files with 1488 additions and 81 deletions

View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
import 'color_scheme.dart';
@ -11,6 +12,7 @@ import 'icons.dart';
import 'list_tile.dart';
import 'list_tile_theme.dart';
import 'material.dart';
import 'material_localizations.dart';
import 'theme.dart';
const Duration _kExpand = Duration(milliseconds: 200);
@ -358,6 +360,9 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
}
void _handleTap() {
final TextDirection textDirection = Directionality.of(context);
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
final String stateHint = _isExpanded ? localizations.expandedHint : localizations.collapsedHint;
setState(() {
_isExpanded = !_isExpanded;
if (_isExpanded) {
@ -375,6 +380,7 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
PageStorage.maybeOf(context)?.writeState(context, _isExpanded);
});
widget.onExpansionChanged?.call(_isExpanded);
SemanticsService.announce(stateHint, textDirection);
}
// Platform or null affinity defaults to trailing.
@ -493,6 +499,10 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
final ExpansionTileThemeData expansionTileTheme = ExpansionTileTheme.of(context);
final bool closed = !_isExpanded && _controller.isDismissed;
final bool shouldRemoveChildren = closed && !widget.maintainState;
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
final String onTapHint = _isExpanded
? localizations.expansionTileExpandedTapHint
: localizations.expansionTileCollapsedTapHint;
final Widget result = Offstage(
offstage: closed,
@ -508,10 +518,13 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
),
);
return AnimatedBuilder(
animation: _controller.view,
builder: _buildChildren,
child: shouldRemoveChildren ? null : result,
return Semantics(
onTapHint: onTapHint,
child: AnimatedBuilder(
animation: _controller.view,
builder: _buildChildren,
child: shouldRemoveChildren ? null : result,
),
);
}
}

View file

@ -452,6 +452,18 @@ abstract class MaterialLocalizations {
/// The semantics hint to describe the tap action on a collapsed [ExpandIcon].
String get collapsedIconTapHint => 'Expand';
/// The semantics hint to describe the tap action on an expanded [ExpansionTile].
String get expansionTileExpandedTapHint => 'Collapse';
/// The semantics hint to describe the tap action on a collapsed [ExpansionTile].
String get expansionTileCollapsedTapHint => 'Expand for more details';
/// The semantics hint to describe the [ExpansionTile] expanded state.
String get expandedHint => 'Collapsed';
/// The semantics hint to describe the [ExpansionTile] collapsed state.
String get collapsedHint => 'Expanded';
/// The label for the [TextField]'s character counter.
String remainingTextFieldCharacterCount(int remaining);
@ -1176,6 +1188,18 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
@override
String get collapsedIconTapHint => 'Expand';
@override
String get expansionTileExpandedTapHint => 'Collapse';
@override
String get expansionTileCollapsedTapHint => 'Expand for more details';
@override
String get expandedHint => 'Collapsed';
@override
String get collapsedHint => 'Expanded';
@override
String get refreshIndicatorSemanticLabel => 'Refresh';

View file

@ -696,6 +696,106 @@ void main() {
expect(listTile.trailing, isNull);
});
testWidgets('ExpansionTile Semantics', (WidgetTester tester) async {
tester.binding.focusManager.highlightStrategy = FocusHighlightStrategy.alwaysTraditional;
final SemanticsHandle handle = tester.ensureSemantics();
const DefaultMaterialLocalizations localizations = DefaultMaterialLocalizations();
await tester.pumpWidget(const MaterialApp(
home: Material(
child: Column(
children: <Widget>[
ExpansionTile(
title: Text('Title'),
),
ExpansionTile(
initiallyExpanded: true,
title: Text('Title'),
),
],
),
),
));
// Focus the first ExpansionTile.
tester.binding.focusManager.primaryFocus?.nextFocus();
await tester.pumpAndSettle();
// The first ExpansionTile should be collapsed and focused.
expect(
tester.getSemantics(find.byType(ExpansionTile).first),
matchesSemantics(
hasTapAction: true,
hasEnabledState: true,
isEnabled: true,
isFocused: true,
isFocusable: true,
label: 'Title',
textDirection: TextDirection.ltr,
// The hint should be the opposite of the current state.
// The first ExpansionTile is collapsed, so the hint should be
// "double tap to expand".
onTapHint: localizations.expansionTileCollapsedTapHint,
),
);
// The second ExpansionTile should be expanded and not focused.
expect(
tester.getSemantics(find.byType(ExpansionTile).last),
matchesSemantics(
hasTapAction: true,
hasEnabledState: true,
isEnabled: true,
isFocusable: true,
label: 'Title',
textDirection: TextDirection.ltr,
// The hint should be the opposite of the current state.
// The second ExpansionTile is expanded, so the hint should be
// "double tap to collapse".
onTapHint: localizations.expansionTileExpandedTapHint,
),
);
handle.dispose();
});
testWidgets('ExpansionTile Semantics announcement', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
const DefaultMaterialLocalizations localizations = DefaultMaterialLocalizations();
await tester.pumpWidget(
const MaterialApp(
home: Material(
child: ExpansionTile(
title: Text('Title'),
children: <Widget>[
SizedBox(height: 100, width: 100),
],
),
),
),
);
// There is no semantics announcement without tap action.
expect(tester.takeAnnouncements(), isEmpty);
// Tap the title to expand ExpansionTile.
await tester.tap(find.text('Title'));
await tester.pumpAndSettle();
// The announcement should be the opposite of the current state.
// The ExpansionTile is expanded, so the announcement should be
// "Expanded".
expect(tester.takeAnnouncements().first.message, localizations.collapsedHint);
// Tap the title to collapse ExpansionTile.
await tester.tap(find.text('Title'));
await tester.pumpAndSettle();
// The announcement should be the opposite of the current state.
// The ExpansionTile is collapsed, so the announcement should be
// "Collapsed".
expect(tester.takeAnnouncements().first.message, localizations.expandedHint);
handle.dispose();
});
group('Material 2', () {
// Tests that are only relevant for Material 2. Once ThemeData.useMaterial3
// is turned on by default, these tests can be removed.

View file

@ -75,6 +75,10 @@ void main() {
expect(localizations.reorderItemDown, isNotNull);
expect(localizations.reorderItemLeft, isNotNull);
expect(localizations.reorderItemRight, isNotNull);
expect(localizations.expandedIconTapHint, isNotNull);
expect(localizations.collapsedIconTapHint, isNotNull);
expect(localizations.expandedHint, isNotNull);
expect(localizations.collapsedHint, isNotNull);
expect(localizations.keyboardKeyAlt, isNotNull);
expect(localizations.keyboardKeyAltGraph, isNotNull);
expect(localizations.keyboardKeyBackspace, isNotNull);

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -144,5 +144,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -139,5 +139,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -137,5 +137,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -454,6 +454,26 @@
"description": "The verb which describes what happens when a collapsed ExpandIcon toggle button is pressed. This is used by TalkBack on Android to replace the default hint on the accessibility action. The verb will be concatenated with a prefix string which describes how to perform the action, which by default is 'double tap to activate'. In the case of US english, this would be 'double tap to expand.' The exact phrasing of the hint will vary based on locale"
},
"expansionTileExpandedTapHint": "Collapse",
"@expansionTileExpandedTapHint": {
"description": "The verb which describes what happens when an expanded ExpansionTile is pressed. This is used by TalkBack on Android to replace the default hint on the accessibility action. The verb will be concatenated with a prefix string which describes how to perform the action, which by default is 'double tap to activate'. In the case of US english, this would be 'double tap to collapse.' The exact phrasing of the hint will vary based on locale"
},
"expansionTileCollapsedTapHint": "Expand for more details",
"@expansionTileCollapsedTapHint": {
"description": "The verb which describes what happens when an expanded ExpansionTile is pressed. This is used by TalkBack on Android to replace the default hint on the accessibility action. The verb will be concatenated with a prefix string which describes how to perform the action, which by default is 'double tap to activate'. In the case of US english, this would be 'double tap to expand for more details.' The exact phrasing of the hint will vary based on locale"
},
"expandedHint": "Collapsed",
"@expandedHint": {
"description": "The verb which describes the ExpansionTile state when an expanded ExpansionTile is pressed."
},
"collapsedHint": "Expanded",
"@collapsedHint": {
"description": "The verb which describes the ExpansionTile state when a collapsed ExpansionTile is pressed."
},
"remainingTextFieldCharacterCountZero": "No characters remaining",
"@remainingTextFieldCharacterCountZero": {
"optional": true

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -137,5 +137,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -139,5 +139,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "\u0053\u0063\u0072\u0069\u006d",
"bottomSheetLabel": "\u0042\u006f\u0074\u0074\u006f\u006d\u0020\u0053\u0068\u0065\u0065\u0074",
"scrimOnTapHint": "\u0043\u006c\u006f\u0073\u0065\u0020\u0024\u006d\u006f\u0064\u0061\u006c\u0052\u006f\u0075\u0074\u0065\u004e\u0061\u006d\u0065",
"keyboardKeyShift": "\u0053\u0068\u0069\u0066\u0074"
"keyboardKeyShift": "\u0053\u0068\u0069\u0066\u0074",
"expansionTileExpandedTapHint": "\u0043\u006f\u006c\u006c\u0061\u0070\u0073\u0065",
"expansionTileCollapsedTapHint": "\u0045\u0078\u0070\u0061\u006e\u0064\u0020\u0066\u006f\u0072\u0020\u006d\u006f\u0072\u0065\u0020\u0064\u0065\u0074\u0061\u0069\u006c\u0073",
"expandedHint": "\u0043\u006f\u006c\u006c\u0061\u0070\u0073\u0065\u0064",
"collapsedHint": "\u0045\u0078\u0070\u0061\u006e\u0064\u0065\u0064"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -132,5 +132,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -132,5 +132,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -136,5 +136,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -138,5 +138,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -141,5 +141,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -137,5 +137,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -135,5 +135,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -140,5 +140,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -134,5 +134,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -133,5 +133,9 @@
"scrimLabel": "Scrim",
"bottomSheetLabel": "Bottom Sheet",
"scrimOnTapHint": "Close $modalRouteName",
"keyboardKeyShift": "Shift"
"keyboardKeyShift": "Shift",
"expansionTileExpandedTapHint": "Collapse",
"expansionTileCollapsedTapHint": "Expand for more details",
"expandedHint": "Collapsed",
"collapsedHint": "Expanded"
}

View file

@ -50,6 +50,8 @@ void main() {
expect(localizations.alertDialogLabel, isNotNull);
expect(localizations.collapsedIconTapHint, isNotNull);
expect(localizations.expandedIconTapHint, isNotNull);
expect(localizations.collapsedHint, isNotNull);
expect(localizations.expandedHint, isNotNull);
expect(localizations.refreshIndicatorSemanticLabel, isNotNull);
expect(localizations.remainingTextFieldCharacterCount(0), isNotNull);