Add semantics to grid list demo (#743)

* add semantics to demo

* updated code_segments.dart

Co-authored-by: Konain Mukadam <konainm@google.com>
diff --git a/lib/codeviewer/code_segments.dart b/lib/codeviewer/code_segments.dart
index 3f4b166..708a9fd 100644
--- a/lib/codeviewer/code_segments.dart
+++ b/lib/codeviewer/code_segments.dart
@@ -27692,9 +27692,21 @@
       TextSpan(style: codeStyle.baseStyle, text: ' image '),
       TextSpan(style: codeStyle.punctuationStyle, text: '='),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'Semantics'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a      label'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(
+          style: codeStyle.stringStyle,
+          text: '\u0027\u0024{photo.title} \u0024{photo.subtitle}\u0027'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ','),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a      child'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'Material'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a      shape'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a        shape'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'RoundedRectangleBorder'),
@@ -27708,38 +27720,40 @@
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.numberStyle, text: '4'),
       TextSpan(style: codeStyle.punctuationStyle, text: ')),'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a      clipBehavior'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a        clipBehavior'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'Clip'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'antiAlias'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a      child'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a        child'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'Image'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'asset'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a        photo'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a          photo'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'assetName'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a        package'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a          package'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(
           style: codeStyle.stringStyle,
           text: '\u0027flutter_gallery_assets\u0027'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a        fit'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a          fit'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'BoxFit'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'cover'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a        '),
+      TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a      '),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a    '),
diff --git a/lib/demos/material/grid_list_demo.dart b/lib/demos/material/grid_list_demo.dart
index e5b110b..01ea143 100644
--- a/lib/demos/material/grid_list_demo.dart
+++ b/lib/demos/material/grid_list_demo.dart
@@ -143,13 +143,16 @@
 
   @override
   Widget build(BuildContext context) {
-    final Widget image = Material(
-      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(4)),
-      clipBehavior: Clip.antiAlias,
-      child: Image.asset(
-        photo.assetName,
-        package: 'flutter_gallery_assets',
-        fit: BoxFit.cover,
+    final Widget image = Semantics(
+      label: '${photo.title} ${photo.subtitle}',
+      child: Material(
+        shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(4)),
+        clipBehavior: Clip.antiAlias,
+        child: Image.asset(
+          photo.assetName,
+          package: 'flutter_gallery_assets',
+          fit: BoxFit.cover,
+        ),
       ),
     );