fix: isolate background interaction behind stacked modals

This commit is contained in:
2026-09-06 15:25:05 +03:00
parent abbf24078d
commit 69f687967b
2 changed files with 42 additions and 1 deletions
+8
View File
@@ -1216,3 +1216,11 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö
- Global Escape dinleyicisi kaldırıldı; kapanışı odaktaki pencere yönetiyor. Soru işareti kısayolu başka işlemin engellediği olayları, komut kombinasyonlarını ve düzenlenebilir metin alanlarını açma/kapatma komutu olarak kullanmıyor. Firma profili mevcut ayrı odak döngüsü yerine aynı ortak kancaya geçti; istek iptali ve bileşen yaşam döngüsü korunuyor.
- On gerçek tarayıcı kontrolü geçti: kılavuz ilk odağı, ileri/geri Tab ve açan düğmeye dönüş; profilde ilk odak/ileri/geri döngü; profilin üstünde ? ile kılavuz açma; ilk Escape ile yalnız kılavuzu kapatıp profile odak dönüşü; ikinci Escape ile profili kapatıp başlıktaki açan düğmeye dönüş. Kanıt `rapor/qa-guide-profile-focus.json`.
- Build başarılı. Önceki 275 birim/entegrasyon testi sonucu geçerli; JSX odak bağlamaları için tarayıcı kabulü yapıldı, tüm paket tekrarlanmadı. Bu kabul ekran okuyucunun sanal imleci/arka planın inert olması veya bütün mobil kontrolleri kapsamaz. Genel plan açık.
### 2026-09-06 — Modal arka planını etkileşime kapatma
- Ortak pencere kancası yalnız Tab döngüsünü yönetiyordu; pencere dışındaki alanlar DOM üzerinde etkileşime açıktı. Açık pencereler sırasıyla izleniyor ve yalnız en üst pencereye giden DOM yolu dışında kalan kardeş alanlar inert yapılıyor. Önceki inert değerleri saklanıyor; üst pencere kapanınca alttaki pencerenin, son pencere kapanınca sayfanın durumu geri getiriliyor.
- Portal ile body altına açılan kılavuz da aynı sıraya katılıyor. Yeni DOM alanları eklendiğinde izolasyon yeniden uygulanıyor; son pencere kapanınca gözlemci kapatılıyor. Alttaki pencere kaldırılırken üst pencerenin odağı geri alınmıyor.
- Yedi tarayıcı kabulü geçti: ihale açıkken başlığın inert olması, analiz üstteyken ihale detayının inert olması, kılavuz üstteyken iki pencerenin inert olması, sırayla kapanışta doğru pencere/odağın geri gelmesi, tümü kapalıyken hiçbir artık inert alanın kalmaması ve ardından firma profilinin normal açılması. Kanıt `rapor/qa-modal-background-isolation.json`.
- 275 test ve build başarılı. Bu doğrulama tarayıcı DOM inert durumu ve gerçek klavye etkileşimini kapsar; belirli bir ekran okuyucuyla dinleme testi yapılmış değildir. Henüz ortak kancayı kullanmayan diğer pencerelerin kabulü ayrıca gereklidir. Genel plan açık.