WCAG 1.4.2 · A Seviyesi

Ses Kontrolü

Sayfa açıldığında kendiliğinden başlayan ve 3 saniyeden uzun süren sesler için kullanıcıya sesi durdurma, kapatma veya sistemden bağımsız olarak kısma imkânı verilmesini ister.

Kısaca

Sayfa açılır açılmaz çalmaya başlayan bir tanıtım videosu veya arka plan müziği, ekran okuyucu kullanan bir kişinin bilgisayarının sesini duymasını engeller. Kullanıcı sesi kapatacak düğmeyi bulmaya çalışırken o düğmenin adını bile duyamayabilir.

Bu kriter, kendiliğinden başlayan ve 3 saniyeden uzun süren sesler için sesi durdurma, duraklatma veya sistem ses düzeyinden bağımsız olarak kısma imkânı ister. En iyi çözüm, sesi hiç otomatik başlatmamaktır.

Neleri kapsar?

  • Otomatik oynatılan video sesi: Sayfa veya ekran açıldığında kendiliğinden sesli başlayan videolar.
  • Arka plan müziği: Sayfa boyunca çalan müzik veya ortam sesleri.
  • Sesli reklamlar: Kendiliğinden ses çıkaran reklam alanları.
  • 3 saniye eşiği: 3 saniye veya daha kısa süren bildirim sesleri bu kriterin kapsamına girmez.
  • Bağımsız kontrol: Ses düzeyi denetimi, işletim sisteminin genel ses ayarından ayrı olmalıdır; aksi hâlde ekran okuyucunun sesi de kısılır.
  • Kapsam dışı notlar: Kendiliğinden hareket eden görsel içeriğin durdurulması Duraklatma, Durdurma, Gizleme kriterinin konusudur.

Kimleri etkiler?

Ekran okuyucu kullanan kör ve az gören kişiler en çok etkilenen gruptur; çünkü sayfadaki ses, ekran okuyucunun konuşmasının üzerine biner. Dikkat dağınıklığı yaşayan veya bilişsel engeli olan kullanıcılar arka plan sesleri nedeniyle içeriğe odaklanamayabilir. İşitme cihazı kullanan kişiler ve sessiz ortamlarda bulunanlar da beklenmedik seslerden olumsuz etkilenir.

Kontrol listesinde

Bu kriter, Bakanlığın A Seviyesi Kontrol Listesi'nde 54–55 numaralı soruları kapsar. Yönlendirme soruları sayfada ilgili içerik olup olmadığını belirler; yoksa liste sizi sonraki soruya geçirir. Aşağıdaki açıklamalar sorulardan alıntı değil, özetidir. Soruların tam metni için resmî listeye bakın.

BK 9 kapsamındaki sorular
SoruTürüNe kontrol eder?
54YönlendirmeKullanıcı başlatmadan kendiliğinden çalan ve 3 saniyeyi aşan bir ses olup olmadığını sorar.
55★ ZorunluBu ses için kullanıcıya durdurma veya kapatma imkânı, ya da sistem ses düzeyinden bağımsız bir ses ayarı sunulup sunulmadığını kontrol eder.

Resmî kontrol listesini indirin (PDF), yeni sekmede açılır

Web için kod örnekleri

1. Otomatik oynatmayı kaldırmak

En güvenli çözüm, videoyu kullanıcı başlatana kadar beklemektir.

Hatalı
<video src="/video/belediye-tanitim.mp4" autoplay></video>
Doğru
<video src="/video/belediye-tanitim.mp4" controls
       preload="metadata"></video>

2. Sessiz başlayan arka plan videosu

Görsel amaçlı arka plan videolarında ses kapalı başlatılmalıdır. Bu durumda ses kriteri sorun oluşturmaz; ancak hareketi durduracak bir düğme yine gerekir (Duraklatma, Durdurma, Gizleme kriteri).

<video src="/video/sahil-manzarasi.mp4"
       autoplay muted loop playsinline
       aria-hidden="true"></video>

3. Arka plan müziği için durdurma düğmesi

Müzik otomatik başlıyorsa, durdurma düğmesi sayfanın en başında ve klavyeyle ilk ulaşılan öğelerden biri olmalıdır.

Hatalı
<audio src="/ses/fon-muzigi.mp3" autoplay loop></audio>
Doğru
<body>
  <button type="button" id="muzik-dugmesi">
    Müziği durdur
  </button>
  <audio id="fon" src="/ses/fon-muzigi.mp3" autoplay loop></audio>
  …
<script>
  const fon = document.getElementById("fon");
  const dugme = document.getElementById("muzik-dugmesi");

  dugme.addEventListener("click", () => {
    if (fon.paused) {
      fon.play();
      dugme.textContent = "Müziği durdur";
    } else {
      fon.pause();
      dugme.textContent = "Müziği başlat";
    }
  });
</script>

Düğmenin metni durumla birlikte değiştiği için ayrıca aria-pressed kullanmaya gerek yoktur.

4. Bağımsız ses düzeyi denetimi

Sayfa içi ses düzeyi denetimi yalnızca o medyanın sesini etkiler; ekran okuyucunun sesi değişmez.

<label for="ses-duzeyi">Tanıtım videosu ses düzeyi</label>
<input type="range" id="ses-duzeyi" min="0" max="100" value="50">

<script>
  const video = document.querySelector("video");
  document.getElementById("ses-duzeyi")
    .addEventListener("input", (e) => {
      video.volume = e.target.value / 100;
    });
</script>

5. Gömülü YouTube videosu

Gömülü oynatıcılarda otomatik oynatma parametresini kullanmayın. Kullanmak zorundaysanız sesi kapalı başlatın.

Hatalı
<iframe title="Kurumsal tanıtım filmi"
  src="https://www.youtube.com/embed/VIDEO_KIMLIGI?autoplay=1"
  allow="autoplay"></iframe>
Doğru
<iframe title="Kurumsal tanıtım filmi"
  src="https://www.youtube.com/embed/VIDEO_KIMLIGI"></iframe>

Mobil için kod örnekleri

iOS (SwiftUI)

Karşılama ekranında ses çalınacaksa kullanıcının başlatmasını bekleyin; otomatik başlıyorsa görünür ve erişilebilir bir durdurma düğmesi sunun.

import SwiftUI
import AVFoundation

struct KarsilamaEkrani: View {
    @State private var oynatici: AVAudioPlayer?
    @State private var caliyor = false

    var body: some View {
        VStack(spacing: 16) {
            Text("Hoş geldiniz")
                .font(.title)
                .accessibilityAddTraits(.isHeader)

            Button(caliyor ? "Müziği durdur" : "Müziği başlat") {
                if caliyor { oynatici?.pause() } else { oynatici?.play() }
                caliyor.toggle()
            }

            Slider(value: Binding(
                get: { Double(oynatici?.volume ?? 0.5) },
                set: { oynatici?.volume = Float($0) }
            ), in: 0...1)
            .accessibilityLabel("Müzik ses düzeyi")
        }
        .onAppear {
            if let url = Bundle.main.url(forResource: "karsilama", withExtension: "mp3") {
                oynatici = try? AVAudioPlayer(contentsOf: url)
                oynatici?.numberOfLoops = -1
                // Otomatik başlatılmaz; kullanıcı "Müziği başlat" ile başlatır.
            }
        }
        .onDisappear { oynatici?.stop() }
    }
}

Android (Jetpack Compose)

import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.semantics
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer

@Composable
fun TanitimSesi() {
    val context = LocalContext.current
    val oynatici = remember {
        ExoPlayer.Builder(context).build().apply {
            setMediaItem(MediaItem.fromUri("https://ornek.gov.tr/ses/tanitim.mp3"))
            prepare()
            playWhenReady = false // Kendiliğinden başlamaz.
        }
    }
    var caliyor by remember { mutableStateOf(false) }
    var duzey by remember { mutableFloatStateOf(0.5f) }

    DisposableEffect(Unit) { onDispose { oynatici.release() } }

    Column {
        Button(onClick = {
            if (caliyor) oynatici.pause() else oynatici.play()
            caliyor = !caliyor
        }) {
            Text(if (caliyor) "Sesi durdur" else "Sesi başlat")
        }
        Slider(
            value = duzey,
            onValueChange = {
                duzey = it
                oynatici.volume = it // Yalnızca bu oynatıcının sesi
            },
            modifier = Modifier.semantics { contentDescription = "Tanıtım sesi düzeyi" }
        )
    }
}

Nasıl test edilir?

  • Sayfayı sesle açın: Hoparlör açıkken sayfayı veya uygulama ekranını açın ve 3 saniyeden uzun süren bir ses başlayıp başlamadığını dinleyin.
  • Denetimi bulun: Ses başlıyorsa, durdurma veya kısma denetimi sayfanın başında ve kolayca bulunur durumda mı?
  • Ekran okuyucuyla deneyin: Ekran okuyucu açıkken denetime klavye veya kaydırma hareketiyle ulaşıp sesi kapatabiliyor musunuz? Ekran okuyucunun konuşması anlaşılıyor mu?
  • Otomatik araçların sınırı: Otomatik araçlar autoplay özniteliğini ve bazen sessiz olmayan medya öğelerini işaretleyebilir. Ancak gömülü oynatıcılarda veya betikle başlatılan seslerde sesin gerçekten çalıp çalmadığını, ne kadar sürdüğünü ve denetimin kullanılabilir olup olmadığını belirleyemez; bu kriter elle doğrulanmalıdır.

Sık yapılan hatalar

  • Tarayıcının engellediğini varsaymak: Tarayıcılar sesli otomatik oynatmayı çoğu durumda engeller, ama her durumda değil. Kullanıcı daha önce siteyle etkileşime girdiyse ses çalabilir.
  • Durdurma düğmesini sayfanın sonuna koymak: Ekran okuyucu kullanıcısı düğmeye ulaşana kadar sesi duymaya devam eder.
  • Yalnızca sistem ses düzeyine güvenmek: Sistem sesini kısmak ekran okuyucunun sesini de kısar; bu bir çözüm değildir.
  • Sesli reklamları denetimsiz bırakmak: Üçüncü taraf reklam alanları da sayfanın bir parçası olarak değerlendirilir.
  • Ekran değişince sesi durdurmamak: Mobilde kullanıcı ekrandan çıktığında sesin arka planda çalmaya devam etmesi.

Kaynaklar

Kontrol listesi sürümü: V2.2.30.01 (2026). Bu sayfa bilgilendirme amaçlıdır; bağlayıcı metin için Aile ve Sosyal Hizmetler Bakanlığı'nın resmî kontrol listesini esas alın.

Sitenizde bu kriter nasıl görünüyor?

Ücretsiz tarama, bu kriterdeki sorunları ve diğerlerini Bakanlığın A Seviyesi Kontrol Listesi esas alınarak listeler.

Sitemi ücretsiz tara