diff --git a/lib/classes/sidebar/LinkElement.php b/lib/classes/sidebar/LinkElement.php
index 1d977f15b1c057ca589c2abd72c2fffd1c2d0e6a..b38a1453eab9096fa3311d0c2479673d8a45c01e 100644
--- a/lib/classes/sidebar/LinkElement.php
+++ b/lib/classes/sidebar/LinkElement.php
@@ -226,7 +226,7 @@ class LinkElement extends WidgetElement implements ArrayAccess
     protected function renderButton()
     {
         return sprintf(
-            '<form action="%1$s" method="post" %2$s class="link-form">%3$s<button type="submit">%4$s</button></form>',
+            '<form action="%1$s" method="post" %2$s>%3$s<button type="submit">%4$s</button></form>',
             htmlReady($this->url),
             arrayToHtmlAttributes((array) $this->attributes),
             CSRFProtection::tokenTag(),
diff --git a/resources/assets/stylesheets/scss/courseware.scss b/resources/assets/stylesheets/scss/courseware.scss
index 318214c40e480526f714e835a9f908591a62ae0a..b631b411625c29e72eb80638a8ceef318cb2aa55 100755
--- a/resources/assets/stylesheets/scss/courseware.scss
+++ b/resources/assets/stylesheets/scss/courseware.scss
@@ -338,6 +338,7 @@ $consum_ribbon_width: calc(100% - 58px);
         background-repeat: no-repeat;
         background-position: center;
         background-size: 24px;
+        cursor: pointer;
 
         &.cw-ribbon-button-menu {
             @include background-icon(table-of-contents, clickable, 24);
@@ -439,6 +440,7 @@ $consum_ribbon_width: calc(100% - 58px);
                 padding: 0 4px;
                 right: 0;
                 top: 12px;
+                cursor: pointer;
 
                 @include background-icon(decline, clickable, 24);
                 background-repeat: no-repeat;
diff --git a/resources/assets/stylesheets/scss/sidebar.scss b/resources/assets/stylesheets/scss/sidebar.scss
index 4f96cb81627b79159d659f95956e59de37f479e6..79d51071df58a8d1c83dd675d5a2f41f8b76aa8e 100644
--- a/resources/assets/stylesheets/scss/sidebar.scss
+++ b/resources/assets/stylesheets/scss/sidebar.scss
@@ -163,9 +163,9 @@ div#sidebar-navigation {
         margin-left: -5px;
         box-shadow: inset 0 0 0 1px $activity-color;
         @include arrow-right-border(14px, $activity-color-40, 1px, $activity-color, -5px);
-        a {
+        a, button {
             color: $base-color;
-            padding-left: 4px;
+            padding-left: 5px;
         }
     }
     &.sidebar-navigation > li,
@@ -190,20 +190,18 @@ div#sidebar-navigation {
         }
     }
 
-    .link-form {
-        button {
-            background: transparent;
-            border: 0;
-            color: $base-color;
-            margin: 0;
-            padding: 0;
-            text-align: left;
-            width: 100%;
-
-            &:hover {
-                color: $active-color;
-                cursor: pointer;
-            }
+    button {
+        background: transparent;
+        border: 0;
+        color: $base-color;
+        margin: 0;
+        padding: 0;
+        text-align: left;
+        width: 100%;
+
+        &:hover {
+            color: $active-color;
+            cursor: pointer;
         }
     }
 }
diff --git a/resources/vue/components/courseware/CoursewareActionWidget.vue b/resources/vue/components/courseware/CoursewareActionWidget.vue
index a718a648e0a5e5f6f88d50be5efcafd07033dd71..fcac6864b2433b84177edcaf26f7c000115146b8 100644
--- a/resources/vue/components/courseware/CoursewareActionWidget.vue
+++ b/resources/vue/components/courseware/CoursewareActionWidget.vue
@@ -1,44 +1,44 @@
 <template>
     <ul class="widget-list widget-links cw-action-widget" v-if="structuralElement">
         <li class="cw-action-widget-show-toc">
-            <a href="#" @click="toggleTOC">
+            <button @click="toggleTOC">
                 {{ tocText }}
-            </a>
+            </button>
         </li>
         <li class="cw-action-widget-show-consume-mode">
-            <a href="#" @click="showConsumeMode">
+            <button @click="showConsumeMode">
                 <translate>Vollbild einschalten</translate>
-            </a>
+            </button>
         </li>
         <li v-if="canEdit" class="cw-action-widget-edit">
-            <a href="#" @click="editElement">
+            <button @click="editElement">
                 <translate>Seite bearbeiten</translate>
-            </a>
+            </button>
         </li>
         <li v-if="canEdit" class="cw-action-widget-sort">
-            <a href="#" @click="sortContainers">
+            <button @click="sortContainers">
                 <translate>Abschnitte sortieren</translate>
-            </a>
+            </button>
         </li>
         <li v-if="canEdit" class="cw-action-widget-add">
-            <a href="#" @click="addElement">
+            <button @click="addElement">
                 <translate>Seite hinzufügen</translate>
-            </a>
+            </button>
         </li>
         <li class="cw-action-widget-info">
-            <a href="#" @click="showElementInfo">
+            <button @click="showElementInfo">
                 <translate>Informationen anzeigen</translate>
-            </a>
+            </button>
         </li>
         <li class="cw-action-widget-star">
-            <a href="#" @click="createBookmark">
+            <button @click="createBookmark">
                 <translate>Lesezeichen setzen</translate>
-            </a>
+            </button>
         </li>
         <li v-if="!isRoot && canEdit" class="cw-action-widget-trash">
-            <a href="#" @click="deleteElement">
+            <button @click="deleteElement">
                 <translate>Seite löschen</translate>
-            </a>
+            </button>
         </li>
     </ul>
 </template>
diff --git a/resources/vue/components/courseware/CoursewareExportWidget.vue b/resources/vue/components/courseware/CoursewareExportWidget.vue
index a4023b0ff4681e63007411afa4b786eed1d44a5f..cd712acdd218ca456ab11780f84d21916d6d5c70 100644
--- a/resources/vue/components/courseware/CoursewareExportWidget.vue
+++ b/resources/vue/components/courseware/CoursewareExportWidget.vue
@@ -1,9 +1,9 @@
 <template>
     <ul class="widget-list widget-links cw-export-widget" v-if="structuralElement">
         <li v-if="showExportArchiv" class="cw-export-widget-export">
-            <a href="#" @click="exportElement">
+            <button @click="exportElement">
                 <translate>Seite exportieren</translate>
-            </a>
+            </button>
         </li>
         <li v-if="showExportPdf" class="cw-export-widget-export-pdf">
             <a :href="pdfExportURL" target="_blank">
@@ -11,9 +11,9 @@
             </a>
         </li>
         <li v-if="showOer" class="cw-export-widget-oer">
-            <a href="#" @click="oerElement">
+            <button @click="oerElement">
                 <translate>Seite auf %{oerTitle} veröffentlichen</translate>
-            </a>
+            </button>
         </li>
         <li v-if="!showExportArchiv && !showExportPdf && !showOer">
             <translate>Keine Exportoptionen verfügbar</translate>
diff --git a/resources/vue/components/courseware/CoursewareRibbon.vue b/resources/vue/components/courseware/CoursewareRibbon.vue
index da6580705f20294cb048ead546c0e5960208fa5c..051ae4361045ad96e837643082a17e6f1deedd76 100755
--- a/resources/vue/components/courseware/CoursewareRibbon.vue
+++ b/resources/vue/components/courseware/CoursewareRibbon.vue
@@ -14,21 +14,20 @@
                 </nav>
             </div>
             <div class="cw-ribbon-wrapper-right">
-                <a
-                    href="#"
+                <button
                     class="cw-ribbon-button cw-ribbon-button-menu"
                     :title="textRibbon.toolbar"
                     @click="activeToolbar"
                 >
-                </a>
-                <a
-                    href="#"
+                </button>
+                <button
                     ref="consumeModeSwitch"
                     class="cw-ribbon-button"
                     :class="[consumeMode ? 'cw-ribbon-button-zoom-out' : 'cw-ribbon-button-zoom']"
                     :title="consumeMode ? textRibbon.fullscreen_off : textRibbon.fullscreen_on"
                      @click="toggleConsumeMode"
-                ></a>
+                >
+                </button>
                 <slot name="menu" />
             </div>
             <div v-if="consumeMode" class="cw-ribbon-consume-bottom"></div>
diff --git a/resources/vue/components/courseware/CoursewareRibbonToolbar.vue b/resources/vue/components/courseware/CoursewareRibbonToolbar.vue
index 8fc73f5bb6a061d9dbcbe270900b7de34c4e66bb..5f3e3c2085dba2cc1cc575c11c3f2c87e3b0d136 100755
--- a/resources/vue/components/courseware/CoursewareRibbonToolbar.vue
+++ b/resources/vue/components/courseware/CoursewareRibbonToolbar.vue
@@ -47,13 +47,12 @@
                             />
                         </courseware-tab>
                     </courseware-tabs>
-                    <a 
-                        href="#"
+                    <button
                         :title="$gettext('schließen')"
                         class="cw-tools-hide-button"
                         ref="closeTools"
                         @click="$emit('deactivate')">
-                    </a>
+                    </button>
                 </div>
             </div>
         </div>
diff --git a/resources/vue/components/courseware/CoursewareViewWidget.vue b/resources/vue/components/courseware/CoursewareViewWidget.vue
index cfd97c7fc901c8a83996aba7b7ae3eab261e626e..86c157a1364e627d8b838aad766a4e134c2bc139 100755
--- a/resources/vue/components/courseware/CoursewareViewWidget.vue
+++ b/resources/vue/components/courseware/CoursewareViewWidget.vue
@@ -1,25 +1,25 @@
 <template>
     <ul class="widget-list widget-links sidebar-views cw-view-widget">
         <li :class="{ active: readView }">
-            <a href="#" @click="setReadView">
+            <button @click="setReadView">
                 <translate>Lesen</translate>
-            </a>
+            </button>
         </li>
         <li
             v-if="canEdit"
             :class="{ active: editView }"
         >
-            <a href="#" @click="setEditView">
+            <button @click="setEditView">
                 <translate>Bearbeiten</translate>
-            </a>
+            </button>
         </li>
         <li 
             v-if="context.type === 'courses' && canVisit"
             :class="{ active: discussView }"
         >
-            <a href="#" @click="setDiscussView">
+            <button @click="setDiscussView">
                 <translate>Kommentieren</translate>
-            </a>
+            </button>
         </li>
     </ul>
 </template>