Add button semantics in list tile (#112593)

diff --git a/packages/flutter/lib/src/material/list_tile.dart b/packages/flutter/lib/src/material/list_tile.dart
index 2e796c0..03df36a 100644
--- a/packages/flutter/lib/src/material/list_tile.dart
+++ b/packages/flutter/lib/src/material/list_tile.dart
@@ -747,6 +747,7 @@
       autofocus: autofocus,
       enableFeedback: enableFeedback ?? tileTheme.enableFeedback ?? true,
       child: Semantics(
+        button: onTap != null,
         selected: selected,
         enabled: enabled,
         child: Ink(
diff --git a/packages/flutter/test/material/list_tile_test.dart b/packages/flutter/test/material/list_tile_test.dart
index 2066f78..3d19c0c 100644
--- a/packages/flutter/test/material/list_tile_test.dart
+++ b/packages/flutter/test/material/list_tile_test.dart
@@ -325,6 +325,7 @@
             ),
             TestSemantics.rootChild(
               flags: <SemanticsFlag>[
+                SemanticsFlag.isButton,
                 SemanticsFlag.hasEnabledState,
                 SemanticsFlag.isEnabled,
                 SemanticsFlag.isFocusable,
diff --git a/packages/flutter/test/material/radio_list_tile_test.dart b/packages/flutter/test/material/radio_list_tile_test.dart
index 02a181e..38a8b33 100644
--- a/packages/flutter/test/material/radio_list_tile_test.dart
+++ b/packages/flutter/test/material/radio_list_tile_test.dart
@@ -407,6 +407,7 @@
                 SemanticsFlag.hasCheckedState,
                 SemanticsFlag.hasEnabledState,
                 SemanticsFlag.isEnabled,
+                SemanticsFlag.isButton,
                 SemanticsFlag.isInMutuallyExclusiveGroup,
                 SemanticsFlag.isFocusable,
               ],
@@ -444,6 +445,7 @@
                 SemanticsFlag.isChecked,
                 SemanticsFlag.hasEnabledState,
                 SemanticsFlag.isEnabled,
+                SemanticsFlag.isButton,
                 SemanticsFlag.isInMutuallyExclusiveGroup,
                 SemanticsFlag.isFocusable,
               ],
diff --git a/packages/flutter/test/material/reorderable_list_test.dart b/packages/flutter/test/material/reorderable_list_test.dart
index e42967c..4ed5c01 100644
--- a/packages/flutter/test/material/reorderable_list_test.dart
+++ b/packages/flutter/test/material/reorderable_list_test.dart
@@ -677,6 +677,7 @@
             hasToggledState: true,
             isToggled: true,
             isEnabled: true,
+            isButton: true,
             isFocusable: true,
             hasEnabledState: true,
             label: 'Switch tile',
diff --git a/packages/flutter/test/material/switch_list_tile_test.dart b/packages/flutter/test/material/switch_list_tile_test.dart
index aa732eb..ff97cf1 100644
--- a/packages/flutter/test/material/switch_list_tile_test.dart
+++ b/packages/flutter/test/material/switch_list_tile_test.dart
@@ -76,6 +76,7 @@
             SemanticsFlag.hasEnabledState,
             SemanticsFlag.hasToggledState,
             SemanticsFlag.isEnabled,
+            SemanticsFlag.isButton,
             SemanticsFlag.isFocusable,
             SemanticsFlag.isToggled,
           ],
@@ -91,6 +92,7 @@
             SemanticsFlag.hasEnabledState,
             SemanticsFlag.isChecked,
             SemanticsFlag.isEnabled,
+            SemanticsFlag.isButton,
             SemanticsFlag.isFocusable,
           ],
           actions: SemanticsAction.tap.index,
@@ -104,6 +106,7 @@
             SemanticsFlag.hasCheckedState,
             SemanticsFlag.hasEnabledState,
             SemanticsFlag.isEnabled,
+            SemanticsFlag.isButton,
             SemanticsFlag.isFocusable,
             SemanticsFlag.isInMutuallyExclusiveGroup,
           ],