diff --git a/resources/assets/javascripts/lib/dialog.js b/resources/assets/javascripts/lib/dialog.js
index 8c22d1ced3aaf8758385be676c067c2b73fe5c0d..43c8b924fd742a416dda0c914cb0fb5d108406b5 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>