aboutsummaryrefslogtreecommitdiff
path: root/src/components/screen_reader_notice
diff options
context:
space:
mode:
authortusooa <tusooa@kazv.moe>2023-01-21 01:07:07 -0500
committertusooa <tusooa@kazv.moe>2023-01-21 01:07:07 -0500
commit6235af4592c52a657415ffae772bd83ec106bc13 (patch)
treef2c68311dc7f2524293cf2b35aef04364a2472b9 /src/components/screen_reader_notice
parent4db7f07421a6dc49f07dee9140a024ef5195a934 (diff)
Make screenreaders read out autocomplete results
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.vue21
2 files changed, 42 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..5098b94f
--- /dev/null
+++ b/src/components/screen_reader_notice/screen_reader_notice.vue
@@ -0,0 +1,21 @@
+<template>
+ <div
+ class="screen-reader-text"
+ :aria-live="ariaLive"
+ >
+ {{ currentText }}
+ </div>
+</template>
+
+<script src="./screen_reader_notice.js"></script>
+
+<style lang="scss">
+.screen-reader-text {
+ display: block;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ visibility: visible;
+}
+</style>