diff --git a/examples/flutter_gallery/lib/demo/colors_demo.dart b/examples/flutter_gallery/lib/demo/colors_demo.dart index b3e9e9979c2..d3b188f0da8 100644 --- a/examples/flutter_gallery/lib/demo/colors_demo.dart +++ b/examples/flutter_gallery/lib/demo/colors_demo.dart @@ -60,20 +60,23 @@ class ColorItem extends StatelessWidget { @override Widget build(BuildContext context) { - return new Container( - height: kColorItemHeight, - padding: const EdgeInsets.symmetric(horizontal: 16.0), - color: color, - child: new SafeArea( - top: false, - bottom: false, - child: new Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - new Text('$prefix$index'), - new Text(colorString()), - ], + return new Semantics( + container: true, + child: new Container( + height: kColorItemHeight, + padding: const EdgeInsets.symmetric(horizontal: 16.0), + color: color, + child: new SafeArea( + top: false, + bottom: false, + child: new Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + new Text('$prefix$index'), + new Text(colorString()), + ], + ), ), ), ); diff --git a/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart b/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart index b4523717d89..cac8020765f 100644 --- a/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart +++ b/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart @@ -218,12 +218,18 @@ class Tab1RowItem extends StatelessWidget { ), new CupertinoButton( padding: EdgeInsets.zero, - child: const Icon(CupertinoIcons.plus_circled, color: CupertinoColors.activeBlue), + child: const Icon(CupertinoIcons.plus_circled, + color: CupertinoColors.activeBlue, + semanticLabel: 'Add', + ), onPressed: () { }, ), new CupertinoButton( padding: EdgeInsets.zero, - child: const Icon(CupertinoIcons.share, color: CupertinoColors.activeBlue), + child: const Icon(CupertinoIcons.share, + color: CupertinoColors.activeBlue, + semanticLabel: 'Share', + ), onPressed: () { }, ), ], diff --git a/examples/flutter_gallery/lib/demo/images_demo.dart b/examples/flutter_gallery/lib/demo/images_demo.dart index 7b0c2cf301d..0b4e00be57d 100644 --- a/examples/flutter_gallery/lib/demo/images_demo.dart +++ b/examples/flutter_gallery/lib/demo/images_demo.dart @@ -14,13 +14,19 @@ class ImagesDemo extends StatelessWidget { tabName: 'ANIMATED WEBP', description: '', exampleCodeTag: 'animated_image', - demoWidget: new Image.asset('packages/flutter_gallery_assets/animated_flutter_stickers.webp'), + demoWidget: new Semantics( + label: 'Example of animated WEBP', + child: new Image.asset('packages/flutter_gallery_assets/animated_flutter_stickers.webp'), + ), ), new ComponentDemoTabData( tabName: 'ANIMATED GIF', description: '', exampleCodeTag: 'animated_image', - demoWidget: new Image.asset('packages/flutter_gallery_assets/animated_flutter_lgtm.gif'), + demoWidget: new Semantics( + label: 'Example of animated GIF', + child:new Image.asset('packages/flutter_gallery_assets/animated_flutter_lgtm.gif'), + ), ), ] ); diff --git a/examples/flutter_gallery/lib/demo/material/bottom_navigation_demo.dart b/examples/flutter_gallery/lib/demo/material/bottom_navigation_demo.dart index 45a6ec4523e..79cca016004 100644 --- a/examples/flutter_gallery/lib/demo/material/bottom_navigation_demo.dart +++ b/examples/flutter_gallery/lib/demo/material/bottom_navigation_demo.dart @@ -7,14 +7,15 @@ import 'package:flutter/material.dart'; class NavigationIconView { NavigationIconView({ Widget icon, - Widget title, + String title, Color color, TickerProvider vsync, }) : _icon = icon, _color = color, + _title = title, item = new BottomNavigationBarItem( icon: icon, - title: title, + title: new Text(title), backgroundColor: color, ), controller = new AnimationController( @@ -29,6 +30,7 @@ class NavigationIconView { final Widget _icon; final Color _color; + final String _title; final BottomNavigationBarItem item; final AnimationController controller; CurvedAnimation _animation; @@ -56,7 +58,10 @@ class NavigationIconView { color: iconColor, size: 120.0, ), - child: _icon, + child: new Semantics( + label: 'Placeholder for $_title tab', + child: _icon, + ), ), ), ); @@ -95,31 +100,31 @@ class _BottomNavigationDemoState extends State _navigationViews = [ new NavigationIconView( icon: const Icon(Icons.access_alarm), - title: const Text('Alarm'), + title: 'Alarm', color: Colors.deepPurple, vsync: this, ), new NavigationIconView( icon: new CustomIcon(), - title: const Text('Box'), + title: 'Box', color: Colors.deepOrange, vsync: this, ), new NavigationIconView( icon: const Icon(Icons.cloud), - title: const Text('Cloud'), + title: 'Cloud', color: Colors.teal, vsync: this, ), new NavigationIconView( icon: const Icon(Icons.favorite), - title: const Text('Favorites'), + title: 'Favorites', color: Colors.indigo, vsync: this, ), new NavigationIconView( icon: const Icon(Icons.event_available), - title: const Text('Event'), + title: 'Event', color: Colors.pink, vsync: this, ) diff --git a/examples/flutter_gallery/lib/demo/material/page_selector_demo.dart b/examples/flutter_gallery/lib/demo/material/page_selector_demo.dart index 73cdf5cd0b6..33dc588afcd 100644 --- a/examples/flutter_gallery/lib/demo/material/page_selector_demo.dart +++ b/examples/flutter_gallery/lib/demo/material/page_selector_demo.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; class _PageSelector extends StatelessWidget { const _PageSelector({ this.icons }); - final List icons; + final List icons; void _handleArrowButtonPress(BuildContext context, int delta) { final TabController controller = DefaultTabController.of(context); @@ -46,18 +46,23 @@ class _PageSelector extends StatelessWidget { ) ), new Expanded( - child: new TabBarView( - children: icons.map((IconData icon) { - return new Container( - key: new ObjectKey(icon), - padding: const EdgeInsets.all(12.0), - child: new Card( - child: new Center( - child: new Icon(icon, size: 128.0, color: color) + child: new IconTheme( + data: new IconThemeData( + size: 128.0, + color: color, + ), + child: new TabBarView( + children: icons.map((Icon icon) { + return new Container( + padding: const EdgeInsets.all(12.0), + child: new Card( + child: new Center( + child: icon, + ), ), - ), - ); - }).toList() + ); + }).toList() + ), ), ), ], @@ -68,13 +73,13 @@ class _PageSelector extends StatelessWidget { class PageSelectorDemo extends StatelessWidget { static const String routeName = '/material/page-selector'; - static final List icons = [ - Icons.event, - Icons.home, - Icons.android, - Icons.alarm, - Icons.face, - Icons.language, + static final List icons = [ + const Icon(Icons.event, semanticLabel: 'Event'), + const Icon(Icons.home, semanticLabel: 'Home'), + const Icon(Icons.android, semanticLabel: 'Android'), + const Icon(Icons.alarm, semanticLabel: 'Alarm'), + const Icon(Icons.face, semanticLabel: 'Face'), + const Icon(Icons.language, semanticLabel: 'Language'), ]; @override diff --git a/examples/flutter_gallery/lib/demo/material/scrollable_tabs_demo.dart b/examples/flutter_gallery/lib/demo/material/scrollable_tabs_demo.dart index 6569b571440..f2534de928f 100644 --- a/examples/flutter_gallery/lib/demo/material/scrollable_tabs_demo.dart +++ b/examples/flutter_gallery/lib/demo/material/scrollable_tabs_demo.dart @@ -117,6 +117,7 @@ class ScrollableTabsDemoState extends State with SingleTicke page.icon, color: iconColor, size: 128.0, + semanticLabel: 'Placeholder for ${page.text} tab', ), ), ),