2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-06-16 09:10:33 +03:00

fix: add aria-activedescendant only when there is one (#1137)

This commit is contained in:
Jeff Sagal
2020-03-26 16:51:53 -07:00
committed by GitHub
parent 87a7b18e2a
commit 11306321a2
2 changed files with 38 additions and 1 deletions
+3 -1
View File
@@ -1039,11 +1039,13 @@
'aria-autocomplete': 'list',
'aria-labelledby': `vs${this.uid}__combobox`,
'aria-controls': `vs${this.uid}__listbox`,
'aria-activedescendant': this.typeAheadPointer > -1 ? `vs${this.uid}__option-${this.typeAheadPointer}` : '',
'ref': 'search',
'type': 'search',
'autocomplete': this.autocomplete,
'value': this.search,
...(this.dropdownOpen && this.filteredOptions[this.typeAheadPointer] ? {
'aria-activedescendant': `vs${this.uid}__option-${this.typeAheadPointer}`
} : {}),
},
events: {
'compositionstart': () => this.isComposing = true,
+35
View File
@@ -0,0 +1,35 @@
import { mountDefault } from "../helpers";
describe("Search Slot Scope", () => {
/**
* @see https://www.w3.org/WAI/PF/aria/states_and_properties#aria-activedescendant
*/
describe("aria-activedescendant", () => {
it("adds the active descendant attribute only when the dropdown is open and there is a typeAheadPointer value", async () => {
const Select = mountDefault();
expect(
Select.vm.scope.search.attributes["aria-activedescendant"]
).toEqual(undefined);
Select.vm.open = true;
await Select.vm.$nextTick();
expect(
Select.vm.scope.search.attributes["aria-activedescendant"]
).toEqual(undefined);
});
it("adds the active descendant attribute when there's a typeahead value and an open dropdown", async () => {
const Select = mountDefault();
Select.vm.open = true;
Select.vm.typeAheadPointer = 1;
await Select.vm.$nextTick();
expect(
Select.vm.scope.search.attributes["aria-activedescendant"]
).toEqual(`vs${Select.vm.uid}__option-1`);
});
});
});