diff --git a/apps/accessibility/js/accessibility.js b/apps/accessibility/js/accessibility.js
index 51b061f04ccb72590b6248e22f5a7deafa98b0e8..df62745c5acb0a05245a74858093fe49eb82fb93 100644
Binary files a/apps/accessibility/js/accessibility.js and b/apps/accessibility/js/accessibility.js differ
diff --git a/apps/accessibility/js/accessibility.js.map b/apps/accessibility/js/accessibility.js.map
index f8641606313338edf0f35da41fec0f5a01306d3a..f086995855aaac26abcd380e443c4725379b516a 100644
Binary files a/apps/accessibility/js/accessibility.js.map and b/apps/accessibility/js/accessibility.js.map differ
diff --git a/apps/accessibility/js/accessibilityoca.js b/apps/accessibility/js/accessibilityoca.js
index d1438eb939c37143a9453446619b0b320e9db369..0c73ef8c6f41c466774b99e309d2b136e584698c 100644
Binary files a/apps/accessibility/js/accessibilityoca.js and b/apps/accessibility/js/accessibilityoca.js differ
diff --git a/apps/accessibility/js/accessibilityoca.js.map b/apps/accessibility/js/accessibilityoca.js.map
index 0cf44034dc8220b4493f6ee18d52933872430bb1..2290088a17123993ec1721d92ff958defa48e65c 100644
Binary files a/apps/accessibility/js/accessibilityoca.js.map and b/apps/accessibility/js/accessibilityoca.js.map differ
diff --git a/apps/accessibility/src/Accessibility.vue b/apps/accessibility/src/Accessibility.vue
index fcbc07676c6a89a16a0e4b3ee62d667614a4ad2d..4baab2257e08cb3290e8880f8696ce9886045aa1 100644
--- a/apps/accessibility/src/Accessibility.vue
+++ b/apps/accessibility/src/Accessibility.vue
@@ -90,14 +90,18 @@ export default {
 		// SELECT handlers
 		selectHighContrast(id) {
 			this.selectItem('highcontrast', id)
+			document.body.classList.toggle('theme--highcontrast')
 		},
 		selectTheme(id) {
 			const previous = this.selected.theme
 			if (previous) {
-				document.body.classList.remove(previous)
+				document.body.classList.remove(`theme--${previous}`)
 			}
 			if (id) {
-				document.body.classList.add(id)
+				document.body.classList.remove('theme--light')
+				document.body.classList.add(`theme--${id}`)
+			} else {
+				document.body.classList.add('theme--light')
 			}
 
 			this.selectItem('theme', id)
diff --git a/apps/accessibility/src/accessibilityoca.js b/apps/accessibility/src/accessibilityoca.js
index 99d9b714ec4c4926291c55a92a7e7aae48fb33cf..d4aa18e7c81ac44247a7cc2ac7a79ae83858ddca 100644
--- a/apps/accessibility/src/accessibilityoca.js
+++ b/apps/accessibility/src/accessibilityoca.js
@@ -23,5 +23,11 @@ import { loadState } from '@nextcloud/initial-state'
 
 OCA.Accessibility = loadState('accessibility', 'data')
 if (OCA.Accessibility.theme !== false) {
-	document.body.classList.add(OCA.Accessibility.theme)
+	document.body.classList.add(`theme--${OCA.Accessibility.theme}`)
+} else {
+	document.body.classList.add('theme--light')
+}
+
+if (OCA.Accessibility.highcontrast !== false) {
+	document.body.classList.add('theme--highcontrast')
 }