diff --git a/app/views/calendar/schedule/_colorpicker.php b/app/views/calendar/schedule/_colorpicker.php
index 79ad8b298a825c55a4a898032ee0284f7fd00c8b..e1f12667286a84a0559def5671aef2c03eec4337 100644
--- a/app/views/calendar/schedule/_colorpicker.php
+++ b/app/views/calendar/schedule/_colorpicker.php
@@ -4,8 +4,11 @@
     <? foreach ($GLOBALS['PERS_TERMIN_KAT'] as $index => $data): ?>
         <span>
             <input type="radio" name="entry_color" value="<?= $index ?>" id="color-<?= $index ?>"
-                   <? if ($index == $selected) echo 'checked'; ?>>
-            <label class="undecorated schedule-category<?= $index ?>" for="color-<?= $index ?>"></label>
+                   <?= $index === $selected ? 'checked' : '' ?>>
+            <label class="undecorated schedule-category<?= $index ?> enter-accessible"
+                   for="color-<?= $index ?>"
+                   aria-label="<?= sprintf(_('Farbe %u zuordnen'), $index) ?>"
+                   title="<?= sprintf(_('Farbe %u zuordnen'), $index) ?>"></label>
         </span>
     <? endforeach; ?>
     </div>
diff --git a/resources/assets/stylesheets/less/schedule.less b/resources/assets/stylesheets/less/schedule.less
index 5d2e69dc34031aaf8e861fcba47be7fc863c160c..65008ff0de21c44b8bbf7a888f57622be5c809dd 100644
--- a/resources/assets/stylesheets/less/schedule.less
+++ b/resources/assets/stylesheets/less/schedule.less
@@ -184,10 +184,6 @@ td.schedule-adminbind {
 }
 
 #color_picker {
-    div {
-        display: flex;
-        flex-wrap: wrap;
-    }
 
     span {
         flex: 0 0 auto;
@@ -197,7 +193,8 @@ td.schedule-adminbind {
     }
 
     input[type="radio"] {
-        display: none;
+        position: absolute;
+        opacity: 0;
 
         &:checked + label {
             outline: 1px solid var(--black);