diff --git a/resources/assets/javascripts/lib/dialog.js b/resources/assets/javascripts/lib/dialog.js
index b5cab540604f3d3572af290d6d5d2a8126680393..8f6e50adb0bff4b6ce84518d004ee5cc8e895203 100644
--- a/resources/assets/javascripts/lib/dialog.js
+++ b/resources/assets/javascripts/lib/dialog.js
@@ -386,7 +386,12 @@ Dialog.show = function(content, options = {}) {
                     .before(element);
             }
 
-            $(this).parent().find('.ui-dialog-title').attr('title', options.title);
+            $(this).parent().find('.ui-dialog-title').attr({
+                title: options.title,
+                role: 'heading',
+                'aria-level': 2
+            });
+            $(this).parents('.studip-dialog').attr('aria-modal', 'true');
 
             instance.open = true;
             // Execute scripts
diff --git a/resources/vue/components/StudipDialog.vue b/resources/vue/components/StudipDialog.vue
index 0edd3c53b28686a3d0351404749a3d8c1f46436e..79337f8d19caf3c3d22341597822ad3b4136542b 100644
--- a/resources/vue/components/StudipDialog.vue
+++ b/resources/vue/components/StudipDialog.vue
@@ -38,7 +38,11 @@
                                 <header
                                     class="studip-dialog-header"
                                 >
-                                    <span :id="dialogTitleId" class="studip-dialog-title" :title="dialogTitle">
+                                    <span :id="dialogTitleId"
+                                          class="studip-dialog-title"
+                                          :title="dialogTitle"
+                                          role="heading"
+                                          aria-level="2">
                                         {{ dialogTitle }}
                                     </span>
                                     <slot name="dialogHeader"></slot>