Appearance
Inventaire des Modales Héritées
Problématique
Certaines surfaces de l'interface utilisateur reposent encore sur des modèles de modales hérités qui n'utilisent pas le système de navigation par croix directionnelle (selectable.ts). Cela réduit l'accessibilité et la cohérence sur les plateformes TV.
Aperçu de la Solution
Ce document répertorie les modèles de modales hérités restants (<dialog> natif et common/Dialog) et souligne où ils sont utilisés, afin qu'ils puissent être migrés vers la pile de modales moderne compatible avec la croix directionnelle.
Inventaire
Utilisation du <dialog> natif
src/lib/components/common/Modal.svelte- Utilise
<dialog>directement et le gère viashowModal(). - Non intégré avec
Container/Modal(croix directionnelle).
- Utilise
src/lib/utilsModals.ts- Utilise
document.querySelectorAll('dialog[open]')etHTMLDialogElementdanscloseInnermostDialog().
- Utilise
src/lib/lg/ui/dialog.ts- Utilise
HTMLDialogElementavecdocument.getElementById('TVLG')pour un comportement spécifique à LG.
- Utilise
Utilisation du common/Dialog hérité
src/lib/components/common/Dialog.svelte- Composant de dialogue hérité (pas de gestion du focus par croix directionnelle).
src/lib/components/android/AndroidUpdateDialog.svelte- Importe et affiche
common/Dialogpour les invites de mise à jour Android.
- Importe et affiche
Notes de Migration
Les nouvelles modales compatibles avec la croix directionnelle doivent utiliser :
src/lib/components/modal/Modal.svelte(piège à focus + gestion du retour)src/lib/components/dialog/Dialog.svelteet composants de dialogue associés
Le comportement des dialogues spécifique à LG dans
src/lib/lg/ui/dialog.tspeut nécessiter un plan de migration dédié pour éviter de casser la logique spécifique à la plateforme.
Prochaines étapes
- Remplacer l'utilisation de
common/DialogdansAndroidUpdateDialog.sveltepar la nouvelle pile de dialogues (components/dialog/Dialog.svelte). - Auditer l'utilisation de
common/Modal.svelteet planifier un chemin de migration vers la nouvelle pile de modales avec gestion du focus par croix directionnelle. - Évaluer si
closeInnermostDialog()peut être remplacé par les contrôles de la pile de modales ou supprimé entièrement.