diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_IsVisible.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_IsVisible.png
new file mode 100644
index 000000000000..7c2c9a73f4a9
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_IsVisible.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColor.png
new file mode 100644
index 000000000000..11d4702b355e
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndForegroundColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndForegroundColor.png
new file mode 100644
index 000000000000..d352e721563c
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndTitleColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndTitleColor.png
new file mode 100644
index 000000000000..802174179ad8
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..2943ff0815ce
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorSetToNull.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorSetToNull.png
new file mode 100644
index 000000000000..70c889060018
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarBackgroundColorSetToNull.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarDisabledColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarDisabledColor.png
new file mode 100644
index 000000000000..3c2fd1ad62a5
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarDisabledColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColor.png
new file mode 100644
index 000000000000..a3919711ba02
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndTitleColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndTitleColor.png
new file mode 100644
index 000000000000..217a42f7ef2f
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..f5e079554a42
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColor.png
new file mode 100644
index 000000000000..3cac3e6afd02
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..e61be66a1b90
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarTitleColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarUnselectedColor.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarUnselectedColor.png
new file mode 100644
index 000000000000..1681c5e46edb
Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyShell_TabBarUnselectedColor.png differ
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml
index 9f7bf404e6d5..0e7b6d3c220e 100644
--- a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml
@@ -12,5 +12,10 @@
HorizontalOptions="Center"
AutomationId="ShellFlyoutButton"
WidthRequest="400"/>
+
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml.cs b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml.cs
index b852c7fd80b7..2086a1b9ada1 100644
--- a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml.cs
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellFeaturePage.xaml.cs
@@ -23,4 +23,8 @@ private void OnShellFlyoutButtonClicked(object sender, EventArgs e)
Application.Current.MainPage = new ShellFlyoutControlPage();
}
+ private void OnShellTabbedButtonClicked(object sender, EventArgs e)
+ {
+ Application.Current.MainPage = new ShellTabbedControlPage();
+ }
}
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml
new file mode 100644
index 000000000000..8d2bdfdd2be0
--- /dev/null
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml.cs b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml.cs
new file mode 100644
index 000000000000..bd11aec597d8
--- /dev/null
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedControlPage.xaml.cs
@@ -0,0 +1,47 @@
+using System;
+using System.ComponentModel;
+using Microsoft.Maui.Controls;
+
+namespace Maui.Controls.Sample;
+
+public partial class ShellTabbedControlPage : Shell
+{
+ private ShellViewModel _viewModel;
+ public ShellContent VegetablesItem => vegetablesItem;
+ public ShellContent FruitsItem => fruitsItem;
+ public ShellContent Tab1Item => tab1Item;
+ public ShellContent Tab3Item => tab3Item;
+ public ShellContent Tab4Item => tab4Item;
+ public ShellContent Tab5Item => tab5Item;
+ public ShellContent Tab6Item => tab6Item;
+
+ public ShellTabbedControlPage()
+ {
+ InitializeComponent();
+ _viewModel = new ShellViewModel();
+ BindingContext = _viewModel;
+ Navigated += OnNavigated;
+ }
+
+ private async void NavigateToOptionsPage_Clicked(object sender, EventArgs e)
+ {
+ BindingContext = _viewModel = new ShellViewModel();
+ await Navigation.PushAsync(new ShellTabbedOptionsPage(_viewModel));
+ }
+
+ private void OnGoToTab1Clicked(object sender, EventArgs e)
+ {
+ this.CurrentItem = this.tab1Item;
+ }
+
+ private void OnNavigated(object sender, ShellNavigatedEventArgs e)
+ {
+ _viewModel.CurrentItemTitle = CurrentItem?.CurrentItem?.Title ?? "Unknown";
+ }
+
+ protected override void OnDisappearing()
+ {
+ base.OnDisappearing();
+ Navigated -= OnNavigated; // Clean up
+ }
+}
\ No newline at end of file
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml
new file mode 100644
index 000000000000..392661848a05
--- /dev/null
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml.cs b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml.cs
new file mode 100644
index 000000000000..f77ab58425ac
--- /dev/null
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellTabbed/ShellTabbedOptionsPage.xaml.cs
@@ -0,0 +1,182 @@
+using System;
+using Microsoft.Maui.Controls;
+using Microsoft.Maui.Graphics;
+
+namespace Maui.Controls.Sample;
+
+public partial class ShellTabbedOptionsPage : ContentPage
+{
+ private ShellViewModel _viewModel;
+
+ public ShellTabbedOptionsPage(ShellViewModel viewModel)
+ {
+ InitializeComponent();
+ _viewModel = viewModel;
+ BindingContext = _viewModel;
+ }
+ private void ApplyButton_Clicked(object sender, EventArgs e)
+ {
+ Navigation.PopAsync();
+ }
+
+ private void OnTabBarBackgroundColorClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ switch (button.Text)
+ {
+ case "LightYellow":
+ _viewModel.TabBarBackgroundColor = Colors.LightYellow;
+ break;
+ case "LightGreen":
+ _viewModel.TabBarBackgroundColor = Colors.LightGreen;
+ break;
+ case "LightBlue":
+ _viewModel.TabBarBackgroundColor = Colors.LightBlue;
+ break;
+ }
+ }
+ }
+
+ private void OnTabBarDisabledColorClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ switch (button.Text)
+ {
+ case "Maroon":
+ _viewModel.TabBarDisabledColor = Colors.Maroon;
+ break;
+ case "Magenta":
+ _viewModel.TabBarDisabledColor = Colors.Magenta;
+ break;
+ case "Gold":
+ _viewModel.TabBarDisabledColor = Colors.Gold;
+ break;
+ }
+ }
+ }
+
+ private void OnTabBarForegroundColorClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ switch (button.Text)
+ {
+ case "Blue":
+ _viewModel.TabBarForegroundColor = Colors.Blue;
+ break;
+ case "Red":
+ _viewModel.TabBarForegroundColor = Colors.Red;
+ break;
+ case "Green":
+ _viewModel.TabBarForegroundColor = Colors.Green;
+ break;
+ }
+ }
+ }
+
+ private void OnTabBarTitleColorClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ switch (button.Text)
+ {
+ case "Lavender":
+ _viewModel.TabBarTitleColor = Colors.Lavender;
+ break;
+ case "Orange":
+ _viewModel.TabBarTitleColor = Colors.Orange;
+ break;
+ case "Purple":
+ _viewModel.TabBarTitleColor = Colors.Purple;
+ break;
+ }
+ }
+ }
+
+ private void OnTabBarUnselectedColorClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ switch (button.Text)
+ {
+ case "Blue":
+ _viewModel.TabBarUnselectedColor = Colors.Blue;
+ break;
+ case "Brown":
+ _viewModel.TabBarUnselectedColor = Colors.Brown;
+ break;
+ case "PeachPuff":
+ _viewModel.TabBarUnselectedColor = Colors.PeachPuff;
+ break;
+ }
+ }
+ }
+
+ private void OnTabBarIsVisibleChanged(object sender, CheckedChangedEventArgs e)
+ {
+ if (sender is RadioButton radioButton && e.Value)
+ {
+ _viewModel.TabBarIsVisible = radioButton.Content.ToString() == "True";
+ }
+ }
+
+ private void OnIsEnabledChanged(object sender, CheckedChangedEventArgs e)
+ {
+ if (sender is RadioButton radioButton && e.Value)
+ {
+ _viewModel.IsEnabled = radioButton.Content.ToString() == "True";
+ }
+ }
+
+ private void OnIsVisibleChanged(object sender, CheckedChangedEventArgs e)
+ {
+ if (sender is RadioButton radioButton && e.Value)
+ {
+ _viewModel.IsVisible = radioButton.Content.ToString() == "True";
+ }
+ }
+
+ private void OnFlowDirectionChanged(object sender, EventArgs e)
+ {
+ if (sender is RadioButton rb)
+ {
+ _viewModel.FlowDirection = rb.Content?.ToString() == "LTR" ? FlowDirection.LeftToRight : FlowDirection.RightToLeft;
+ }
+ }
+
+ private void OnCurrentItemClicked(object sender, EventArgs e)
+ {
+ if (sender is Button button)
+ {
+ if (Application.Current?.MainPage is ShellTabbedControlPage shell)
+ {
+ switch (button.Text)
+ {
+ case "Vegetables":
+ Shell.Current.CurrentItem = shell.VegetablesItem;
+ break;
+ case "Fruits":
+ Shell.Current.CurrentItem = shell.FruitsItem;
+ break;
+ case "Tab1":
+ Shell.Current.CurrentItem = shell.Tab1Item;
+ break;
+ case "Tab3":
+ Shell.Current.CurrentItem = shell.Tab3Item;
+ break;
+ case "Tab4":
+ Shell.Current.CurrentItem = shell.Tab4Item;
+ break;
+ case "Tab5":
+ Shell.Current.CurrentItem = shell.Tab5Item;
+ break;
+ case "Tab6":
+ Shell.Current.CurrentItem = shell.Tab6Item;
+ break;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellViewModel.cs b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellViewModel.cs
index 29edcf6c54f1..212040a7af09 100644
--- a/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellViewModel.cs
+++ b/src/Controls/tests/TestCases.HostApp/FeatureMatrix/Shell/ShellViewModel.cs
@@ -2,6 +2,8 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
using Microsoft.Maui.Controls;
+using Microsoft.Maui.Graphics;
+
namespace Maui.Controls.Sample;
public class ShellViewModel : INotifyPropertyChanged
@@ -29,6 +31,14 @@ public class ShellViewModel : INotifyPropertyChanged
private Brush _flyoutBackdrop = Brush.Default;
private FlowDirection _flowDirection = FlowDirection.LeftToRight;
private DataTemplate _itemTemplate;
+ private Color _tabBarBackgroundColor;
+ private Color _tabBarDisabledColor;
+ private Color _tabBarForegroundColor;
+ private Color _tabBarTitleColor;
+ private Color _tabBarUnselectedColor;
+ private bool _tabBarIsVisible = true;
+ private bool _isEnabled = true;
+ private bool _isVisible = true;
public FlyoutDisplayOptions FlyoutDisplayOptions
{
@@ -161,6 +171,102 @@ public string CurrentItemTitle
get => _currentItemTitle;
set { _currentItemTitle = value; OnPropertyChanged(); }
}
+ public Color TabBarBackgroundColor
+ {
+ get => _tabBarBackgroundColor;
+ set
+ {
+ if (_tabBarBackgroundColor != value)
+ {
+ _tabBarBackgroundColor = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public Color TabBarDisabledColor
+ {
+ get => _tabBarDisabledColor;
+ set
+ {
+ if (_tabBarDisabledColor != value)
+ {
+ _tabBarDisabledColor = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public Color TabBarForegroundColor
+ {
+ get => _tabBarForegroundColor;
+ set
+ {
+ if (_tabBarForegroundColor != value)
+ {
+ _tabBarForegroundColor = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public Color TabBarTitleColor
+ {
+ get => _tabBarTitleColor;
+ set
+ {
+ if (_tabBarTitleColor != value)
+ {
+ _tabBarTitleColor = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public Color TabBarUnselectedColor
+ {
+ get => _tabBarUnselectedColor;
+ set
+ {
+ if (_tabBarUnselectedColor != value)
+ {
+ _tabBarUnselectedColor = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public bool TabBarIsVisible
+ {
+ get => _tabBarIsVisible;
+ set
+ {
+ if (_tabBarIsVisible != value)
+ {
+ _tabBarIsVisible = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public bool IsEnabled
+ {
+ get => _isEnabled;
+ set
+ {
+ if (_isEnabled != value)
+ {
+ _isEnabled = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+ public bool IsVisible
+ {
+ get => _isVisible;
+ set
+ {
+ if (_isVisible != value)
+ {
+ _isVisible = value;
+ OnPropertyChanged();
+ }
+ }
+ }
public ShellViewModel()
{
ItemTemplate = new DataTemplate(() =>
diff --git a/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyShell_IsVisible.png b/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyShell_IsVisible.png
new file mode 100644
index 000000000000..07bcaa3612fb
Binary files /dev/null and b/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyShell_IsVisible.png differ
diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ShellTabbedPageFeatureTests.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ShellTabbedPageFeatureTests.cs
new file mode 100644
index 000000000000..d01ce8897db0
--- /dev/null
+++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ShellTabbedPageFeatureTests.cs
@@ -0,0 +1,383 @@
+using NUnit.Framework;
+using UITest.Appium;
+using UITest.Core;
+
+namespace Microsoft.Maui.TestCases.Tests;
+
+public class ShellTabbedPageFeatureTests : _GalleryUITest
+{
+ public const string ShellTabbedFeatureMatrix = "Shell Feature Matrix";
+ public override string GalleryPageName => ShellTabbedFeatureMatrix;
+ public const string Options = "Options";
+ public const string Apply = "Apply";
+
+ public ShellTabbedPageFeatureTests(TestDevice device)
+ : base(device)
+ {
+ }
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32222, https://github.com/dotnet/maui/issues/32125
+ [Test, Order(6)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarTitleColor()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarTitleColorPurple");
+ App.Tap("TabBarTitleColorPurple");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/33158
+ [Test, Order(2)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarUnselectedColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarUnselectedColorBrown");
+ App.Tap("TabBarUnselectedColorBrown");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+
+ [Test, Order(3)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarForegroundColorAndUnSelectedColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarForegroundColorBlue");
+ App.Tap("TabBarForegroundColorBlue");
+ App.WaitForElement("TabBarUnselectedColorBrown");
+ App.Tap("TabBarUnselectedColorBrown");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32125, https://github.com/dotnet/maui/issues/32222
+ [Test, Order(4)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarForegroundColorAndTitleColor()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarForegroundColorGreen");
+ App.Tap("TabBarForegroundColorGreen");
+ App.WaitForElement("TabBarTitleColorOrange");
+ App.Tap("TabBarTitleColorOrange");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/33158
+ [Test, Order(5)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarTitleColorAndUnSelectedColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarTitleColorPurple");
+ App.Tap("TabBarTitleColorPurple");
+ App.WaitForElement("TabBarUnselectedColorBrown");
+ App.Tap("TabBarUnselectedColorBrown");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+ [Test, Order(1)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_NavigatingTabs()
+ {
+ App.WaitForElement("ShellTabbedButton");
+ App.Tap("ShellTabbedButton");
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("NavigateToTab3");
+ App.Tap("NavigateToTab3");
+ var text = App.WaitForElement("Tab3Label").GetText();
+ Assert.That(text, Is.EqualTo("Welcome to Tab 3"));
+ App.WaitForElement("GoToTab1Button");
+ App.Tap("GoToTab1Button");
+ App.WaitForElement("Apply");
+ App.Tap(Apply);
+ }
+
+ [Test, Order(7)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_CurrentItemTitleBinding()
+ {
+ App.WaitForElement("Tab3");
+ App.Tap("Tab3");
+ var text = App.WaitForElement("Tab3CurrentItemLabel").GetText();
+ Assert.That(text, Is.EqualTo("Current Item: Tab3"));
+ App.WaitForElement("GoToTab1Button");
+ App.Tap("GoToTab1Button");
+ }
+
+ [Test, Order(8)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_IsVisible()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("IsVisibleFalse");
+ App.Tap("IsVisibleFalse");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+
+#if TEST_FAILS_ON_IOS && TEST_FAILS_ON_CATALYST && TEST_FAILS_ON_WINDOWS // Issue Link: https://github.com/dotnet/maui/issues/32995, https://github.com/dotnet/maui/issues/32996
+ [Test, Order(9)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarDisabledColor()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("IsEnabledFalse");
+ App.Tap("IsEnabledFalse");
+ App.WaitForElement("TabBarDisabledColorMaroon");
+ App.Tap("TabBarDisabledColorMaroon");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_WINDOWS && TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32996, https://github.com/dotnet/maui/issues/33158
+ [Test, Order(10)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarIsEnabled()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("IsEnabledFalse");
+ App.Tap("IsEnabledFalse");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ App.WaitForElement("Tab3");
+ App.Tap("Tab3");
+ App.WaitForNoElement("Tab3Label");
+ }
+#endif
+
+#if TEST_FAILS_ON_ANDROID && TEST_FAILS_ON_IOS && TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32993
+ [Test, Order(11)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBar_FlowDirection()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("FlowDirectionRTL");
+ App.Tap("FlowDirectionRTL");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32222, https://github.com/dotnet/maui/issues/32125
+ [Test, Order(12)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarForegroundColor()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarForegroundColorBlue");
+ App.Tap("TabBarForegroundColorBlue");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/33158
+ [Test, Order(13)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightGreen");
+ App.Tap("TabBarBackgroundColorLightGreen");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+
+ [Test, Order(14)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColorAndForegroundColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightYellow");
+ App.Tap("TabBarBackgroundColorLightYellow");
+ App.WaitForElement("TabBarForegroundColorBlue");
+ App.Tap("TabBarForegroundColorBlue");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+
+ [Test, Order(15)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColorAndTitleColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightBlue");
+ App.Tap("TabBarBackgroundColorLightBlue");
+ App.WaitForElement("TabBarTitleColorPurple");
+ App.Tap("TabBarTitleColorPurple");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+
+ [Test, Order(16)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColorAndUnSelectedColor()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightGreen");
+ App.Tap("TabBarBackgroundColorLightGreen");
+ App.WaitForElement("TabBarUnselectedColorBrown");
+ App.Tap("TabBarUnselectedColorBrown");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_WINDOWS && TEST_FAILS_ON_IOS && TEST_FAILS_ON_CATALYST // Issue Link: https://github.com/dotnet/maui/issues/32992, https://github.com/dotnet/maui/issues/33158
+ [Test, Order(17)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColorSetToNull()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightGreen");
+ App.Tap("TabBarBackgroundColorLightGreen");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_ANDROID && TEST_FAILS_ON_IOS && TEST_FAILS_ON_WINDOWS && TEST_FAILS_ON_CATALYST //Issue Link: https://github.com/dotnet/maui/issues/32994
+ [Test, Order(18)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarIsVisible()
+ {
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarIsVisibleTrue");
+ App.Tap("TabBarIsVisibleTrue");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ App.WaitForElement("Tab3");
+ App.Tap("Tab3");
+ VerifyScreenshot();
+ }
+#endif
+
+#if TEST_FAILS_ON_CATALYST && TEST_FAILS_ON_IOS && TEST_FAILS_ON_WINDOWS && TEST_FAILS_ON_ANDROID // Issue Link: https://github.com/dotnet/maui/issues/6740
+ [Test, Order(19)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarBackgroundColorWithMoreTabs()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+ App.WaitForElement("GoToTab1Button"); // Navigate to Tab1 to go back to initial tab
+ App.Tap("GoToTab1Button");
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarBackgroundColorLightBlue");
+ App.Tap("TabBarBackgroundColorLightBlue");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ App.WaitForElement("More");
+ App.Tap("More");
+ VerifyScreenshot();
+ }
+
+ [Test, Order(20)]
+ [Category(UITestCategories.Shell)]
+ public void VerifyShell_TabBarUnSelectedColorWithMoreTabs()
+ {
+ if (App is AppiumIOSApp iosApp && HelperExtensions.IsIOS26OrHigher(iosApp))
+ {
+ Assert.Ignore("Ignored due to a bug issue in iOS 26"); // Issue Link: https://github.com/dotnet/maui/issues/32125
+ }
+#if IOS || MACCATALYST
+ App.WaitForElement("Tab1"); // Navigate to Tab1 to close more button
+ App.Tap("Tab1");
+#else
+ App.WaitForElement("Tab11");
+ App.Tap("Tab11");
+ App.WaitForElement("GoToTab1Button");
+ App.Tap("GoToTab1Button");
+#endif
+ App.WaitForElement(Options);
+ App.Tap(Options);
+ App.WaitForElement("TabBarUnselectedColorBrown");
+ App.Tap("TabBarUnselectedColorBrown");
+ App.WaitForElement(Apply);
+ App.Tap(Apply);
+ App.WaitForElement("More");
+ App.Tap("More");
+ VerifyScreenshot();
+ }
+#endif
+}
\ No newline at end of file
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_IsVisible.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_IsVisible.png
new file mode 100644
index 000000000000..23dcbbc1de1f
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_IsVisible.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColor.png
new file mode 100644
index 000000000000..0df72aae7433
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndForegroundColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndForegroundColor.png
new file mode 100644
index 000000000000..669bfa0464ec
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndTitleColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndTitleColor.png
new file mode 100644
index 000000000000..4731510d427c
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..f88c55d6c0bb
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColor.png
new file mode 100644
index 000000000000..78e2b60f62c8
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndTitleColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndTitleColor.png
new file mode 100644
index 000000000000..f6c47c6f60ae
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..d1db0ba6ecf2
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColor.png
new file mode 100644
index 000000000000..c3a33962b3f1
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..ec3c2dbb0dd2
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarTitleColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarUnselectedColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarUnselectedColor.png
new file mode 100644
index 000000000000..1d1cb768216b
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBarUnselectedColor.png differ
diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBar_FlowDirection.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBar_FlowDirection.png
new file mode 100644
index 000000000000..4c3fa1e1e5de
Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyShell_TabBar_FlowDirection.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_IsVisible.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_IsVisible.png
new file mode 100644
index 000000000000..99a46cca482d
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_IsVisible.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColor.png
new file mode 100644
index 000000000000..522a7fa22541
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColorAndTitleColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColorAndTitleColor.png
new file mode 100644
index 000000000000..cf9f0bd62a48
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarForegroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarTitleColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarTitleColor.png
new file mode 100644
index 000000000000..c56cb8ca1780
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/VerifyShell_TabBarTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_IsVisible.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_IsVisible.png
new file mode 100644
index 000000000000..5a18119de44f
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_IsVisible.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColor.png
new file mode 100644
index 000000000000..a5e6308e6601
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndForegroundColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndForegroundColor.png
new file mode 100644
index 000000000000..fb4724ebb88f
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndTitleColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndTitleColor.png
new file mode 100644
index 000000000000..17bb2313e1ce
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..251d7c637379
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarBackgroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColor.png
new file mode 100644
index 000000000000..31ea39ac8138
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndTitleColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndTitleColor.png
new file mode 100644
index 000000000000..5414607e255e
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..9e5b8c84f42d
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarForegroundColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColor.png
new file mode 100644
index 000000000000..03cc41966206
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColorAndUnSelectedColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColorAndUnSelectedColor.png
new file mode 100644
index 000000000000..83b8f96d08db
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarTitleColorAndUnSelectedColor.png differ
diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarUnselectedColor.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarUnselectedColor.png
new file mode 100644
index 000000000000..3fe3f086ab56
Binary files /dev/null and b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyShell_TabBarUnselectedColor.png differ