diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml
index f14532531..5c8ca6e69 100644
--- a/data/gnome-shell-theme.gresource.xml
+++ b/data/gnome-shell-theme.gresource.xml
@@ -32,8 +32,10 @@
summary-counter.svg
toggle-off-us.svg
toggle-off-intl.svg
+ toggle-off-hc.svg
toggle-on-us.svg
toggle-on-intl.svg
+ toggle-on-hc.svg
ws-switch-arrow-up.png
ws-switch-arrow-down.png
diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css
index 3e0a54c04..8fcffffb3 100644
--- a/data/theme/gnome-shell-high-contrast.css
+++ b/data/theme/gnome-shell-high-contrast.css
@@ -1697,3 +1697,11 @@ StScrollBar {
stage {
-st-icon-style: symbolic; }
+
+.toggle-switch {
+ width: 48px; }
+
+.toggle-switch-us, .toggle-switch-intl {
+ background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); }
+ .toggle-switch-us:checked, .toggle-switch-intl:checked {
+ background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
diff --git a/data/theme/gnome-shell-high-contrast.scss b/data/theme/gnome-shell-high-contrast.scss
index 349dfb601..23279caf3 100644
--- a/data/theme/gnome-shell-high-contrast.scss
+++ b/data/theme/gnome-shell-high-contrast.scss
@@ -6,3 +6,9 @@
stage {
-st-icon-style: symbolic;
}
+
+.toggle-switch { width: 48px; }
+.toggle-switch-us, .toggle-switch-intl {
+ background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
+ &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
+}
diff --git a/data/theme/toggle-off-hc.svg b/data/theme/toggle-off-hc.svg
new file mode 100644
index 000000000..809cd3f7b
--- /dev/null
+++ b/data/theme/toggle-off-hc.svg
@@ -0,0 +1,133 @@
+
+
+
+
diff --git a/data/theme/toggle-on-hc.svg b/data/theme/toggle-on-hc.svg
new file mode 100644
index 000000000..9952f9540
--- /dev/null
+++ b/data/theme/toggle-on-hc.svg
@@ -0,0 +1,113 @@
+
+
+
+