WCAG 1.4.2 · A Seviyesi · ADA Title II

Otomatik ses ve ADA: kamu sayfaları için

Kendiliğinden 3 saniyeden uzun çalan ses için duraklatma, durdurma ya da ses düzeyi denetimi gerekir. Ana video, kiosk ve uyarılar için çözümler.

Kimsenin istemediği ses

Bir sayfadaki herhangi bir ses kendiliğinden 3 saniyeden uzun çalıyorsa ziyaretçi onu duraklatabilmeli, durdurabilmeli ya da ses düzeyini sistem ses düzeyinden bağımsız ayarlayabilmelidir. Biri oynat'a basana kadar sessiz kalan bir sayfa ölçütü hiç tetiklemez.

Gerekçe pratiktir. Ekran okuyucu, sayfayla aynı hoparlörlerden konuşur. Bir karşılama videosu konuşmaya başlayınca ekran okuyucu kullanan kişi kendi yazılımını duyamaz ve videoyu kapatmak için onu bulamayabilir. Dikkat ya da işitme güçlüğü olanlar, otobüste olanlar ve sessiz bir kütüphanede sayfayı açanlar da etkilenir.

Kural, her hareketli şeyle değil, sesle ilgilidir. Sessize alınmış (muted) otomatik oynayan video ses sayılmaz. Hareket başka bir ölçütle (2.2.2) ele alınır.

Hizmet sayfalarında ADA boyutu

Otomatik oynatma, vatandaşın tek seferlik ve aceleyle girdiği sayfalarda görülür: ana videosu olan bir ehliyet-ruhsat sayfası, toplantı sayfası açılır açılmaz başlayan belediye meclisi canlı yayını, arka plan müziği olan bir spor-rekreasyon tanıtımı. Ziyaretçi bir tescil yenilemeye gelmiştir, video izlemeye değil.

İkinci sorun denetimin kendisidir. 200 bağlantıdan sonra sayfanın altında duran bir duraklatma düğmesi, üzerine konuşulan klavye ya da ekran okuyucu kullanıcısına yardım etmez. Düğmeyi erken yerleştirin ve adı olan gerçek bir düğme yapın.

Title II altında bu kural web sitelerinin yanı sıra uygulamaları da kapsar; açılışta karşılama melodisi çalan bir ulaşım uygulaması kapsamdadır.

Ehliyet sayfasındaki ana videolar

En basit çözüm, yalnızca sessize alınmış videoyu otomatik oynatmak ya da hiç oynatmamak ve görünür denetimler sunmaktır. Otomatik çalması gereken ses, 3 saniye içinde bitmiyorsa bir duraklatma, durdurma ya da ses düzeyi mekanizması ister.

Hatalı
<video src="ehliyet-tanitim.mp4" autoplay loop></video>
Doğru
<video src="ehliyet-tanitim.mp4" autoplay muted loop playsinline
       controls aria-label="Tanıtım videosu: ehliyet yenileme">
  <track kind="captions" src="ehliyet-tanitim.tr.vtt" srclang="tr" label="Türkçe">
</video>

Kolay erişilen bir duraklatma düğmesi

Ses kendiliğinden başlamak zorundaysa, örneğin bir kiosk sayfası açılınca çalan kayıtlı duyuru, durdurma düğmesini sayfanın başına koyun ve sesi makul bir süreyle sınırlayın.

Hatalı
<body>
  <nav>…</nav>
  <main>
    <audio id="duyuru" src="calisma-saatleri.mp3" autoplay></audio>
    …
  </main>
  <button id="dur">Sesi durdur</button>
</body>
Doğru
<body>
  <button id="dur" type="button">Duyuruyu durdur</button>
  <nav>…</nav>
  <main>
    <audio id="duyuru" src="calisma-saatleri.mp3" autoplay></audio>
    …
  </main>
  <script>
    document.getElementById("dur").addEventListener("click", () => {
      const a = document.getElementById("duyuru");
      a.pause();
      a.currentTime = 0;
    });
  </script>
</body>

Sıra uyarıları ve kısa sesler

Sanal bekleme odası sayfasında döngüyle çalan bir zil 3 saniyeyi rahatça aşar ve durdurulamaz. Tek ve kısa bir ses ya da kullanıcı seçtikten sonra çalan bir ses sorunu ortadan kaldırır. 3 saniyeden kısa sesler kuralın dışındadır.

Hatalı
const zil = new Audio("sira-sende.mp3"); // 12 saniye
setInterval(() => zil.play(), 15000);
Doğru
const zil = new Audio("sira-sende-kisa.mp3"); // 1,5 saniye
const sesAcik = document.getElementById("ses-secimi");
function bildir() {
  if (sesAcik.checked) zil.play();
}

Yerel mobil uygulamalar

Mobil platformların kendi ses denetimleri vardır, ama ilke aynıdır: görünür bir denetim olmadan açılışta uzun ses başlatmayın. Aşağıda, bir spor-rekreasyon uygulaması ekranındaki tanıtım videosu kullanıcıyı bekliyor.

Hatalı
// SwiftUI
VideoPlayer(player: player)
    .onAppear { player.play() }
Doğru
// SwiftUI
VideoPlayer(player: player)   // standart denetimler, duraklatılmış başlar
    .accessibilityLabel("Yaz programları önizlemesi")
Hatalı
// Jetpack Compose (Media3)
val player = remember { ExoPlayer.Builder(context).build().apply {
    setMediaItem(MediaItem.fromUri(url)); prepare(); playWhenReady = true } }
Doğru
// Jetpack Compose (Media3)
val player = remember { ExoPlayer.Builder(context).build().apply {
    setMediaItem(MediaItem.fromUri(url)); prepare(); playWhenReady = false } }
AndroidView(factory = { PlayerView(it).apply { this.player = player; useController = true } })

Nasıl test edilir

  1. Sayfayı sesi açık, tıklama ya da tuşa basma olmadan açın. 3 saniyeden uzun süren her sesi not edin.
  2. Yalnızca klavyeyle durdurmayı deneyin: ilk denetime Tab ile gidin, Enter ya da Boşluk'a basın.
  3. Ekran okuyucu açıkken tekrarlayın. Denetime arama yapmadan ulaşılmalı ve net bir adı olmalıdır.
  4. Gömülü oynatıcıları ve iframe'leri ayrıca kontrol edin; otomatik oynatma ayarı URL'deki bir parametreyle yönetiliyor olabilir.
  5. Geliştirici araçlarıyla autoplay özniteliklerini ve sayfa yüklenirken çağrılan play() çağrılarını arayın.

Sık yapılan hatalar ve yayın öncesi liste

  • Tarayıcının otomatik oynatma engellemesine güvenmek. Tarayıcılar arasında değişir ve bir uygunluk önlemi değildir.
  • Ses bir süredir çaldıktan sonra beliren sessize alma düğmesi.
  • Tıklama işleyicili bir div olan ve klavyeyle erişilemeyen durdurma denetimi.
  • Ses başlatan ve sayfadan duraklatılamayan üçüncü taraf bileşenler.

Yayına almadan önce:

  • Hiçbir sayfa yüklenirken ses çalmıyor ya da ses 3 saniyede bitiyor.
  • Otomatik çalan her sesin sayfanın başında bir duraklatma ya da ses düzeyi denetimi var.
  • Bu denetim klavyeyle çalışıyor ve net bir adla duyuruluyor.
  • Gömülü oynatıcılar otomatik oynatma parametreleri açısından kontrol edildi.

Üçüncü taraf oynatıcılar için tedarikçiler ve üçüncü taraf içerik sayfasına bakın.

Kaynaklar

Standart sürümü: WCAG 2.1 (W3C Tavsiye Kararı, 5 Haziran 2018); Title II web kuralında adı geçen sürüm. Bu sayfa bilgilendirme amaçlıdır ve hukuki tavsiye niteliği taşımaz. Bağlayıcı metin için ADA yasasının ve yönetmeliklerinin resmî metinlerini esas alın ve size nasıl uygulandığını bir avukata sorun.

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.