Skip to content

Commit bb8f263

Browse files
authored
Merge pull request #120 from ditdot-dev/select-field
Select (dropdown) accessibility enhancement
2 parents ba48aa8 + 78d190a commit bb8f263

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/components/QuestionTypes/DropdownType.vue

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
class
66
v-bind:value="dataValue"
77
v-on:change="onChange"
8-
v-on:keydown="onKeyDown"
8+
v-on:keydown="onKeyDownListener"
9+
v-on:keyup="onKeyUpListener"
910
v-bind:required="question.required"
1011
>
1112
<option v-if="question.required" label=" " value="" disabled selected hidden>&nbsp;</option>
@@ -60,11 +61,19 @@
6061
return this.question.placeholder
6162
}
6263
},
63-
watch: {
64-
dataValue(value) {
65-
if (this.isValid()) {
66-
this.onEnter()
67-
64+
methods: {
65+
onKeyDownListener($event) {
66+
if ($event.key === 'ArrowDown' || $event.key === 'ArrowUp') {
67+
this.setAnswer(this.dataValue)
68+
} else if ($event.key === 'Enter' && this.hasValue) {
69+
this.focused = false
70+
this.blur()
71+
}
72+
},
73+
onKeyUpListener($event) {
74+
if ($event.key === 'Enter' && this.isValid()) {
75+
$event.stopPropagation()
76+
this._onEnter()
6877
this.$emit('next')
6978
}
7079
}

0 commit comments

Comments
 (0)