diff options
Diffstat (limited to 'resources/vue/components/StudipDialog.vue')
| -rw-r--r-- | resources/vue/components/StudipDialog.vue | 16 |
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> |
