WCAG 2.1.4 · A Seviyesi · EN 301 549 9.2.1.4

Karakter Tuşu Kısayolları

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.

Kısaca

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.

Neleri kapsar?

  • Neleri kapsar: Shift ile ya da Shift olmadan tek bir yazdırılabilir karakter kullanan kısayollar. Ctrl, Alt ya da Meta içeren bir kısayol kapsanmaz.
  • Kapatma: Bir ayar kullanıcıların kısayolu devre dışı bırakmasına izin verir.
  • Yeniden eşleme: Bir ayar kullanıcıların onu Ctrl, Alt ya da yazdırılamayan başka bir tuşu içerecek biçimde değiştirmesine izin verir.
  • Odakta etkin: Kısayol yalnızca ilgili bileşen odaktayken çalışır; örneğin bir liste kutusundaki ok tuşları.
  • Kapsanmayanlar: Zaten bir değiştirici tuş gerektiren kısayollar, tarayıcıların kendi değiştiricisiyle ele aldığı erişim tuşları ve standart kontroller.
  • Kapsam dışı notlar: Her işlevin klavyeyle işletilmesi 2.1.1'dir. Tuş vuruşlarının zamanlaması da 2.1.1 kapsamındadır.

Kimleri etkiler?

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ı.

EAA ve EN 301 549'da

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.

WCAG 2.1.4'in EN 301 549'daki karşılıkları
MaddeOrtamNe ister?
9.2.1.4Web sayfalarıWeb içeriğinin WCAG 2.1.4 kriterini karşılamasını ister.
10.2.1.4Web 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.4Web 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

Web için kod örnekleri

1. Genel bir tek tuşlu kısayol

Tüm belgeye bağlı, çıplak bir harfe yanıt veren bir dinleyici tipik ihlaldir.

Hatalı
document.addEventListener("keydown", e => {
  if (e.key === "s") aramaAc();
});
Doğru
document.addEventListener("keydown", e => {
  if (e.key === "s" && e.ctrlKey) { e.preventDefault(); aramaAc(); }
});

2. Kullanıcıların kısayolları kapatmasına izin verin

Tek tuşlu kısayolları devre dışı bırakan bir ayar kriteri karşılar.

Hatalı
// Kısayollar her zaman açık
Doğru
<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>

3. Yalnızca odakta etkin

Kısayolu denetlediği bileşenle sınırlayın.

Hatalı
document.addEventListener("keydown", e => { if (e.key === "j") sonraki(); });
Doğru
liste.addEventListener("keydown", e => {
  if (e.key === "j") sonraki(); // yalnızca liste odaktayken çalışır
});

4. Alanlara yazarken yok sayın

Kullanıcı bir girdiye yazarken kısayol hiçbir zaman tetiklenmemelidir.

Hatalı
document.addEventListener("keydown", e => { if (e.key === "c") yaz(); });
Doğru
document.addEventListener("keydown", e => {
  const t = e.target;
  if (t.matches("input, textarea, select, [contenteditable]")) return;
  if (e.key === "c" && e.altKey) yaz();
});

5. Yeniden eşlemeyi sunun

Kullanıcıların kendi tuş birleşimlerini seçmesine izin verin.

Hatalı
const tus = "s"; // sabit kodlanmış
Doğru
const tus = ayarlar.get("aramaTusu") ?? "Ctrl+S";
// Bir ayarlar sayfası kullanıcıların bunu değiştirmesine izin verir

6. Erişim tuşları

accesskey ö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.

Hatalı
<a href="/ara" accesskey="s">Ara</a>
Doğru
<a href="/ara">Ara</a> <!-- ya da belgelenmiş, yeniden eşlenebilir bir kısayol -->

Mobil için kod örnekleri

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.

iOS (SwiftUI)

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)
    }
}

Android (Jetpack Compose)

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
    }

Nasıl test edilir?

  • Kısayolları listeleyin: Yardımda, ayarlarda ve kodda tek bir yazdırılabilir tuş kullanan kısayolları arayın.
  • Deneyin: Tuşa sayfada ve bir metin alanında basın. Bir eylemi tetikliyor mu? Yazarken tetikleniyor mu?
  • Bir çıkış yolu arayın: Kısayol kapatılabiliyor ya da bir değiştirici içerecek biçimde yeniden eşlenebiliyor mu? Yalnızca bileşeni odaktayken mi etkin?
  • Konuşma ya da ekran okuyucu kullanın: Bir sözcük söyleyin ya da tek harfli gezinme tuşlarına basın. Kısayollar beklenmedik biçimde tetikleniyor mu?
  • Kodu kontrol edin: document ya da window üzerinde değiştirici denetimi olmayan keydown ve keypress dinleyicilerini arayın.
  • Mobili kontrol edin: Donanım klavyesi bağlıyken tek tuşlu eylemler beklenmedik biçimde tetikleniyor mu?
  • Denetleyiciyi başlangıç olarak kullanın: Otomatik araçlar özel kısayolları bulamaz. Bir kişi ürünü incelemelidir.

Sık yapılan hatalar

  • Ayarı olmayan genel tek harfli kısayollar: Klasik ihlal.
  • Yazarken tetiklenen kısayollar: Bir alana yazmak bir eylemi tetikler.
  • Kapatma ya da yeniden eşleme yolu olmaması: Üç seçenekten en az biri gerekir.
  • Shift'i değiştirici saymak: Shift ve bir karakter yine de karakter tuşudur.
  • Gizli kısayollar: Kullanıcılar var olduğunu bilmedikleri şeyi kapatamaz. Belgeleyin.
  • accesskey kullanımını abartmak: Yardımcı teknolojiyle çakışabilir.
  • Üçüncü taraf bileşenleri unutmak: Gömülü oynatıcılar ve düzenleyiciler kendi kısayollarını ekler.
  • Yalnızca klavyeyle test etmek: En çok etkilenenler konuşma tanıma kullanıcılarıdır.

Kaynaklar

Standart sürümü: EN 301 549 V4.1.1 (2026-09), WCAG 2.2. Bu sayfa bilgilendirme amaçlıdır ve hukuki tavsiye niteliği taşımaz; bağlayıcı metin için Avrupa Erişilebilirlik Yasası'nın (Direktif (AB) 2019/882) ve EN 301 549 standardının resmî metinlerini esas alın.

Corpowid, Gartner tarafından tanınan bir platformdur.

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.

Corpowid hakkında sorularınız mı var?

Bizimle iletişime geçin.

Size en kısa sürede geri dönüş sağlayacağız.