CardsDemo-HeadingNavigation-SelectedStatus-Localization (#812)

* CardsDemo-HeadingNavigation-SelectedStatus-Localization

* made newly added semantics messages more general, added comma to improve announcement
diff --git a/lib/codeviewer/code_segments.dart b/lib/codeviewer/code_segments.dart
index 0e1f0d6..da1cd44 100644
--- a/lib/codeviewer/code_segments.dart
+++ b/lib/codeviewer/code_segments.dart
@@ -5572,12 +5572,27 @@
       TextSpan(style: codeStyle.baseStyle, text: '\u000a                child'),
       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: ' destination'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'title'),
+      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: 'TravelDestinationContent'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' destination'),
       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            '),
@@ -5805,12 +5820,27 @@
           style: codeStyle.baseStyle, text: '\u000a                  child'),
       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: ' destination'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'title'),
+      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: 'TravelDestinationContent'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' destination'),
       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              '),
@@ -5936,6 +5966,32 @@
       TextSpan(style: codeStyle.punctuationStyle, text: ').'),
       TextSpan(style: codeStyle.baseStyle, text: 'colorScheme'),
       TextSpan(style: codeStyle.punctuationStyle, text: ';'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a    '),
+      TextSpan(style: codeStyle.keywordStyle, text: 'final'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'String'),
+      TextSpan(style: codeStyle.baseStyle, text: ' selectedStatus '),
+      TextSpan(style: codeStyle.punctuationStyle, text: '='),
+      TextSpan(style: codeStyle.baseStyle, text: ' isSelected\u000a        '),
+      TextSpan(style: codeStyle.punctuationStyle, text: '?'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'GalleryLocalizations'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'of'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: 'context'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ')!.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'selected\u000a        '),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'GalleryLocalizations'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'of'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: 'context'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ')!.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'notSelected'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ';'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a\u000a    '),
       TextSpan(style: codeStyle.keywordStyle, text: 'return'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
@@ -5979,7 +6035,7 @@
       TextSpan(style: codeStyle.baseStyle, text: '\u000a            '),
       TextSpan(style: codeStyle.classStyle, text: 'SectionTitle'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                title'),
+      TextSpan(style: codeStyle.baseStyle, text: 'title'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'GalleryLocalizations'),
@@ -5988,7 +6044,7 @@
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'context'),
       TextSpan(style: codeStyle.punctuationStyle, text: ')!.'),
-      TextSpan(style: codeStyle.baseStyle, text: 'cardsDemoSelectable'),
+      TextSpan(style: codeStyle.baseStyle, text: 'selectable'),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a            '),
       TextSpan(style: codeStyle.classStyle, text: 'SizedBox'),
@@ -6130,6 +6186,52 @@
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(
           style: codeStyle.baseStyle, text: '\u000a                      '),
+      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{destination.title}, \u0024selectedStatus\u0027'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ','),
+      TextSpan(
+          style: codeStyle.baseStyle,
+          text: '\u000a                        onLongPressHint'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(
+          style: codeStyle.baseStyle,
+          text: ' isSelected\u000a                            '),
+      TextSpan(style: codeStyle.punctuationStyle, text: '?'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'GalleryLocalizations'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'of'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: 'context'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ')!.'),
+      TextSpan(
+          style: codeStyle.baseStyle,
+          text: 'deselect\u000a                            '),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.classStyle, text: 'GalleryLocalizations'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'of'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: 'context'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ')!.'),
+      TextSpan(style: codeStyle.baseStyle, text: 'select'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ','),
+      TextSpan(
+          style: codeStyle.baseStyle,
+          text: '\u000a                        child'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(
+          style: codeStyle.baseStyle,
+          text: '\u000a                            '),
       TextSpan(style: codeStyle.classStyle, text: 'TravelDestinationContent'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'destination'),
@@ -6138,6 +6240,9 @@
       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.classStyle, text: 'Align'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(
@@ -6215,6 +6320,8 @@
       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.commentStyle, text: '//),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a              '),
@@ -6584,19 +6691,41 @@
           style: codeStyle.baseStyle, text: '\u000a                  child'),
       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                    container'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.keywordStyle, text: 'true'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ','),
+      TextSpan(
+          style: codeStyle.baseStyle, text: '\u000a                    header'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.keywordStyle, text: 'true'),
+      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: 'Text'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(
           style: codeStyle.baseStyle,
-          text: '\u000a                    destination'),
+          text: '\u000a                      destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'title'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
       TextSpan(
-          style: codeStyle.baseStyle, text: '\u000a                    style'),
+          style: codeStyle.baseStyle,
+          text: '\u000a                      style'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' titleStyle'),
       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                '),
@@ -6614,9 +6743,19 @@
           style: codeStyle.commentStyle,
           text: '// Description and share/explore buttons.'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a        '),
+      TextSpan(style: codeStyle.classStyle, text: 'Semantics'),
+      TextSpan(style: codeStyle.punctuationStyle, text: '('),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a          container'),
+      TextSpan(style: codeStyle.punctuationStyle, text: ':'),
+      TextSpan(style: codeStyle.baseStyle, text: ' '),
+      TextSpan(style: codeStyle.keywordStyle, text: 'true'),
+      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: 'Padding'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a          padding'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a            padding'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.keywordStyle, text: 'const'),
@@ -6636,35 +6775,37 @@
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.numberStyle, text: '0'),
       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: 'DefaultTextStyle'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a            softWrap'),
+      TextSpan(
+          style: codeStyle.baseStyle, text: '\u000a              softWrap'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.keywordStyle, text: 'false'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a            overflow'),
+      TextSpan(
+          style: codeStyle.baseStyle, text: '\u000a              overflow'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'TextOverflow'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'ellipsis'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a            style'),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a              style'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' descriptionStyle'),
       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: 'Column'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(
           style: codeStyle.baseStyle,
-          text: '\u000a              crossAxisAlignment'),
+          text: '\u000a                crossAxisAlignment'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'CrossAxisAlignment'),
@@ -6672,22 +6813,23 @@
       TextSpan(style: codeStyle.baseStyle, text: 'start'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
       TextSpan(
-          style: codeStyle.baseStyle, text: '\u000a              children'),
+          style: codeStyle.baseStyle, text: '\u000a                children'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.punctuationStyle, text: '['),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a                  '),
       TextSpan(
           style: codeStyle.commentStyle,
           text:
               '// This array contains the three line description on each card'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a                  '),
       TextSpan(style: codeStyle.commentStyle, text: '// demo.'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a                  '),
       TextSpan(style: codeStyle.classStyle, text: 'Padding'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(
-          style: codeStyle.baseStyle, text: '\u000a                  padding'),
+          style: codeStyle.baseStyle,
+          text: '\u000a                    padding'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.keywordStyle, text: 'const'),
@@ -6702,19 +6844,20 @@
       TextSpan(style: codeStyle.numberStyle, text: '8'),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(
-          style: codeStyle.baseStyle, text: '\u000a                  child'),
+          style: codeStyle.baseStyle, text: '\u000a                    child'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' '),
       TextSpan(style: codeStyle.classStyle, text: 'Text'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(
           style: codeStyle.baseStyle,
-          text: '\u000a                    destination'),
+          text: '\u000a                      destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'description'),
       TextSpan(style: codeStyle.punctuationStyle, text: ','),
       TextSpan(
-          style: codeStyle.baseStyle, text: '\u000a                    style'),
+          style: codeStyle.baseStyle,
+          text: '\u000a                      style'),
       TextSpan(style: codeStyle.punctuationStyle, text: ':'),
       TextSpan(style: codeStyle.baseStyle, text: ' descriptionStyle'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
@@ -6727,26 +6870,28 @@
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'black54'),
       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                '),
-      TextSpan(style: codeStyle.punctuationStyle, text: '),'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a                  '),
       TextSpan(style: codeStyle.classStyle, text: 'Text'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'city'),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a                '),
+      TextSpan(style: codeStyle.baseStyle, text: '\u000a                  '),
       TextSpan(style: codeStyle.classStyle, text: 'Text'),
       TextSpan(style: codeStyle.punctuationStyle, text: '('),
       TextSpan(style: codeStyle.baseStyle, text: 'destination'),
       TextSpan(style: codeStyle.punctuationStyle, text: '.'),
       TextSpan(style: codeStyle.baseStyle, text: 'location'),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
-      TextSpan(style: codeStyle.baseStyle, text: '\u000a              '),
+      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            '),
       TextSpan(style: codeStyle.punctuationStyle, text: '),'),
       TextSpan(style: codeStyle.baseStyle, text: '\u000a          '),
diff --git a/lib/demos/material/cards_demo.dart b/lib/demos/material/cards_demo.dart
index 845fa5a..bac4c0c 100644
--- a/lib/demos/material/cards_demo.dart
+++ b/lib/demos/material/cards_demo.dart
@@ -95,7 +95,10 @@
                 // This ensures that the Card's children are clipped correctly.
                 clipBehavior: Clip.antiAlias,
                 shape: shape,
-                child: TravelDestinationContent(destination: destination),
+                child: Semantics(
+                  label: destination.title,
+                  child: TravelDestinationContent(destination: destination),
+                ),
               ),
             ),
           ],
@@ -141,7 +144,10 @@
                       Theme.of(context).colorScheme.onSurface.withOpacity(0.12),
                   // Generally, material cards do not have a highlight overlay.
                   highlightColor: Colors.transparent,
-                  child: TravelDestinationContent(destination: destination),
+                  child: Semantics(
+                    label: destination.title,
+                    child: TravelDestinationContent(destination: destination),
+                  ),
                 ),
               ),
             ),
@@ -172,6 +178,9 @@
   @override
   Widget build(BuildContext context) {
     final colorScheme = Theme.of(context).colorScheme;
+    final String selectedStatus = isSelected
+        ? GalleryLocalizations.of(context)!.selected
+        : GalleryLocalizations.of(context)!.notSelected;
 
     return SafeArea(
       top: false,
@@ -180,8 +189,7 @@
         padding: const EdgeInsets.all(8),
         child: Column(
           children: [
-            SectionTitle(
-                title: GalleryLocalizations.of(context)!.cardsDemoSelectable),
+            SectionTitle(title: GalleryLocalizations.of(context)!.selectable),
             SizedBox(
               height: height,
               child: Card(
@@ -205,7 +213,14 @@
                             ? colorScheme.primary.withOpacity(0.08)
                             : Colors.transparent,
                       ),
-                      TravelDestinationContent(destination: destination),
+                      Semantics(
+                        label: '${destination.title}, $selectedStatus',
+                        onLongPressHint: isSelected
+                            ? GalleryLocalizations.of(context)!.deselect
+                            : GalleryLocalizations.of(context)!.select,
+                        child:
+                            TravelDestinationContent(destination: destination),
+                      ),
                       Align(
                         alignment: Alignment.topRight,
                         child: Padding(
@@ -220,6 +235,7 @@
                       ),
                     ],
                   ),
+                  //),
                 ),
               ),
             ),
@@ -292,9 +308,13 @@
                 child: FittedBox(
                   fit: BoxFit.scaleDown,
                   alignment: Alignment.centerLeft,
-                  child: Text(
-                    destination.title,
-                    style: titleStyle,
+                  child: Semantics(
+                    container: true,
+                    header: true,
+                    child: Text(
+                      destination.title,
+                      style: titleStyle,
+                    ),
                   ),
                 ),
               ),
@@ -302,27 +322,30 @@
           ),
         ),
         // Description and share/explore buttons.
-        Padding(
-          padding: const EdgeInsets.fromLTRB(16, 16, 16, 0),
-          child: DefaultTextStyle(
-            softWrap: false,
-            overflow: TextOverflow.ellipsis,
-            style: descriptionStyle,
-            child: Column(
-              crossAxisAlignment: CrossAxisAlignment.start,
-              children: [
-                // This array contains the three line description on each card
-                // demo.
-                Padding(
-                  padding: const EdgeInsets.only(bottom: 8),
-                  child: Text(
-                    destination.description,
-                    style: descriptionStyle.copyWith(color: Colors.black54),
+        Semantics(
+          container: true,
+          child: Padding(
+            padding: const EdgeInsets.fromLTRB(16, 16, 16, 0),
+            child: DefaultTextStyle(
+              softWrap: false,
+              overflow: TextOverflow.ellipsis,
+              style: descriptionStyle,
+              child: Column(
+                crossAxisAlignment: CrossAxisAlignment.start,
+                children: [
+                  // This array contains the three line description on each card
+                  // demo.
+                  Padding(
+                    padding: const EdgeInsets.only(bottom: 8),
+                    child: Text(
+                      destination.description,
+                      style: descriptionStyle.copyWith(color: Colors.black54),
+                    ),
                   ),
-                ),
-                Text(destination.city),
-                Text(destination.location),
-              ],
+                  Text(destination.city),
+                  Text(destination.location),
+                ],
+              ),
             ),
           ),
         ),
diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb
index fec97b9..c7228f9 100644
--- a/lib/l10n/intl_en.arb
+++ b/lib/l10n/intl_en.arb
@@ -17,6 +17,26 @@
       }
     }
   },
+  "deselect": "Deselect",
+  "@deselect": {
+    "description": "Deselect a (selectable) item"
+  },
+  "notSelected": "Not selected",
+  "@notSelected": {
+    "description": "Indicates the status of a (selectable) item not being selected"
+  },
+  "select": "Select",
+  "@select": {
+    "description": "Select a (selectable) item"
+  },
+  "selectable": "Selectable (long press)",
+  "@selectable": {
+    "description": "Indicates the associated piece of UI is selectable by long pressing it"
+  },
+  "selected": "Selected",
+  "@selected": {
+    "description": "Indicates status of a (selectable) item being selected"
+  },
   "signIn": "SIGN IN",
   "@signIn": {
     "description": "Sign in label to sign into website."
@@ -45,14 +65,6 @@
   "@backToGallery": {
     "description": "Semantic label for back button to exit a study and return to the gallery home page."
   },
-  "cardsDemoTappable": "Tappable",
-  "@cardsDemoTappable": {
-    "description": "The user can tap this button"
-  },
-  "cardsDemoSelectable": "Selectable (long press)",
-  "@cardsDemoSelectable": {
-    "description": "If the user taps and hold this card. The card will toggled between on and off."
-  },
   "cardsDemoExplore": "Explore",
   "@cardsDemoExplore": {
     "description": "Click to see more about the content in the cards demo."
@@ -75,6 +87,10 @@
       }
     }
   },
+  "cardsDemoTappable": "Tappable",
+  "@cardsDemoTappable": {
+    "description": "The user can tap this button"
+  },
   "cardsDemoTravelDestinationTitle1": "Top 10 Cities to Visit in Tamil Nadu",
   "@cardsDemoTravelDestinationTitle1": {
     "description": "The top 10 cities that you can visit in Tamil Nadu"
diff --git a/lib/l10n/intl_en_US.xml b/lib/l10n/intl_en_US.xml
index cfa8ca0..20078c0 100644
--- a/lib/l10n/intl_en_US.xml
+++ b/lib/l10n/intl_en_US.xml
@@ -14,6 +14,26 @@
     description="A description about how to view the source code for this app."
     >To see the source code for this app, please visit the {repoLink}.</string>
   <string
+    name="deselect"
+    description="Deselect a (selectable) item"
+    >Deselect</string>
+  <string
+    name="notSelected"
+    description="Indicates the status of a (selectable) item not being selected"
+    >Not selected</string>
+  <string
+    name="select"
+    description="Select a (selectable) item"
+    >Select</string>
+  <string
+    name="selectable"
+    description="Indicates the associated piece of UI is selectable by long pressing it"
+    >Selectable (long press)</string>
+  <string
+    name="selected"
+    description="Indicates status of a (selectable) item being selected"
+    >Selected</string>
+  <string
     name="signIn"
     description="Sign in label to sign into website."
     >SIGN IN</string>
@@ -42,14 +62,6 @@
     description="Semantic label for back button to exit a study and return to the gallery home page."
     >Back to Gallery</string>
   <string
-    name="cardsDemoTappable"
-    description="The user can tap this button"
-    >Tappable</string>
-  <string
-    name="cardsDemoSelectable"
-    description="If the user taps and hold this card. The card will toggled between on and off."
-    >Selectable (long press)</string>
-  <string
     name="cardsDemoExplore"
     description="Click to see more about the content in the cards demo."
     >Explore</string>
@@ -62,6 +74,10 @@
     description="Semantics label for Share. Label tells user to share the destinationName to the user. Example Share Tamil"
     >Share {destinationName}</string>
   <string
+    name="cardsDemoTappable"
+    description="The user can tap this button"
+    >Tappable</string>
+  <string
     name="cardsDemoTravelDestinationTitle1"
     description="The top 10 cities that you can visit in Tamil Nadu"
     >Top 10 Cities to Visit in Tamil Nadu</string>
diff --git a/pubspec.lock b/pubspec.lock
index 33af817..8ccbc78 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -616,7 +616,7 @@
       name: stream_channel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.0"
+    version: "2.1.1"
   string_scanner:
     dependency: "direct dev"
     description:
@@ -728,7 +728,7 @@
       name: vector_math
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.3"
+    version: "2.1.4"
   vm_service:
     dependency: transitive
     description: