# Erişilebilir Web Sayfaları Oluşturma ![Erişilebilirlik Hakkında Her Şey](../../../../translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.tr.png) > Sketchnote: [Tomomi Imura](https://twitter.com/girlie_mac) ## Ders Öncesi Quiz [Ders öncesi quiz](https://ff-quizzes.netlify.app/web/) > Web'in gücü evrenselliğinde yatar. Engellilik durumuna bakılmaksızın herkesin erişimi temel bir unsurdur. > > \- Sir Timothy Berners-Lee, W3C Direktörü ve World Wide Web'in mucidi Sizi şaşırtabilecek bir şey: Erişilebilir web siteleri oluşturduğunuzda, sadece engelli bireylere yardımcı olmakla kalmaz, aynı zamanda web'i herkes için daha iyi hale getirirsiniz! Hiç sokak köşelerindeki kaldırım rampalarını fark ettiniz mi? Başlangıçta tekerlekli sandalyeler için tasarlandılar, ancak şimdi bebek arabası kullananlar, el arabası taşıyan kuryeler, tekerlekli bavul kullanan gezginler ve bisikletçiler için de faydalı oluyorlar. Erişilebilir web tasarımı tam olarak böyle çalışır—bir gruba yardımcı olan çözümler genellikle herkes için faydalı olur. Harika, değil mi? Bu derste, web'i nasıl herkes için çalışabilir hale getirebileceğimizi keşfedeceğiz. Web standartlarına zaten dahil edilmiş pratik teknikleri öğrenecek, test araçlarını kullanarak pratik yapacak ve erişilebilirliğin sitelerinizi tüm kullanıcılar için nasıl daha kullanışlı hale getirdiğini göreceksiniz. Bu dersin sonunda, erişilebilirliği geliştirme sürecinizin doğal bir parçası haline getirme konusunda kendinize güveniniz olacak. Düşünceli tasarım seçimlerinin web'i milyarlarca kullanıcıya nasıl açabileceğini keşfetmeye hazır mısınız? Haydi başlayalım! > Bu dersi [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon) üzerinden alabilirsiniz! ## Yardımcı Teknolojileri Anlamak Kodlamaya başlamadan önce, farklı yeteneklere sahip kişilerin web'i nasıl deneyimlediğini anlamak için bir an durup düşünelim. Bu sadece bir teori değil—bu gerçek dünya gezinme modellerini anlamak, sizi çok daha iyi bir geliştirici yapacak! Yardımcı teknolojiler, engelli bireylerin web siteleriyle etkileşim kurmasına yardımcı olan oldukça etkileyici araçlardır. Bu teknolojilerin nasıl çalıştığını kavradığınızda, erişilebilir web deneyimleri oluşturmak çok daha sezgisel hale gelir. Kodunuzu başkasının gözünden görmeyi öğrenmek gibi bir şey. ### Ekran okuyucular [Ekran okuyucular](https://en.wikipedia.org/wiki/Screen_reader), dijital metni konuşma veya Braille çıktısına dönüştüren oldukça sofistike teknolojilerdir. Genellikle görme engelli bireyler tarafından kullanılsa da, disleksi gibi öğrenme güçlüğü çeken kullanıcılar için de oldukça faydalıdır. Ekran okuyucuyu, size bir kitabı okuyan çok akıllı bir anlatıcı olarak düşünebilirsiniz. İçeriği mantıklı bir sırayla sesli olarak okur, "düğme" veya "bağlantı" gibi etkileşimli öğeleri duyurur ve bir sayfa içinde gezinmek için klavye kısayolları sağlar. Ancak işin püf noktası şu ki—ekran okuyucuların sihirlerini gerçekleştirebilmesi için web sitelerini doğru yapı ve anlamlı içerikle oluşturmamız gerekiyor. İşte burada devreye siz, geliştirici olarak giriyorsunuz! **Platformlar arası popüler ekran okuyucular:** - **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (ücretsiz ve en popüler), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (yerleşik) - **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (yerleşik ve oldukça yetenekli) - **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (yerleşik) - **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (ücretsiz ve açık kaynak) **Ekran okuyucuların web içeriğinde gezinme yöntemleri:** Ekran okuyucular, deneyimli kullanıcılar için gezinmeyi verimli hale getiren çeşitli gezinme yöntemleri sunar: - **Sıralı okuma**: İçeriği yukarıdan aşağıya doğru, bir kitap okur gibi okur - **Dönüm noktası navigasyonu**: Sayfa bölümleri arasında geçiş yapar (başlık, navigasyon, ana içerik, alt bilgi) - **Başlık navigasyonu**: Sayfa yapısını anlamak için başlıklar arasında atlama yapar - **Bağlantı listeleri**: Hızlı erişim için tüm bağlantıların bir listesini oluşturur - **Form kontrolleri**: Giriş alanları ve düğmeler arasında doğrudan gezinir > 💡 **Beni çok şaşırtan bir şey**: Ekran okuyucu kullanıcılarının %68'i öncelikle başlıklar aracılığıyla gezinir ([WebAIM Anketi](https://webaim.org/projects/screenreadersurvey9/#finding)). Bu, başlık yapınızın kullanıcılar için bir yol haritası gibi olduğu anlamına gelir—doğru yaptığınızda, insanların içeriğinizde daha hızlı yol bulmasına gerçekten yardımcı oluyorsunuz! ### Test İş Akışınızı Oluşturma İyi bir erişilebilirlik testi yapmak göz korkutucu olmak zorunda değil! Otomatik araçları (açık sorunları yakalamada harikalar) biraz manuel testle birleştirmek isteyeceksiniz. İşte, tüm gününüzü harcamadan en fazla sorunu yakalayabileceğiniz sistematik bir yaklaşım: **Temel manuel test iş akışı:** ```mermaid graph TD A[Start Testing] --> B{Keyboard Navigation} B --> C[Tab through all interactive elements] C --> D{Screen Reader Testing} D --> E[Test with NVDA/VoiceOver] E --> F{Zoom Testing} F --> G[Zoom to 200% and test functionality] G --> H{Color/Contrast Check} H --> I[Verify all text meets contrast ratios] I --> J{Focus Management} J --> K[Ensure focus indicators are visible] K --> L[Testing Complete] ``` **Adım adım test kontrol listesi:** 1. **Klavyeyle gezinme**: Sadece Tab, Shift+Tab, Enter, Space ve ok tuşlarını kullanın 2. **Ekran okuyucu testi**: NVDA, VoiceOver veya Narrator'ı etkinleştirin ve gözleriniz kapalı gezin 3. **Yakınlaştırma testi**: %200 ve %400 yakınlaştırma seviyelerinde test yapın 4. **Renk kontrastı doğrulama**: Tüm metin ve kullanıcı arayüzü bileşenlerini kontrol edin 5. **Odak göstergesi testi**: Tüm etkileşimli öğelerin görünür odak durumlarına sahip olduğundan emin olun ✅ **Lighthouse ile başlayın**: Tarayıcınızın Geliştirici Araçlarını açın, bir Lighthouse erişilebilirlik denetimi çalıştırın ve ardından sonuçları manuel test odak alanlarınızı yönlendirmek için kullanın. ### Yakınlaştırma ve büyütme araçları Telefonunuzda metin çok küçük olduğunda yakınlaştırma hareketi yapıyor veya parlak güneş ışığında dizüstü bilgisayar ekranınıza gözlerinizi kısıyor musunuz? Birçok kullanıcı, içeriği her gün okunabilir hale getirmek için büyütme araçlarına güveniyor. Bu, düşük görme yetisine sahip kişiler, yaşlılar ve dışarıda bir web sitesini okumaya çalışan herkes için geçerlidir. Modern yakınlaştırma teknolojileri, sadece şeyleri büyütmekten çok daha fazlasını yapıyor. Bu araçların nasıl çalıştığını anlamak, her büyütme seviyesinde işlevsel ve çekici kalan duyarlı tasarımlar oluşturmanıza yardımcı olacaktır. **Modern tarayıcı yakınlaştırma özellikleri:** - **Sayfa yakınlaştırma**: Tüm içeriği orantılı olarak ölçeklendirir (metin, resimler, düzen) - tercih edilen yöntem budur - **Sadece metin yakınlaştırma**: Yazı tipi boyutunu artırır, ancak orijinal düzeni korur - **Yakınlaştırma hareketi**: Geçici büyütme için mobil hareket desteği - **Tarayıcı desteği**: Tüm modern tarayıcılar, işlevselliği bozmadan %500'e kadar yakınlaştırmayı destekler **Özel büyütme yazılımları:** - **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (yerleşik), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) - **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (yerleşik ve gelişmiş özelliklere sahip) > ⚠️ **Tasarım Düşüncesi**: WCAG, içeriğin %200'e kadar yakınlaştırıldığında işlevsel kalmasını gerektirir. Bu seviyede yatay kaydırma minimum olmalı ve tüm etkileşimli öğeler erişilebilir kalmalıdır. ✅ **Duyarlı tasarımınızı test edin**: Tarayıcınızı %200 ve %400'e yakınlaştırın. Düzeniniz zarif bir şekilde uyum sağlıyor mu? Aşırı kaydırma olmadan tüm işlevselliğe hala erişebiliyor musunuz? ## Modern Erişilebilirlik Test Araçları Artık insanların yardımcı teknolojilerle web'de nasıl gezindiğini anladığınıza göre, erişilebilir web siteleri oluşturmanıza ve test etmenize yardımcı olacak araçları keşfedelim. Bunu şöyle düşünebilirsiniz: Otomatik araçlar açık sorunları yakalamada harikadır (örneğin eksik alt metin), manuel test ise sitenizin gerçek dünyada kullanımı iyi hissettirdiğinden emin olmanıza yardımcı olur. Birlikte, sitelerinizin herkes için çalıştığından emin olmanızı sağlar. ### Renk kontrastı testi İyi haber: Renk kontrastı en yaygın erişilebilirlik sorunlarından biridir, ancak düzeltmesi en kolay olanlardan biridir. İyi kontrast, görme engelli kullanıcılardan plajda telefonlarını okumaya çalışan insanlara kadar herkes için faydalıdır. **WCAG kontrast gereksinimleri:** | Metin Türü | WCAG AA (Minimum) | WCAG AAA (Gelişmiş) | |------------|-------------------|---------------------| | **Normal metin** (18pt altı) | 4.5:1 kontrast oranı | 7:1 kontrast oranı | | **Büyük metin** (18pt+ veya 14pt+ kalın) | 3:1 kontrast oranı | 4.5:1 kontrast oranı | | **UI bileşenleri** (düğmeler, form kenarları) | 3:1 kontrast oranı | 3:1 kontrast oranı | **Temel test araçları:** - [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - Renk seçici ile masaüstü uygulaması - [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - Anında geri bildirim sağlayan web tabanlı araç - [Stark](https://www.getstark.co/) - Figma, Sketch, Adobe XD için tasarım aracı eklentisi - [Accessible Colors](https://accessible-colors.com/) - Erişilebilir renk paletleri bulun ✅ **Daha iyi renk paletleri oluşturun**: Marka renklerinizle başlayın ve erişilebilir varyasyonlar oluşturmak için kontrast kontrol araçlarını kullanın. Bunları tasarım sisteminizin erişilebilir renk belirteçleri olarak belgeleyin. ### Kapsamlı erişilebilirlik denetimi En etkili erişilebilirlik testi, birden fazla yaklaşımı birleştirir. Tek bir araç her şeyi yakalayamaz, bu nedenle çeşitli yöntemlerle bir test rutini oluşturmak kapsamlı bir kapsama sağlar. **Tarayıcı tabanlı test (Geliştirici Araçlarına entegre):** - **Chrome/Edge**: Lighthouse erişilebilirlik denetimi + Erişilebilirlik paneli - **Firefox**: Ayrıntılı ağaç görünümü ile Erişilebilirlik Denetleyicisi - **Safari**: Web Denetleyicisi'ndeki Denetim sekmesi ile VoiceOver simülasyonu **Profesyonel test eklentileri:** - [axe DevTools](https://www.deque.com/axe/devtools/) - Endüstri standardı otomatik test - [WAVE](https://wave.webaim.org/extension/) - Hata vurgulama ile görsel geri bildirim - [Accessibility Insights](https://accessibilityinsights.io/) - Microsoft'un kapsamlı test paketi **Komut satırı ve CI/CD entegrasyonu:** - [axe-core](https://github.com/dequelabs/axe-core) - Otomatik test için JavaScript kütüphanesi - [Pa11y](https://pa11y.org/) - Komut satırı erişilebilirlik test aracı - [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - Otomatik erişilebilirlik puanlama > 🎯 **Test Hedefi**: Lighthouse erişilebilirlik puanınızı 95+ olarak belirleyin. Unutmayın, otomatik araçlar erişilebilirlik sorunlarının yalnızca %30-40'ını yakalar—manuel test hala gereklidir! ## Erişilebilirliği Baştan İnşa Etmek Erişilebilirlik başarısının anahtarı, bunu en baştan temelinize dahil etmektir. "Erişilebilirliği sonra eklerim" diye düşünmek cazip gelebilir, ancak bu, bir ev inşa edildikten sonra bir rampa eklemeye çalışmak gibidir. Mümkün mü? Evet. Kolay mı? Pek değil. Erişilebilirliği bir ev planlamak gibi düşünün—tekerlekli sandalye erişimini ilk mimari planlarınıza dahil etmek, her şeyi sonradan uyarlamaktan çok daha kolaydır. ### POUR prensipleri: Erişilebilirlik temeliniz Web İçeriği Erişilebilirlik Yönergeleri (WCAG), POUR olarak adlandırılan dört temel ilke etrafında şekillenmiştir. Endişelenmeyin—bunlar sıkıcı akademik kavramlar değil! Aslında herkes için çalışan içerikler oluşturmak için pratik rehberlerdir. POUR'u kavradığınızda, erişilebilirlik kararları almak çok daha sezgisel hale gelir. Tasarım seçimlerinizi yönlendiren zihinsel bir kontrol listesi gibi. Hadi bunu parçalayalım: **🔍 Algılanabilir**: Bilgi, kullanıcıların mevcut duyuları aracılığıyla algılayabileceği şekilde sunulmalıdır - Metin olmayan içerik için metin alternatifleri sağlayın (resimler, videolar, ses) - Tüm metin ve kullanıcı arayüzü bileşenleri için yeterli renk kontrastı sağlayın - Multimedya içerik için altyazılar ve transkriptler sunun - İçeriğin %200'e kadar yeniden boyutlandırıldığında işlevsel kalmasını sağlayın - Bilgi iletmek için yalnızca renk değil, birden fazla duyusal özellik kullanın **🎮 İşlenebilir**: Tüm arayüz bileşenleri mevcut giriş yöntemleriyle işlenebilir olmalıdır - Tüm işlevselliği klavye navigasyonu ile erişilebilir hale getirin - Kullanıcılara içeriği okumak ve etkileşimde bulunmak için yeterli zaman sağlayın - Nöbet veya vestibüler bozukluklara neden olan içerikten kaçının - Kullanıcılara açık yapı ve dönüm noktaları ile verimli bir şekilde gezinmelerine yardımcı olun - Etkileşimli öğelerin yeterli hedef boyutlarına sahip olduğundan emin olun (minimum 44px) **📖 Anlaşılabilir**: Bilgi ve kullanıcı arayüzü işlemi açık ve anlaşılır olmalıdır - Hedef kitlenize uygun açık, basit bir dil kullanın - İçeriğin öngörülebilir, tutarlı şekillerde görünmesini ve çalışmasını sağlayın - Kullanıcı girdisi için açık talimatlar ve hata mesajları sağlayın - Kullanıcıların formlarda hataları anlamalarına ve düzeltmelerine yardımcı olun - İçeriği mantıklı bir okuma sırası ve bilgi hiyerarşisi ile düzenleyin **💪 Sağlam**: İçerik, farklı teknolojiler ve yardımcı cihazlar arasında güvenilir bir şekilde çalışmalıdır - Temeliniz olarak geçerli, anlamsal HTML kullanın - Mevcut ve gelecekteki yardımcı teknolojilerle uyumluluğu sağlayın - İşaretleme için web standartlarını ve en iyi uygulamaları takip edin - Farklı tarayıcılar, cihazlar ve yardımcı araçlar arasında test yapın - Gelişmiş özellikler desteklenmediğinde içeriğin zarif bir şekilde bozulmasını sağlayın ## Erişilebilir Görsel Tasarım Oluşturma İyi görsel tasarım ve erişilebilirlik el ele gider. Erişilebilirliği göz önünde bulundurarak tasarım yaptığınızda, genellikle bu kısıtlamaların herkes için faydalı olan daha temiz, daha zarif çözümler sunduğunu keşfedersiniz. Hadi görsel yeteneklerinden bağımsız olarak herkes için çalışan görsel olarak çekici tasarımlar oluşturmayı keşfedelim. ### Renk ve görsel erişilebilirlik stratejileri Renk iletişimde güçlüdür, ancak önemli bilgileri iletmenin tek yolu olmamalıdır. Renk dışında tasarım yapmak, daha sağlam ve kapsayıcı deneyimler yaratır ve daha fazla durumda işe yarar. **Renk görme farklılıkları için tasarım yapın:** Yaklaşık %8 erkek ve %0.5 kadın, bir tür renk görme farklılığına (genellikle "renk körlüğü" olarak adlandırılır) sahiptir. En yaygın türler şunlardır: - **Deuteranopi**: Kırmızı ve yeşili ayırt etmede zorluk - **Protanopi**: Kırmızı daha soluk görünür - **Tritanopi**: Mavi ve sarı ile ilgili zorluk (nadir) **Kapsayıcı renk stratejileri:** ```css /* ❌ Bad: Using only color to indicate status */ .error { color: red; } .success { color: green; } /* ✅ Good: Color plus icons and context */ .error { color: #d32f2f; border-left: 4px solid #d32f2f; } .error::before { content: "⚠️"; margin-right: 8px; } .success { color: #2e7d32; border-left: 4px solid #2e7d32; } .success::before { content: "✅"; margin-right: 8px; } ``` **Temel kontrast gereksinimlerinin ötesinde:** - Renk seçimlerinizi renk körlüğü simülatörleriyle test edin - Renk kodlamasının yanında desenler, dokular veya şekiller kullanın - Etkileşimli durumların renk olmadan da ayırt edilebilir olmasını sağlayın - Tasarımınızın yüksek kontrast modunda nasıl göründüğünü düşünün ✅ **Renk erişilebilirliğinizi test edin**: Sitenizin farklı renk görme türlerine sahip kullanıcılar için nasıl göründüğünü görmek için [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) gibi araçlar kullanın. ### Odak göstergeleri ve etkileşim tasarımı Odak göstergeleri, dijital dünyada bir imlecin eşdeğeridir—klavye kullanıcılarına sayfada nerede olduklarını gösterir. İyi tasarlanmış odak göstergeleri, etkileşimleri net ve tahmin edilebilir hale getirerek herkes için deneyimi geliştirir. **Modern odak göstergesi en iyi uygulamaları:** ```css /* Enhanced focus styles that work across browsers */ button:focus-visible { outline: 2px solid #0066cc; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25); } /* Remove focus outline for mouse users, preserve for keyboard users */ button:focus:not(:focus-visible) { outline: none; } /* Focus-within for complex components */ .card:focus-within { box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5); border-color: #4A90A4; } /* Ensure focus indicators meet contrast requirements */ .custom-focus:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 6px #000000; } ``` **Odak göstergesi gereksinimleri:** - **Görünürlük**: Çevresindeki öğelerle en az 3:1 kontrast oranına sahip olmalıdır - **Genişlik**: Tüm öğe etrafında minimum 2px kalınlık - **Süreklilik**: Odak başka bir yere kayana kadar görünür kalmalıdır - **Ayırt edilebilirlik**: Diğer kullanıcı arayüzü durumlarından görsel olarak farklı olmalıdır > 💡 **Tasarım İpucu**: Harika odak göstergeleri genellikle görünürlüğü farklı arka planlar ve bağlamlar arasında sağlamak için kontur, kutu gölgesi ve renk değişikliklerinin bir kombinasyonunu kullanır. ✅ **Odak göstergelerini denetleyin**: Web sitenizde sekme tuşuyla gezinin ve hangi öğelerin net odak göstergelerine sahip olduğunu not edin. Görülmesi zor veya tamamen eksik olan var mı? ### Semantik HTML: Erişilebilirliğin temeli Semantik HTML, web siteniz için yardımcı teknolojilere bir GPS sistemi vermek gibidir. HTML öğelerini amaçlarına uygun şekilde kullandığınızda, ekran okuyucular, klavyeler ve diğer araçlara kullanıcıların etkili bir şekilde gezinmesine yardımcı olacak ayrıntılı bir yol haritası sağlamış olursunuz. Bunu gerçekten anlamamı sağlayan bir benzetme: Semantik HTML, net kategoriler ve yardımcı işaretlerle düzenlenmiş bir kütüphane ile kitapların rastgele dağınık olduğu bir depo arasındaki fark gibidir. Her iki yerde de aynı kitaplar var, ancak hangisinde bir şey bulmayı tercih edersiniz? Aynen öyle! **Erişilebilir sayfa yapısının yapı taşları:** ```html

Your Site Name

Article Title

Published on

First Section

Content that relates to this section...

Second Section

More related content...

``` **Semantik HTML'nin erişilebilirliği nasıl dönüştürdüğü:** | Semantik Eleman | Amaç | Ekran Okuyucu Faydası | |------------------|---------|----------------------| | `
` | Sayfa veya bölüm başlığı | "Banner landmark" - hızlı bir şekilde en üste gitme | | `