İçeriğin belirlediği her zaman sınırının kullanıcılar tarafından kapatılabilmesini, ayarlanabilmesini ya da süre dolmadan uyarıyla uzatılabilmesini ister.
Pek çok kişinin daha fazla zamana ihtiyacı vardır: okumak, yazmak, bir kontrolü bulmak ya da bir formu anlamak için. Birkaç dakika sonra sona eren bir oturum, sabit geri sayımlı bir sınav ya da sepetinizi çok erken bırakan bir ödeme sayfası onları dışarıda bırakıp işlerini kaybettirebilir.
Bu kriter, içeriğin belirlediği her zaman sınırı için kullanıcıların onu kapatabilmesini, varsayılanın en az on katına ayarlayabilmesini ya da uzatabilmesini ister. Uzatmak için süre dolmadan önce uyarılmalı, Boşluk tuşuna basmak gibi basit bir eylemle yanıt vermek için en az 20 saniye verilmeli ve bunu en az on kez yapabilmelidir.
Bilişsel ya da öğrenme farklılıkları olanlar dahil yavaş okuyan ya da yazan kişiler. Gezinmek için daha fazla zamana ihtiyaç duyan ekran okuyucu kullanıcıları. Anahtar ya da ses denetimi kullanan motor engelli kişiler. Kesintiye uğrayanlar. Tasarımcının beklediğinden uzun süreye ihtiyaç duyan herkes.
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. İçeriği kullanmak için yeterli süre, "işletilebilirlik" ilkesinin parçasıdır.
Teknik karşılığı EN 301 549 standardında bulunur. Standart, WCAG 2.2.1'i atıfla alır ve ortama göre ayrı maddelere dönüştürür.
| Madde | Ortam | Ne ister? |
|---|---|---|
| 9.2.2.1 | Web sayfaları | Web içeriğinin WCAG 2.2.1 kriterini karşılamasını ister. |
| 10.2.2.1 | Web dışı dokümanlar (PDF, Office dosyaları) | Standardın uyguladığı hâllerde zaman sınırı olan dokümanların aynı kuralı karşılamasını ister. |
| 11.2.2.1 | Web dışı yazılım (yerel mobil uygulamalar) | Zaman sınırı olan yazılımın, kullanıcıların bunları kapatmasına, ayarlamasına ya da uzatması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.2.1 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
Oturum sona ermeden önce yanıt vermek için en az 20 saniye veren ve kullanıcının tek bir eylemle devam etmesini sağlayan bir iletişim kutusu gösterin.
setTimeout(() => { window.location = "/cikis"; }, 5 * 60 * 1000);<dialog id="zamanasimi" role="alertdialog" aria-labelledby="zb" aria-describedby="za">
<h2 id="zb">Oturumunuz sona ermek üzere</h2>
<p id="za"><span id="kalan">60</span> saniye içinde oturumunuz kapatılacak.</p>
<button type="button" id="uzat">Oturumu açık tut</button>
</dialog>
<script>
// Süre dolmadan 60 saniye önce uyarın; kullanıcı tekrar tekrar uzatabilir
uzat.addEventListener("click", () => { oturumuYenile(); zamanasimi.close(); });
</script>Birkaç saniye sonra kullanıcıyı başka yere götüren bir meta refresh, okumaları için onlara zaman bırakmaz.
<meta http-equiv="refresh" content="5; url=/sonraki"><p>Siparişiniz alındı.</p>
<a href="/sonraki">Hesabınıza devam edin</a>Sınav başlamadan önce süreyi uzatan ya da sınırı kaldıran bir ayar sunun.
<p>10 dakikanız var. Süre değiştirilemez.</p><label for="ek">Ek süre</label>
<select id="ek">
<option value="1">Standart süre (10 dakika)</option>
<option value="1.5">1,5 kat süre</option>
<option value="2">2 kat süre</option>
<option value="0">Süre sınırı yok</option>
</select>Girilen veriyi koruyun; kullanıcılar oturum kapandıktan sonra devam edebilsin.
// Zaman aşımında: oturum yok edilir, form verisi kaybolur// Taslağı yerelde (ya da sunucuda) saklayın ve girişten sonra geri yükleyin
form.addEventListener("input", () => {
sessionStorage.setItem("taslak", JSON.stringify(Object.fromEntries(new FormData(form))));
});Kısa bir rezervasyon süresi de bir zaman sınırıdır. Kullanıcılara uzatmanın bir yolunu verin.
<p>Biletleriniz 3 dakika ayrılır.</p><p>Biletleriniz 15 dakika ayrılır.
<button type="button" id="daha">15 dakika daha ekle</button></p>Uyarı yalnızca ekran okuyucu kullanıcıları duyarsa işe yarar.
<div class="uyari">Oturum yakında sona eriyor</div><div role="alert">Oturumunuz 60 saniye içinde sona erecek.
<button type="button">Oturumu açık tut</button></div>Yerel uygulamalarda da zaman sınırları vardır; örneğin oturumlar, tek kullanımlık kodlar ve geri sayımlar. Kullanıcıları uyarın, uzatmalarına izin verin ve verilerini koruyun.
import SwiftUI
struct OturumUyarisi: View {
@Binding var kalanSaniye: Int
var uzat: () -> Void
var body: some View {
VStack(spacing: 12) {
Text("Oturumunuz \(kalanSaniye) saniye içinde sona erecek.")
.accessibilityAddTraits(.isHeader)
// Uzatmak için tek basit eylem; tekrar tekrar izin verin
Button("Oturumu açık tut") { uzat() }
}
.padding()
.onAppear {
// VoiceOver kullanıcıları uyarıyı duysun diye duyurun
UIAccessibility.post(notification: .announcement,
argument: "Oturumunuz yakında sona erecek")
}
}
}import androidx.compose.material3.*
import androidx.compose.runtime.Composable
@Composable
fun OturumUyarisi(kalanSaniye: Int, onUzat: () -> Unit, onKapat: () -> Unit) {
// Süre dolmadan uyarın ve uzatmak için tek basit eylem sunun; tekrar tekrar izin verin
AlertDialog(
onDismissRequest = onKapat,
title = { Text("Oturumunuz sona ermek üzere") },
text = { Text("$kalanSaniye saniye içinde oturumunuz kapatılacak.") },
confirmButton = {
TextButton(onClick = onUzat) { Text("Oturumu açık tut") }
}
)
}meta refresh bulabilir ama betik tabanlı zamanlayıcıları bulamaz. Bir kişi test etmelidir.role="alert" ya da role="alertdialog" kullanı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.