diff --git a/resources/assets/stylesheets/scss/courseware.scss b/resources/assets/stylesheets/scss/courseware.scss
index 1f04e4c82bccf9c5757ee27352ed500306806eed..384f7338c86e0eaf2fb7e3443d225f361eb8befb 100755
--- a/resources/assets/stylesheets/scss/courseware.scss
+++ b/resources/assets/stylesheets/scss/courseware.scss
@@ -977,7 +977,6 @@ form.cw-container-dialog-edit-form {
     background-repeat: no-repeat;
     background-color: transparent;
     cursor: pointer;
-    outline: none;
 }
 
 .cw-keypoint-content {
@@ -2122,7 +2121,6 @@ d i a l o g
         margin-right: -10px;
         margin-left: 2em;
         cursor: pointer;
-        outline: none;
     }
     .studip-dialog-content {
         color: $black;
@@ -2164,7 +2162,9 @@ d i a l o g
             background: $activity-color none repeat scroll 0 0;
         }
         .studip-dialog-close-button {
-            @include background-icon(decline, info);
+            @include background-icon(decline, clickable);
+            border: none;
+            background-color: transparent;
         }
         .studip-dialog-content {
             @include background-icon(question-circle-full, status-yellow, 32);
@@ -2916,7 +2916,6 @@ a u d i o  b l o c k
         height: 46px;
         width: 46px;
         display: inline-block;
-        outline: none;
 
         &:hover {
             background-color: $base-color;
@@ -3020,28 +3019,33 @@ a u d i o  b l o c k
             list-style: none;
             cursor: pointer;
 
-            .cw-playlist-item {
-                @include background-icon(file-audio2, clickable, 24);
-                background-repeat: no-repeat;
-                background-position: 1em center;
-
-                margin: 1em;
-                padding: 1em;
-                padding-left: 4em;
-                color: $base-color;
-                &:hover {
-                    color: $active-color;
-                }
-                &.current-item {
-                    @include background-icon(play, clickable, 24);
-                    font-weight: 700;
-                    &.is-playing {
-                        @include background-icon(pause, clickable, 24);
-                    }
-                }
+            li {
+                margin: 0 1em;
                 &:not(:last-child) {
                     border-bottom: solid thin $dark-gray-color-30;
                 }
+
+                .cw-playlist-item {
+                    display: block;
+                    @include background-icon(file-audio2, clickable, 24);
+                    background-repeat: no-repeat;
+                    background-position: 1em center;
+    
+                    margin: 1em 0;
+                    padding: 1em;
+                    padding-left: 4em;
+                    color: $base-color;
+                    &:hover {
+                        color: $active-color;
+                    }
+                    &.current-item {
+                        @include background-icon(play, clickable, 24);
+                        font-weight: 700;
+                        &.is-playing {
+                            @include background-icon(pause, clickable, 24);
+                        }
+                    }
+                }
             }
         }
         .cw-audio-playlist-recorder {
@@ -3380,10 +3384,6 @@ c a n v a s  b l o c k
         background-repeat: no-repeat;
         background-size: 24px 24px;
 
-        &:focus {
-            outline: none;
-        }
-
         &.cw-canvasblock-color {
             $colors: (
                 white: #ffffff,
@@ -3495,7 +3495,6 @@ d o c u m e n t  b l o c k
             width: 24px;
             margin: 2px 12px;
             cursor: pointer;
-            outline: none;
         }
 
         .cw-pdf-button-prev {
@@ -3961,7 +3960,7 @@ dialog cards block
 .cw-block-dialog-cards-content {
     display: flex;
     .cw-dialogcards {
-        flex: auto;
+        flex-grow: 2;
         .scene {
             margin: 0 auto;
             width: 440px;
@@ -4060,10 +4059,9 @@ dialog cards block
         background-repeat: no-repeat;
         background-color: $base-color;
         border: none;
-        outline: none;
         display: block;
         z-index: 4;
-        margin: auto;
+        margin: auto 2px;
         padding: 0;
         cursor: pointer;
 
diff --git a/resources/vue/components/StudipDialog.vue b/resources/vue/components/StudipDialog.vue
index 1dabe6ecf6ca553da113a1ab7d525d18631aca2f..5bcd3034c71712237cededc1ba608bd284154558 100755
--- a/resources/vue/components/StudipDialog.vue
+++ b/resources/vue/components/StudipDialog.vue
@@ -42,13 +42,13 @@
                                         {{ dialogTitle }}
                                     </span>
                                     <slot name="dialogHeader"></slot>
-                                    <span
+                                    <button
                                         :aria-label="$gettext('Diesen Dialog schließen')"
-                                        class="studip-dialog-close-button"
                                         :title="$gettext('Schließen')"
+                                        class="studip-dialog-close-button"
                                         @click="closeDialog"
                                     >
-                                    </span>
+                                    </button>
                                 </header>
                                 <section
                                     :id="dialogDescId"
diff --git a/resources/vue/components/courseware/CoursewareAudioBlock.vue b/resources/vue/components/courseware/CoursewareAudioBlock.vue
index 5adb790e87b63d5762d10e466641d419e7c567ff..6c4c733f1a55e49a73e52ed11f8e8bbfaf213d42 100755
--- a/resources/vue/components/courseware/CoursewareAudioBlock.vue
+++ b/resources/vue/components/courseware/CoursewareAudioBlock.vue
@@ -44,17 +44,20 @@
                 </div>
                 <div class="cw-audio-playlist-wrapper">
                     <ul v-show="hasPlaylist" class="cw-audio-playlist">
-                        <li
-                            v-for="(file, index) in files"
-                            :key="file.id"
-                            :class="{
-                                'is-playing': index === currentPlaylistItem && playing,
-                                'current-item': index === currentPlaylistItem,
-                            }"
-                            class="cw-playlist-item"
-                            @click="setCurrentPlaylistItem(index)"
-                        >
-                            {{ file.name }}
+                        <li v-for="(file, index) in files" :key="file.id">
+                            <a
+                                :aria-current="(index === currentPlaylistItem) ? 'true' : 'false'"
+                                :class="{
+                                    'is-playing': index === currentPlaylistItem && playing,
+                                    'current-item': index === currentPlaylistItem,
+                                }"
+                                :title="$gettext('Audiodatei:') + ' ' + file.name"
+                                href="#"
+                                class="cw-playlist-item"
+                                @click.prevent="setCurrentPlaylistItem(index)"
+                            >
+                                {{ file.name }}
+                            </a>
                         </li>
                     </ul>
                     <div v-if="emptyAudio" class="cw-file-empty">
diff --git a/resources/vue/components/courseware/CoursewareCanvasBlock.vue b/resources/vue/components/courseware/CoursewareCanvasBlock.vue
index 6aed6daaad0a546f22a8299ab6aabb0fe5bd0dbd..f0d495f4151d429ed81e36bc4f4da51a1a842d5e 100755
--- a/resources/vue/components/courseware/CoursewareCanvasBlock.vue
+++ b/resources/vue/components/courseware/CoursewareCanvasBlock.vue
@@ -21,11 +21,12 @@
                     </div>
                     <div class="cw-canvasblock-buttonset">
                         <button
-                            v-for="(rgba, color) in colors"
-                            :key="color"
+                            v-for="color in colors"
+                            :key="color.name"
                             class="cw-canvasblock-color"
-                            :class="[currentColor === color ? 'selected-color' : '', color]"
-                            @click="setColor(color)"
+                            :class="[currentColor === color.name ? 'selected-color' : '', color.name]"
+                            :title="color.title"
+                            @click="setColor(color.name)"
                         />
                     </div>
                     <div class="cw-canvasblock-buttonset">
@@ -179,18 +180,18 @@ export default {
             clickY: [],
             clickDrag: [],
             clickColor: [],
-            colors: {
-                white: 'rgba(255,255,255,1)',
-                blue: 'rgba(52,152,219,1)',
-                green: 'rgba(46,204,113,1)',
-                purple: 'rgba(155,89,182,1)',
-                red: 'rgba(231,76,60,1)',
-                yellow: 'rgba(254,211,48,1)',
-                orange: 'rgba(243,156,18,1)',
-                grey: 'rgba(149,165,166,1)',
-                darkgrey: 'rgba(52,73,94,1)',
-                black: 'rgba(0,0,0,1)',
-            },
+            colors: [
+                {rgba: 'rgba(255,255,255,1)', title: this.$gettext('weiß'), name: 'white'},
+                {rgba: 'rgba(52,152,219,1)', title: this.$gettext('blau'), name: 'blue'},
+                {rgba: 'rgba(46,204,113,1)', title: this.$gettext('grün'), name: 'green'},
+                {rgba: 'rgba(155,89,182,1)', title: this.$gettext('lila'), name: 'purple'},
+                {rgba: 'rgba(231,76,60,1)', title: this.$gettext('rot'), name: 'red'},
+                {rgba: 'rgba(254,211,48,1)', title: this.$gettext('gelb'), name: 'yellow'},
+                {rgba: 'rgba(243,156,18,1)', title: this.$gettext('orange'), name: 'orange'},
+                {rgba: 'rgba(149,165,166,1)', title: this.$gettext('grau'), name: 'grey'},
+                {rgba: 'rgba(52,73,94,1)', title: this.$gettext('dunkel grau'), name: 'darkgrey'},
+                {rgba: 'rgba(0,0,0,1)', title: this.$gettext('schwarz'), name: 'black'},
+            ],
             currentColor: '',
             currentColorRGBA: '',
             sizes: { small: 2, normal: 5, large: 8, huge: 12 },
@@ -303,7 +304,7 @@ export default {
                 return;
             }
             this.currentColor = color;
-            this.currentColorRGBA = this.colors[color];
+            this.currentColorRGBA = this.colors.find(c => c.name === color).rgba;
         },
         setSize(size) {
             if (this.textInput) {