test(accordion): nav clavier ArrowUp + skip des sections désactivées [#MUI-37]

Ajoute aussi un commentaire sur l'hypothèse d'ordre de montage de focusSibling.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 17:04:49 +02:00
parent 1cbd54a91d
commit b817df82ee
2 changed files with 34 additions and 0 deletions
@@ -81,6 +81,10 @@ function unregister(value: string) {
items.value = items.value.filter(i => i.value !== value)
}
// `items` est ordonné par ordre de montage (= ordre du DOM pour des sections
// statiques/ajoutées en fin). Si un consommateur réordonne dynamiquement les
// items, cet ordre peut diverger de l'ordre visuel ; trier par position DOM
// serait alors nécessaire (hors périmètre v1).
function focusSibling(value: string, offset: 1 | -1) {
const enabled = items.value.filter(i => !i.isDisabled())
const idx = enabled.findIndex(i => i.value === value)