Klavyeyle bir alana gelmek pencere açmamalı, form göndermemeli, odağı taşımamalı. Ruhsat ve başvuru formlarından örnekler.
Klavye ve anahtar kullanıcıları sayfada Tab tuşuyla gezinir. Ekran okuyucu kullanıcıları da öyle yapar; fare kullanıcıları ise bir alana tıklayarak odak verir. Bütün bu durumlarda odak almak yalnızca "buradayım" demektir. WCAG 2.1, 3.2.1 başarı ölçütü, herhangi bir kullanıcı arayüzü bileşeni odak aldığında bağlam değişikliği başlatmamasını ister: yeni pencere yok, form gönderimi yok, odağın başka bir kontrole atlaması yok, yeni sayfaya gitme yok.
Bir kontrolü etkinleştirmek, örneğin düğmede Enter’a basmak, bağlamı meşru biçimde değiştirebilir. Bu başka kurallarla ilgilidir. Bu ölçüt yalnızca varış anıyla ilgilidir. Bağlamı değiştirmeden beliren içerik (araç ipucu, açılan menü, satır içi ipucu), odak da taşınmadıkça ihlal değildir.
Sık görülen örüntü, formları hızlandırmak için eklenen kolaylıklardır: odak alır almaz tam ekran bir katman açan arama kutusu, yardım penceresi açan bir posta kodu alanı ya da odak alır almaz odağı gün alanına iten bir ay alanı. Mahkeme e-başvurusunda ya da ruhsat formunda Tab ile ilerleyen kullanıcı için bunların her biri yolculuğu ele geçirir. Kural mobil uygulamadaki alanlar arası atlama için de aynen geçerlidir. İlgili: mobil uygulamalar ve Title II kuralı.
<input id="yolculuk-arama" onfocus="tamEkranAramaAc()"><input id="yolculuk-arama" aria-label="Durak ara">
<button type="button" id="aramayi-ac">Tam ekran aramayı aç</button>
<script>
document.getElementById("aramayi-ac")
.addEventListener("click", tamEkranAramaAc);
</script><input id="ruhsat-no" onfocus="window.open('/yardim/ruhsat-numarasi')"><label for="ruhsat-no">Ruhsat numarası</label>
<input id="ruhsat-no" aria-describedby="ruhsat-yardim">
<p id="ruhsat-yardim">Ruhsat kartının sağ üst köşesinde yazılıdır.
<a href="/yardim/ruhsat-numarasi" target="_blank" rel="noopener">Daha fazla yardım (yeni sekmede açılır)</a>
</p>ay.addEventListener("focus", () => gun.focus());<!-- Alanlar arasında kullanıcı kendisi geçsin -->
<label for="ay">Ay</label><input id="ay" inputmode="numeric">
<label for="gun">Gün</label><input id="gun" inputmode="numeric">
<label for="yil">Yıl</label><input id="yil" inputmode="numeric">// SwiftUI
@FocusState private var odak: Alan?
...
.onChange(of: odak) { yeni in
if yeni == .adres { tamEkranAramaGoster = true }
}// SwiftUI
TextField("Adres", text: $adres)
Button("Tam ekran aramayı aç") { tamEkranAramaGoster = true }// Jetpack Compose
OutlinedTextField(
value = sorgu, onValueChange = { sorgu = it },
modifier = Modifier.onFocusChanged {
if (it.isFocused) navController.navigate("arama")
}
)// Jetpack Compose
OutlinedTextField(value = sorgu, onValueChange = { sorgu = it })
TextButton(onClick = { navController.navigate("arama") }) {
Text("Tam ekran aramayı aç")
}onfocus, addEventListener("focus", focusin ve yerel kodda gezinen ya da odağı taşıyan odak değişimi geri çağrılarını arayın.Corpowid, dijital erişilebilirlik alanındaki yenilikçi yaklaşımı ve performansı nedeniyle dünyanın önde gelen araştırma ve danışmanlık şirketlerinden biri olan Gartner tarafından takdir edilmiştir. Bu rozetler, yapay zeka destekli ve kapsayıcı web deneyimleri oluşturma konusundaki kararlılığımızı yansıtmaktadır.