4.2 KiB
4.2 KiB
Mobil Test Rehberi
Hızlı Test Adımları
1. Chrome DevTools ile Test
iPhone 13 Simülasyonu
- Chrome'da F12 tuşuna basın
- Device Toolbar'ı açın (Ctrl+Shift+M veya Cmd+Shift+M)
- Cihaz seçin: "iPhone 13 Pro" veya "iPhone 12 Pro"
- Viewport: 390x844
Android Simülasyonu
- Device Toolbar'da "Pixel 5" veya "Galaxy S20" seçin
- Veya custom viewport: 360x800
2. Test Edilecek Sayfalar
Ana Sayfa (/)
- Hero section tam genişlikte
- Butonlar dokunulabilir (44px+)
- Text okunabilir
- Background blur'lar ekran dışına taşmıyor
- Feature cards 1 kolon
- Testimonials 1 kolon
Seyahat Planlayıcı (/planner?trip_id=...)
- Header görünür
- Gün seçici yatay scroll
- Timeline scroll edilebilir
- Yer kartları tam genişlikte
- Harita responsive
- "Yer Ekle" butonu dokunulabilir
- Dialog ekrana sığıyor
Keşfet (/explore)
- Kategori badge'leri yatay scroll
- Yer kartları 1 kolon
- Arama çubuğu tam genişlikte
- Bookmark butonları dokunulabilir
Günlük (/journal)
- Fotoğraf grid 2 kolon
- Entry kartları tam genişlikte
- Tab navigation dokunulabilir
- Filter badge'leri yatay scroll
Admin Panel (/admin)
- Mobil menü çalışıyor
- Stats kartları 2 kolon
- Tablolar yatay scroll
- Action butonları dokunulabilir
3. Kontrol Edilecek Elementler
Yatay Taşma
// Console'da çalıştırın:
document.querySelectorAll('*').forEach(el => {
if (el.scrollWidth > el.clientWidth) {
console.log('Overflow:', el);
}
});
Touch Target Boyutları
- Tüm butonlar minimum 44x44px olmalı
- Input'lar minimum 44px yüksekliğinde olmalı
- Icon butonlar minimum 44x44px olmalı
Text Okunabilirlik
- Minimum font-size: 14px (body text)
- Başlıklar: 20-30px
- Input font-size: 16px (iOS zoom önleme)
4. Landscape Mode Testi
- Device Toolbar'da "Rotate" butonuna tıklayın
- Veya viewport'u 844x390 yapın
- Kontrol edin:
- Header compact
- Modal'lar scroll edilebilir
- İçerik görünür
5. Gerçek Cihazda Test
iPhone
- Safari'de siteyi açın
- Kontrol edin:
- Input'lara tıklayınca zoom olmuyor (font-size 16px+)
- Safe area (notch) doğru
- Scroll smooth
- Touch target'lar yeterli
Android
- Chrome'da siteyi açın
- Kontrol edin:
- Scroll smooth
- Touch target'lar yeterli
- Text okunabilir
Yaygın Sorunlar ve Çözümleri
Sorun: Yatay Taşma
Çözüm: overflow-x: hidden ve max-width: 100% eklendi
Sorun: Text Çok Büyük
Çözüm: Responsive text boyutları (h1: 30px, h2: 24px, h3: 20px)
Sorun: Butonlar Küçük
Çözüm: Minimum 44x44px touch target
Sorun: Dialog Ekran Dışına Taşıyor
Çözüm: max-width: calc(100vw - 2rem)
Sorun: Grid Responsive Değil
Çözüm: Mobilde 1 kolon grid
Sorun: Tablo Taşıyor
Çözüm: overflow-x: auto ile horizontal scroll
Hızlı Kontrol Listesi
Genel
- Yatay scroll yok (istenmeyen)
- Tüm text'ler okunabilir
- Butonlar dokunulabilir (44px+)
- Input'lar 44px+ yüksekliğinde
- Dialog'lar ekrana sığıyor
Sayfalar
- Home
- TripPlanner
- Explore
- Journal
- Admin Dashboard
Componentler
- Header - Mobile menu
- Footer - 1 kolon
- Button - 44px+
- Input - 44px+, 16px font
- Dialog - Responsive
- Table - Horizontal scroll
Performans Metrikleri
Hedef
- First Contentful Paint: < 1.8s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- First Input Delay: < 100ms
Test
# Lighthouse ile test
npm run build
npx serve -s dist
# Chrome DevTools > Lighthouse > Mobile
Notlar
- Tüm düzeltmeler
src/index.cssdosyasında - Responsive breakpoint: 768px
- Küçük mobil breakpoint: 430px
- Touch device detection:
(hover: none) and (pointer: coarse) - Safe area insets: iPhone notch desteği
Destek
Sorun bulursanız:
- Chrome DevTools Console'u kontrol edin
- Element'i inspect edin
- Computed styles'ı kontrol edin
MOBILE_FIX_SUMMARY.mddosyasına bakın