Tek karakterli kısayolların kapatılabilmesini, bir değiştirici tuşla yeniden eşlenebilmesini ya da yalnızca odakta etkin olmasını ister.
Arama için "S" ya da sonraki için "J" gibi tek tuşlu kısayollar klavye kullanıcıları için bir armağan olabilir, ama konuşma tanıma kullanan kişiler için, çünkü söylenen sözcükler onları yanlışlıkla tetikleyebilir, ve tuşlara kazara basanlar için ciddi sorun yaratır.
Bu kriter, bir klavye kısayolu yalnızca harf, noktalama işareti, rakam ya da simgelerden oluşuyorsa şu üç şeyden en az birinin doğru olmasını ister: kapatılabilir, bir değiştirici tuş içerecek biçimde yeniden eşlenebilir ya da yalnızca ait olduğu bileşen odaktayken etkindir.
Söylenen sözcükleri tek tuşlu kısayolları yanlışlıkla tetikleyebilen konuşma tanıma kullanıcıları. Tuşlara istemeden basan motor engelli ve titremesi olan kişiler. Tek harfli gezinme tuşları bir uygulama kısayoluyla çakışabilen ekran okuyucu kullanıcıları.
Avrupa Erişilebilirlik Yasası (Direktif (AB) 2019/882) 28 Haziran 2025'ten sonra piyasaya sunulan kapsamdaki ürün ve hizmetler için geçerlidir. Yasanın 47. gerekçesi web siteleri ve mobil uygulamalar için dört ilkeyi sayar: algılanabilirlik, işletilebilirlik, anlaşılabilirlik ve sağlamlık. Öngörülebilir klavye kısayolları, "işletilebilirlik" ilkesinin parçasıdır.
Teknik karşılığı EN 301 549 standardında bulunur. Standart, WCAG 2.1.4'i atıfla alır ve ortama göre ayrı maddelere dönüştürür.
| Madde | Ortam | Ne ister? |
|---|---|---|
| 9.2.1.4 | Web sayfaları | Web içeriğinin WCAG 2.1.4 kriterini karşılamasını ister. |
| 10.2.1.4 | Web dışı dokümanlar (PDF, Office dosyaları) | Standardın uyguladığı hâllerde dokümanların aynı kısayol kuralını karşılamasını ister. |
| 11.2.1.4 | Web dışı yazılım (yerel mobil uygulamalar) | Tek karakterli kısayolları olan yazılımın, kullanıcıların bunları kapatmasına, yeniden eşlemesine ya da odakla sınırlamasına izin vermesini ister. |
Kriterin web dışı dokümanlara uygulanıp uygulanmadığı ve nasıl uygulandığı standardın 10. maddesinde belirtilir. Madde numaraları EN 301 549'un "9. + WCAG numarası" düzenine göredir. V3.2.1'de yazılım maddesi, açık ve kapalı işlevsellik için ayrı alt maddelere bölünmüştür. Kaynak gösterirken tam numaraları standarttan kontrol edin.
Standart sürümü: EN 301 549 V4.1.1 (Eylül 2026), WCAG 2.2'yi esas alan ve EAA için hazırlanan ilk sürümdür. Henüz AB Resmî Gazetesi'nde atıf almamıştır; bu nedenle EAA gereksinimlerini karşılamanın gönüllü teknik yolu olarak görülmelidir. Atıf yapıldığında EAA ile ilgili uygunluk karinesi sağlayacaktır. 2.1.4 kriterinin metni WCAG 2.1 ve 2.2'de aynıdır.
EAA bağlamında dikkat: Yasanın Madde 2/4 hükmü bazı içerikleri gereksinimlerin dışında bırakır; örneğin 28 Haziran 2025'ten önce yayımlanmış ofis dosya biçimleri ve bu tarihten sonra güncellenmeyen arşivler. Bu tarihten sonra yayımladığınız ya da değiştirdiğiniz içerik bu istisnaların kapsamında değildir.
Directive (EU) 2019/882, EUR-Lex, İngilizce, yeni sekmede açılır
Tüm belgeye bağlı, çıplak bir harfe yanıt veren bir dinleyici tipik ihlaldir.
document.addEventListener("keydown", e => {
if (e.key === "s") aramaAc();
});document.addEventListener("keydown", e => {
if (e.key === "s" && e.ctrlKey) { e.preventDefault(); aramaAc(); }
});Tek tuşlu kısayolları devre dışı bırakan bir ayar kriteri karşılar.
// Kısayollar her zaman açık<label>
<input type="checkbox" id="kisayollar" checked>
Tek tuşlu kısayolları etkinleştir
</label>
<script>
document.addEventListener("keydown", e => {
if (!kisayollar.checked) return;
if (e.key === "s") aramaAc();
});
</script>Kısayolu denetlediği bileşenle sınırlayın.
document.addEventListener("keydown", e => { if (e.key === "j") sonraki(); });liste.addEventListener("keydown", e => {
if (e.key === "j") sonraki(); // yalnızca liste odaktayken çalışır
});Kullanıcı bir girdiye yazarken kısayol hiçbir zaman tetiklenmemelidir.
document.addEventListener("keydown", e => { if (e.key === "c") yaz(); });document.addEventListener("keydown", e => {
const t = e.target;
if (t.matches("input, textarea, select, [contenteditable]")) return;
if (e.key === "c" && e.altKey) yaz();
});Kullanıcıların kendi tuş birleşimlerini seçmesine izin verin.
const tus = "s"; // sabit kodlanmışconst tus = ayarlar.get("aramaTusu") ?? "Ctrl+S";
// Bir ayarlar sayfası kullanıcıların bunu değiştirmesine izin veriraccesskey özniteliği tarayıcıya özgü bir değiştirici kullanır, ama düz bir harf yine de yardımcı teknolojiyle çakışabilir. Az kullanın ve belgeleyin.
<a href="/ara" accesskey="s">Ara</a><a href="/ara">Ara</a> <!-- ya da belgelenmiş, yeniden eşlenebilir bir kısayol -->Donanım klavyesiyle kullanılan yerel uygulamalarda Command ya da Control gibi değiştiricili kısayollar kullanın ve tek tuşlu eylemleri odaktaki kontrolle sınırlayın.
import SwiftUI
struct AramaDugmesi: View {
var body: some View {
// Kaçının: değiştiricisiz çıplak bir "s"
// .keyboardShortcut("s", modifiers: [])
// Bir değiştirici bunu bilinçli bir komut yapar
Button("Ara") { aramaAc() }
.keyboardShortcut("f", modifiers: .command)
}
}import androidx.compose.ui.Modifier
import androidx.compose.ui.input.key.*
// Kaçının: ekranın herhangi bir yerinde çıplak bir harfe yanıt vermek
fun Modifier.aramaKisayolu(onArama: () -> Unit): Modifier =
this.onKeyEvent { event ->
// Bir değiştirici bunu bilinçli bir komut yapar
if (event.type == KeyEventType.KeyDown && event.isCtrlPressed && event.key == Key.F) {
onArama(); true
} else false
}document ya da window üzerinde değiştirici denetimi olmayan keydown ve keypress dinleyicilerini arayın.accesskey kullanımını abartmak: Yardımcı teknolojiyle çakışabilir.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.