[Gallery] Fix text contrast ratio on homepage and contacts demo (#48752)
diff --git a/examples/flutter_gallery/lib/demo/contacts_demo.dart b/examples/flutter_gallery/lib/demo/contacts_demo.dart
index a30889e..e3552e1 100644
--- a/examples/flutter_gallery/lib/demo/contacts_demo.dart
+++ b/examples/flutter_gallery/lib/demo/contacts_demo.dart
@@ -169,9 +169,9 @@
const DecoratedBox(
decoration: BoxDecoration(
gradient: LinearGradient(
- begin: Alignment(0.0, -1.0),
- end: Alignment(0.0, -0.4),
- colors: <Color>[Color(0x60000000), Color(0x00000000)],
+ begin: Alignment.topCenter,
+ end: Alignment(0, .35),
+ colors: <Color>[Color(0xC0000000), Color(0x00000000)],
),
),
),
diff --git a/examples/flutter_gallery/lib/gallery/options.dart b/examples/flutter_gallery/lib/gallery/options.dart
index c939fca..c6dfac6 100644
--- a/examples/flutter_gallery/lib/gallery/options.dart
+++ b/examples/flutter_gallery/lib/gallery/options.dart
@@ -194,9 +194,10 @@
final ThemeData theme = Theme.of(context);
return _OptionsItem(
child: DefaultTextStyle(
- style: theme.textTheme.body1.copyWith(
+ style: theme.textTheme.title.copyWith(
fontFamily: 'GoogleSans',
- color: theme.accentColor,
+ color: theme.colorScheme.onPrimary,
+ fontWeight: FontWeight.w700,
),
child: Semantics(
child: Text(text),
@@ -525,7 +526,7 @@
_TextDirectionItem(options, onOptionsChanged),
_TimeDilationItem(options, onOptionsChanged),
const Divider(),
- const _Heading('Platform mechanics'),
+ const ExcludeSemantics(child: _Heading('Platform mechanics')),
_PlatformItem(options, onOptionsChanged),
..._enabledDiagnosticItems(),
const Divider(),
diff --git a/examples/flutter_gallery/test/accessibility_test.dart b/examples/flutter_gallery/test/accessibility_test.dart
index c0a7e01..83e8d4f 100644
--- a/examples/flutter_gallery/test/accessibility_test.dart
+++ b/examples/flutter_gallery/test/accessibility_test.dart
@@ -3,6 +3,7 @@
// found in the LICENSE file.
import 'package:flutter/material.dart';
+import 'package:flutter_gallery/gallery/app.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_gallery/demo/all.dart';
import 'package:flutter_gallery/gallery/themes.dart';
@@ -756,4 +757,35 @@
});
}
});
+
+ group('Gallery home page meets text contrast guidelines', () {
+ testWidgets('options menu', (WidgetTester tester) async {
+ await tester.pumpWidget(const GalleryApp(testMode: true));
+ await tester.tap(find.byTooltip('Toggle options page'));
+ await tester.pumpAndSettle();
+ await expectLater(tester, meetsGuideline(textContrastGuideline));
+ });
+
+ testWidgets('options menu - dark theme', (WidgetTester tester) async {
+ await tester.pumpWidget(const GalleryApp(testMode: true));
+ await tester.tap(find.byTooltip('Toggle options page'));
+ await tester.pumpAndSettle();
+
+ // Toggle dark mode.
+ final Finder themeToggleContainer = find.ancestor(
+ of: find.text('Theme'),
+ matching: find.byType(Container),
+ );
+ final Finder themeMenuButton = find.descendant(
+ of: themeToggleContainer,
+ matching: find.byIcon(Icons.arrow_drop_down),
+ );
+ await tester.tap(themeMenuButton);
+ await tester.pumpAndSettle();
+ await tester.tap(find.text('Dark'));
+ await tester.pumpAndSettle();
+
+ await expectLater(tester, meetsGuideline(textContrastGuideline));
+ });
+ });
}