diff --git a/docs/quality/evidence/qa-product-dialog-keyboard.json b/docs/quality/evidence/qa-product-dialog-keyboard.json new file mode 100644 index 0000000..02cbd8c --- /dev/null +++ b/docs/quality/evidence/qa-product-dialog-keyboard.json @@ -0,0 +1,11 @@ +{ + "reverseTab": { + "insideDialog": true, + "tag": "INPUT" + }, + "escape": { + "open": 0, + "tag": "BUTTON", + "trigger": "true" + } +} \ No newline at end of file diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 0dcde4a..e7c3f89 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -401,3 +401,9 @@ Son ölçüm: mobil 384/384, tablet 762/762, masaüstü 1434/1434 (içerik/kulla Mobil filtre çekmecesi native dialog/showModal kullanıyor: adlandırılmış dialog, açılışta kapat düğmesine odak, Escape/kapat sonrası tetikleyiciye dönüş, arka sayfa kaydırma kilidi ve masaüstüne geçince otomatik kapanma eklendi. OKAS ürün arama penceresi açılırken drawer kapanıyor; native dialog üst katmanının diğer pencereyi örtmesi önleniyor. Gerçek 390 px tarayıcı testinde dialog 337/337 px genişlikle taşmadı, ilk odak “Filtreleri kapat” oldu. Escape sonrası açık dialog sayısı 0 ve odak “Filtreler & Hızlı Erişim” düğmesiydi. Açık çekmecede 1440 px'e geçiş 1 açık dialogdan 0'a geçti. Kanıt: evidence/qa-mobile-filter-keyboard.json. 80 test ve üretim derlemesi geçti. OKAS pencere geçişinin gerçek sonuçla tarayıcı kabulü, tüm filtre kombinasyonları ve ekran okuyucu testi açık. + +### Ürün arama dialog erişilebilirliği + +Ürün arama native dialog, başlık bağlantısı, açılış odağı, açık Tab sınırları ve Escape/kapat sonrası odak dönüşü kullanıyor. Mobil iç boşluklar azaltıldı; 390 px dialog içerik genişliği taşmadı. Metin/OKAS seçimleri aria-pressed taşıyor. Tarayıcı testinde ilk uygulamada Shift+Tab BODY'ye çıktı; açık odak döngüsü eklendi. AutoFocus nedeniyle kapanış kontrolünün yanlışlıkla opener kaydedilmesi de düzeltildi; gerekli durumda header ürün arama düğmesi hedefleniyor. + +Son gerçek tarayıcı sonucu: ters Tab aktif INPUT ile dialog içinde; Escape sonrası 0 açık dialog ve data-product-search-trigger=true olan BUTTON odakta. Kanıt evidence/qa-product-dialog-keyboard.json. 80 test ve son üretim derlemesi geçti. Gerçek arama sonucu/ihale detay geçişi, OKAS çekmecesinden açılış ve diğer modallerin erişilebilirliği halen açık. diff --git a/src/components/Header.jsx b/src/components/Header.jsx index f6c87d4..46a9df5 100644 --- a/src/components/Header.jsx +++ b/src/components/Header.jsx @@ -82,6 +82,7 @@ export const Header = () => { -
+
{ e.preventDefault(); ara(0); }} className="space-y-3">
{[['metin', 'Ürün adıyla'], ['okas', 'OKAS koduyla']].map(([m, ad]) => ( -
-
+ ); };