From 7017d19260bfc623d1a6e81571f25dae1886ca45 Mon Sep 17 00:00:00 2001 From: qiang Date: Tue, 10 Sep 2024 15:58:53 +0800 Subject: [PATCH] fix(components): [tooltip] change ariaHidden value after closed the dropdown (#18207) * fix(components): [tooltip] change ariaHidden value after closed dropdown closed #17720 * test: fix test --- .../components/date-picker/__tests__/date-picker.test.ts | 2 ++ .../components/time-picker/__tests__/time-picker.test.tsx | 6 +----- packages/components/tooltip/src/content.vue | 5 ++++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/components/date-picker/__tests__/date-picker.test.ts b/packages/components/date-picker/__tests__/date-picker.test.ts index 5f75a605a8..0d666b101d 100644 --- a/packages/components/date-picker/__tests__/date-picker.test.ts +++ b/packages/components/date-picker/__tests__/date-picker.test.ts @@ -1296,6 +1296,7 @@ describe('DatePicker keyboard events', () => { await input.trigger('keydown', { code: EVENT_CODE.enter, }) + await rAF() const popperEl2 = document.querySelectorAll('.el-picker__popper')[0] const attr2 = popperEl2.getAttribute('aria-hidden') expect(attr2).toEqual('true') @@ -1321,6 +1322,7 @@ describe('DatePicker keyboard events', () => { await input.trigger('keydown', { code: EVENT_CODE.numpadEnter, }) + await rAF() const popperEl2 = document.querySelectorAll('.el-picker__popper')[0] const attr2 = popperEl2.getAttribute('aria-hidden') expect(attr2).toEqual('true') diff --git a/packages/components/time-picker/__tests__/time-picker.test.tsx b/packages/components/time-picker/__tests__/time-picker.test.tsx index 25727aa54b..363b4848b4 100644 --- a/packages/components/time-picker/__tests__/time-picker.test.tsx +++ b/packages/components/time-picker/__tests__/time-picker.test.tsx @@ -363,8 +363,6 @@ describe('TimePicker', () => { }) it('ref handleClose', async () => { - vi.useFakeTimers() - const value = ref(new Date(2016, 9, 10, 18, 40)) const wrapper = mount(() => ) const timePickerExposed = wrapper.findComponent(TimePicker).vm.$.exposed @@ -374,12 +372,10 @@ describe('TimePicker', () => { await nextTick() timePickerExposed.handleClose() - await nextTick() + await rAF() const popperEl = document.querySelector('.el-picker__popper') const attr = popperEl.getAttribute('aria-hidden') expect(attr).toEqual('true') - - vi.useRealTimers() }) it('model value should sync when disabled-hours was updated', async () => { diff --git a/packages/components/tooltip/src/content.vue b/packages/components/tooltip/src/content.vue index 54c9f7f93d..42c4c884d3 100644 --- a/packages/components/tooltip/src/content.vue +++ b/packages/components/tooltip/src/content.vue @@ -106,10 +106,11 @@ const appendTo = computed(() => { const contentStyle = computed(() => (props.style ?? {}) as any) -const ariaHidden = computed(() => !unref(open)) +const ariaHidden = ref(true) const onTransitionLeave = () => { onHide() + ariaHidden.value = true } const stopWhenControlled = () => { @@ -164,6 +165,8 @@ watch( (val) => { if (!val) { stopHandle?.() + } else { + ariaHidden.value = false } }, {