Skip to content

Commit d031276

Browse files
committed
fix(DsfrTabs): 🐛 corrige la navigation au clavier
- les touches flèche haut et flèche bas ne doive pas avoir d’action - le focus doit être sur le bon onglet après navigation au clavier
1 parent 6330dec commit d031276

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

‎src/components/DsfrTabs/DsfrTabItem.vue‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts" setup>
2-
import { inject, ref, toRef } from 'vue'
2+
import { inject, ref, toRef, useTemplateRef, watch } from 'vue'
33
44
import VIcon from '../VIcon/VIcon.vue'
55
@@ -27,8 +27,6 @@ const button = ref<HTMLButtonElement | null>(null)
2727
const keyToEventDict = {
2828
ArrowRight: 'next',
2929
ArrowLeft: 'previous',
30-
ArrowDown: 'next',
31-
ArrowUp: 'previous',
3230
Home: 'first',
3331
End: 'last',
3432
} as const
@@ -44,6 +42,14 @@ function onKeyDown (event: KeyboardEvent) {
4442
4543
const useTab = inject(registerTabKey)!
4644
const { isVisible } = useTab(toRef(() => props.tabId))
45+
46+
const buttonEl = useTemplateRef('button')
47+
48+
watch(isVisible, () => {
49+
if (isVisible.value) {
50+
buttonEl.value?.focus()
51+
}
52+
})
4753
</script>
4854

4955
<template>

0 commit comments

Comments
 (0)