Mobil Klavye Navigasyonu: Android ve iOS Uygulamalarında Klavye Desteği Nasıl Sağlanır?

Mobil klavye navigasyonu, kullanıcıların bir uygulamayı dokunma yerine harici bir klavyeyle kullanabilmesini sağlar. Bunu desteklemek için her etkileşimli öğeye ulaşılabilmeli, odak mantıklı bir sırayla ilerlemeli ve kullanıcılar hangi öğenin odakta olduğunu her an görebilmelidir. Bu, Bluetooth veya USB klavye bağlayan kişiler ve cihazları aynı odak sistemini kullanan anahtar (switch) kullanıcıları için önemlidir. Aynı zamanda mobil uygulamalar için WCAG gerekliliklerinin de temel bir parçasıdır.
Temel uygulamalar:
- Klavye desteği yerleşik olarak gelen standart platform bileşenlerini kullanın.
- Formlar, menüler ve diyaloglar için mantıklı bir odak sırası belirleyin.
- Özel kontrolleri odaklanabilir hale getirin ve onlara görünür bir odak durumu verin.
- Kritik akışları gerçek cihazlarda fiziksel bir klavyeyle test edin.
Mobil Klavye Navigasyonu Erişilebilirliği Nedir?
Mobil klavye navigasyonu erişilebilirliği, bir mobil uygulamanın veya web sitesinin dokunmaya ihtiyaç duymadan tamamen klavyeyle kullanılabilmesi demektir. WCAG 2.1.1 Klavye kriteri, tüm işlevlerin klavye arayüzü üzerinden çalışmasını şart koşar. 2.1.2 Klavye Tuzağı Olmaması kriteri ise odağın her bileşenden her zaman ayrılabilmesini ister. Görünür odak (2.4.7) ve mantıklı odak sırası (2.4.3) da bu navigasyonu pratikte kullanılabilir kılar.
Mobil Cihazlarda Klavye Navigasyonuna Kimler İhtiyaç Duyar?
Birçok kullanıcı grubu klavye erişimine ihtiyaç duyar:
- Motor engelli kişiler: Hassas dokunma hareketlerini zor bulup bunun yerine harici klavye kullananlar.
- Anahtar kullanıcıları: Android Switch Access ve iOS Switch Control, klavyenin kullandığı odaklanabilir öğeler üzerinde hareket eder.
- Ekran okuyucu kullanıcıları: TalkBack veya VoiceOver’ı bir klavyeyle birlikte kullananlar.
- Tablet ve Chromebook kullanıcıları: Verimli çalışmak için cihazlarına klavye bağlayanlar.
Klavye desteği başarısız olduğunda, bu kullanıcıların hepsi aynı noktada takılabilir.
Android Uygulamalarında Fiziksel Klavye Navigasyonu Nasıl Çalışır?
Android, kullanıcıların Bluetooth veya USB klavye bağlayıp odağı etkileşimli öğeler arasında taşımasına olanak tanır. Sistem, standart kontroller için odağı otomatik olarak yönetir. Geliştiriciler ise özel arayüzler için bu davranışı düzenleyebilir. Android’in yönergeleri, ana görev akışlarının Tab ve ok tuşlarıyla test edilmesini ve net, görünür bir odak durumu sunulmasını önerir.
Android Uygulamaları Hangi Klavye Kontrollerini Desteklemeli?
Android uygulamaları, kullanıcıların odağı taşımak ve kontrolleri etkinleştirmek için beklediği tuşları desteklemelidir:
| Klavye KontrolüAndroid Uygulamalarında KullanımıTemel Kaynaklar | ||
| Tab / Shift + Tab | Odaklanabilir öğeler arasında ileri veya geri gitme | Android klavye navigasyonu yönergeleri |
| Ok tuşları | Özellikle liste ve ızgaralarda kontroller arasında hareket etme | Android Developers |
| Enter | Girişi onaylama veya odaktaki kontrolü etkinleştirme | Android giriş uyumluluğu yönergeleri |
| Boşluk tuşu | Kontrolleri etkinleştirme veya medyayı oynatma/duraklatma | Android Developers |
| Escape | Diyalogları, menüleri veya geçici durumları kapatma | Yaygın kullanım; davranış uygulamaya uygun olmalı |
| D-pad | TV’lerde ve bazı cihazlarda yukarı, aşağı, sola ve sağa gezinme | Android yönlü navigasyon yönergeleri |
| Klavye kısayolları | Sık yapılan işlemleri hızlandırma | WCAG 2.1.4 Karakter Tuşu Kısayolları |
İpucu: Android’in yerleşik odak davranışıyla başlayın. Kısayolları yalnızca gerçekten fayda sağladıkları yerlere ekleyin. WCAG 2.1.4'ün gerektirdiği gibi, kullanıcıların kapatamayacağı tek karakterli kısayollardan kaçının.
iOS Uygulamalarında Klavye Navigasyonu Nasıl Çalışır?
iPhone ve iPad’de Tam Klavye Erişimi (Full Keyboard Access), kullanıcıların bağlı bir klavyeyle uygulamalarda gezinmesini ve onları kontrol etmesini sağlar. Kullanıcılar bu özelliği cihazın erişilebilirlik ayarlarından açar ve ardından Tab ve ok tuşlarıyla öğeler arasında hareket eder. Standart UIKit ve SwiftUI kontrolleri bu özelliği varsayılan olarak destekler. Özel kontrollerin ise odaklanabilir olması ve net bir erişilebilirlik etiketi sunması gerekir. Böylece odak göstergesi doğru öğeye gelir ve kullanıcılar neyi etkinleştirdiklerini bilir.
Bir Mobil Uygulamada Klavye Navigasyonu Nasıl Test Edilir?
Test, otomatik kontrolleri klavyeyle yapılan uygulamalı testlerle birleştirir, çünkü otomatik araçlar odak sırasının mantıklı olup olmadığını değerlendiremez. Harici bir klavye bağlayın ve giriş, arama, ödeme gibi her kritik akışı yalnızca klavyeyle tamamlayın. Android’de otomatik kontroller, kullanıcı arayüzü testleri sırasında Espresso AccessibilityChecks veya Compose erişilebilirlik kontrolleriyle çalıştırılabilir.
| Test AlanıNeyi Kontrol EtmeliTemel Kaynaklar | ||
| Erişilebilirlik | Her etkileşimli kontrol odak alabiliyor | WCAG 2.1.1 Klavye |
| Odak sırası | Odak mantıklı bir sırayı izliyor | WCAG 2.4.3 Odak Sırası |
| Odak görünürlüğü | Odaktaki öğe her zaman açıkça işaretli | WCAG 2.4.7 Görünür Odak |
| Tuzak olmaması | Odak menülerden, diyaloglardan ve özel bileşenlerden her zaman çıkabiliyor | WCAG 2.1.2 Klavye Tuzağı Olmaması |
| Otomatik kontroller | Kullanıcı arayüzü testleri yaygın sorunları erken tespit ediyor | Espresso AccessibilityChecks; Compose erişilebilirlik kontrolleri |
| Gerçek cihazlar | Kritik akışlar Android ve iOS’ta harici klavyeyle çalışıyor | Android ve Apple test yönergeleri |
Mobil Uygulamalarda Sık Görülen Klavye Navigasyonu Sorunları Nelerdir ve Nasıl Düzeltilir?
Mobil uygulamalardaki klavye sorunlarının çoğu, platformun yerleşik davranışını atlayan özel bileşenlerden kaynaklanır:
| SorunNe OlurNasıl Düzeltilir | ||
| Odaklanamayan özel kontroller | Özel butonlara veya anahtarlara ulaşılamaz | Standart bileşenleri kullanın ya da özel bileşenleri rol ve etiketle odaklanabilir yapın |
| Yanlış odak sırası | Odak ilgisiz kontroller arasında atlar | Sırayı nextFocus* öznitelikleri veya Compose focusProperties ile belirleyin |
| Eksik odak göstergesi | Kullanıcılar nerede olduklarını göremez | Yeterli kontrasta sahip net bir odak durumu ekleyin |
| Klavye tuzakları | Odak bir diyaloğa veya menüye girer ve çıkamaz | Escape veya Geri tuşunu destekleyin, kapanınca odağı tetikleyen öğeye döndürün |
| Yalnızca dokunmayla yapılan işlemler | Kaydırma veya uzun basma işlemlerinin klavye karşılığı yoktur | Aynı işlem için bir buton veya menü seçeneği sunun |
| Tutarsız ok tuşu hareketi | Ok tuşları veya D-pad ızgaralarda öngörülemeyen şekilde atlar | Yönlü odak hedeflerini açıkça belirleyin |
Örnek: Bir alışveriş uygulamasında kullanıcı ürün listesine klavyeyle ulaşabiliyor, ancak özel bir filtre panelinde takılıp kalıyor. Paneli odaklanabilir yapmak ve Escape tuşuyla kapanmasını sağlamak, satın alma sürecinin klavyeyle erişilebilir kalmasını sağlar.
Mobil Klavye Navigasyonu Hakkında Sıkça Sorulan Sorular
WCAG mobil uygulamalarda klavye desteğini zorunlu tutuyor mu?
Evet. WCAG 2.1.1 Klavye kriteri mobil uygulamalar için de geçerlidir. W3C’nin taslak WCAG2Mobile notu, bu kriterin harici klavye ve anahtar erişimi olan cihazlara nasıl uygulandığını açıklar. Bu nedenle ADA Title II gibi uygulamalar için WCAG’ı referans alan düzenlemeler klavye desteğini de kapsar.
Android’de klavye navigasyonu nasıl test edilir?
Bluetooth veya USB bir klavye bağlayın, ardından temel görevleri Tab, ok tuşları, Enter ve Escape ile tamamlayın. Odağın her zaman görünür olduğunu, mantıklı bir sırayı izlediğini ve hiçbir yerde sıkışıp kalmadığını kontrol edin. Otomatik kapsam için kullanıcı arayüzü testlerinize Espresso veya Compose erişilebilirlik kontrollerini ekleyin.
iOS’ta Tam Klavye Erişimi nedir?
Tam Klavye Erişimi (Full Keyboard Access), kullanıcıların cihazlarını ve uygulamalarını bağlı bir klavyeyle kontrol etmesini sağlayan bir iOS ve iPadOS erişilebilirlik özelliğidir. Cihazın erişilebilirlik ayarlarından açılır. Standart UIKit ve SwiftUI kontrolleri bu özelliği otomatik olarak destekler.

