aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/StudipDialog.vue
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/components/StudipDialog.vue')
-rw-r--r--resources/vue/components/StudipDialog.vue16
1 files changed, 14 insertions, 2 deletions
diff --git a/resources/vue/components/StudipDialog.vue b/resources/vue/components/StudipDialog.vue
index f14dd37..79337f8 100644
--- a/resources/vue/components/StudipDialog.vue
+++ b/resources/vue/components/StudipDialog.vue
@@ -1,6 +1,6 @@
<template>
<MountingPortal mountTo="body" append>
- <focus-trap v-model="trap" :initial-focus="() => defaultFocus ? $refs.buttonB : null">
+ <focus-trap v-model="trap">
<div class="studip-dialog" @keydown.esc="closeDialog">
<transition name="dialog-fade">
<div class="studip-dialog-backdrop">
@@ -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>
@@ -262,5 +266,13 @@ export default {
return typeof value !== "number" ? 0 : value;
}
},
+ mounted() {
+ if (this.defaultFocus) {
+ this.$nextTick()
+ .then(() => {
+ this.$refs.buttonB.focus();
+ });
+ }
+ }
};
</script>