Angular Aria
Angular Aria Nedir?
Erişilebilir bileşenler oluşturmak basit görünse de, bunları W3C Erişilebilirlik Yönergelerine göre uygulamak önemli çaba ve erişilebilirlik uzmanlığı gerektirir.
Angular Aria, yaygın WAI-ARIA kalıplarını uygulayan başlıksız (headless), erişilebilir yönergeler koleksiyonudur. Yönergeler klavye etkileşimlerini, ARIA niteliklerini, odak yönetimini ve ekran okuyucu desteğini ele alır. Tek yapmanız gereken HTML yapısını, CSS stilini ve iş mantığını sağlamaktır!
Kurulum
Vitrin
Örneğin, bir araç çubuğu menüsünü ele alalım. Belirli bir mantıkla bağlanmış "basit" bir buton satırı gibi görünse de, klavye navigasyonu ve ekran okuyucuları, erişilebilirliğe aşina olmayanlar için birçok beklenmedik karmaşıklık ekler.
Bu tek senaryoda geliştiricilerin dikkate alması gerekenler:
- Klavye navigasyonu. Kullanıcıların menüyü Enter veya Boşluk ile açması, seçenekler arasında ok tuşlarıyla gezinmesi, Enter ile seçmesi ve Escape ile kapatması gerekir.
- Ekran okuyucuların menünün durumunu, seçenek sayısını ve hangi seçeneğin odakta olduğunu duyurması gerekir.
- Odak yönetimi tetikleyici ve menü öğeleri arasında mantıksal olarak hareket etmelidir.
- Sağdan sola diller ters yönde gezinme yeteneğini gerektirir.
Neler dahil?
Angular Aria, yaygın etkileşimli kalıplar için kapsamlı dokümantasyon, çalışan örnekler ve API referansları ile yönergeler içerir:
Arama ve seçim
| Component | Description |
|---|---|
| Autocomplete | Kullanıcılar yazarken filtrelenmiş önerilerin göründüğü metin girişi |
| Listbox | Klavye navigasyonu ile tekli veya çoklu seçim seçenek listeleri |
| Select | Klavye navigasyonu ile tek seçimli açılır menü kalıbı |
| Multiselect | Kompakt görüntüyle çoklu seçimli açılır menü kalıbı |
| Combobox | Bir metin girişi ile bir açılır pencereyi koordine eden temel yönerge |
Navigasyon ve eylem çağrıları
| Component | Description |
|---|---|
| Menu | İç içe alt menüler ve klavye kısayolları ile açılır menüler |
| Menubar | Kalıcı uygulama menüleri için yatay navigasyon çubuğu |
| Toolbar | Mantıksal klavye navigasyonu ile gruplandırılmış kontrol kümeleri |
İçerik düzenleme
| Component | Description |
|---|---|
| Accordion | Tek tek veya özel olarak genişleyebilen daraltılabilir içerik panelleri |
| Tabs | Otomatik veya manuel etkinleştirme modlarıyla sekmeli arayüzler |
| Tree | Genişletme/daraltma işlevi ile hiyerarşik listeler |
| Grid | Hücre hücre klavye navigasyonu ile iki boyutlu veri gösterimi |
Angular Aria ne zaman kullanılır
Angular Aria, özel stilleme ile WCAG uyumlu erişilebilir etkileşimli bileşenlere ihtiyaç duyduğunuzda iyi çalışır. Örnekler:
- Bir tasarım sistemi oluşturmak - Ekibiniz, erişilebilir uygulamalara ihtiyaç duyan belirli görsel standartlara sahip bir bileşen kütüphanesi yönetiyorsa
- Kurumsal bileşen kütüphaneleri - Bir organizasyon içindeki birden fazla uygulama için yeniden kullanılabilir bileşenler oluşturuyorsanız
- Özel marka gereksinimleri - Arayüzün, önceden stillendirilmiş bileşen kütüphanelerinin kolayca karşılayamayacağı hassas tasarım özelliklerine uyması gerekiyorsa
Angular Aria ne zaman kullanılmaz
Angular Aria her senaryoya uymayabilir:
- Önceden stillendirilmiş bileşenler - Özel stilleme olmadan eksiksiz görünen bileşenlere ihtiyacınız varsa, bunun yerine Angular Material kullanın
- Basit formlar -
<button>ve<input type="radio">gibi yerel HTML form kontrolleri basit kullanım durumları için yerleşik erişilebilirlik sağlar - Hızlı prototipleme - Kavramları hızla doğrularken, önceden stillendirilmiş bileşen kütüphaneleri ilk geliştirme süresini azaltır
Sonraki adımlar
Yan navigasyondan veya yukarıdaki listeden bir bileşene göz atın veya Angular Aria yönergelerinin nasıl çalıştığının tam bir örneğini görmek için Toolbar ile başlayın!