diff --git a/packages/components/autocomplete/__tests__/autocomplete.test.tsx b/packages/components/autocomplete/__tests__/autocomplete.test.tsx index a12fa66505..e2cb8f8259 100644 --- a/packages/components/autocomplete/__tests__/autocomplete.test.tsx +++ b/packages/components/autocomplete/__tests__/autocomplete.test.tsx @@ -440,4 +440,22 @@ describe('Autocomplete.vue', () => { await nextTick() expect(onBlur).toHaveBeenCalledTimes(1) }) + + describe('test a11y supports', () => { + test('test a11y attributes', async () => { + const wrapper = _mount() + await nextTick() + + const container = wrapper.find('.el-autocomplete') + expect(container.attributes('role')).toBe('combobox') + expect(container.attributes('aria-haspopup')).toBe('listbox') + expect(container.attributes('aria-expanded')).toBe('false') + + await wrapper.find('input').trigger('focus') + vi.runAllTimers() + await nextTick() + + expect(container.attributes('aria-expanded')).toBe('true') + }) + }) }) diff --git a/packages/components/autocomplete/src/autocomplete.vue b/packages/components/autocomplete/src/autocomplete.vue index 74735b8192..defb42ef47 100644 --- a/packages/components/autocomplete/src/autocomplete.vue +++ b/packages/components/autocomplete/src/autocomplete.vue @@ -13,6 +13,7 @@ trigger="click" :transition="`${ns.namespace.value}-zoom-in-top`" persistent + role="listbox" @before-show="onSuggestionShow" @hide="onHide" >