aboutsummaryrefslogtreecommitdiff
path: root/src/components/screen_reader_notice
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/screen_reader_notice')
-rw-r--r--src/components/screen_reader_notice/screen_reader_notice.js21
-rw-r--r--src/components/screen_reader_notice/screen_reader_notice.vue10
2 files changed, 31 insertions, 0 deletions
diff --git a/src/components/screen_reader_notice/screen_reader_notice.js b/src/components/screen_reader_notice/screen_reader_notice.js
new file mode 100644
index 00000000..3b8eaf37
--- /dev/null
+++ b/src/components/screen_reader_notice/screen_reader_notice.js
@@ -0,0 +1,21 @@
+const ScreenReaderNotice = {
+ props: {
+ ariaLive: {
+ type: String,
+ defualt: 'assertive'
+ }
+ },
+ data () {
+ return {
+ currentText: ''
+ }
+ },
+ methods: {
+ announce (text) {
+ this.currentText = text
+ setTimeout(() => { this.currentText = '' }, 1000)
+ }
+ }
+}
+
+export default ScreenReaderNotice
diff --git a/src/components/screen_reader_notice/screen_reader_notice.vue b/src/components/screen_reader_notice/screen_reader_notice.vue
new file mode 100644
index 00000000..8384ae6b
--- /dev/null
+++ b/src/components/screen_reader_notice/screen_reader_notice.vue
@@ -0,0 +1,10 @@
+<template>
+ <div
+ class="visible-for-screenreader-only"
+ :aria-live="ariaLive"
+ >
+ {{ currentText }}
+ </div>
+</template>
+
+<script src="./screen_reader_notice.js"></script>