1.4.2 Ses Kontrolü
Ses 3 saniyeden uzun süre otomatik çalıyorsa, sesi duraklatmak, durdurmak veya sistem sesinden bağımsız olarak kontrol etmek için bir mekanizma sağlanmalıdır.
Bu Kural Ne Anlama Gelir
WCAG 1.4.2, otomatik oynatılan ses içeriğini ele alır. Bir web sayfası yüklendiğinde 3 saniyeden uzun süre ses çalmaya başlarsa, bu durum gezinmek için ses çıktısına bağımlı olan ekran okuyucu kullanıcılarını ciddi biçimde engelleyebilir. Ölçüt, sesin 3 saniye içinde durmasını veya kullanıcıya sayfanın üst kısmında sesi duraklatmak, durdurmak ya da sistem ses düzeyinden bağımsız olarak kontrol etmek için erişilebilir bir mekanizma sağlanmasını gerektirir.
Bu kural, kullanıcı etkileşimi olmadan başlayan her ses için geçerlidir: arka plan müziği, sesli otomatik video oynatma, sesli reklamlar veya ortam sesleri. İçerik oluşturucu sesi istenen bir öğe olarak görse bile, kullanıcı tarafından kontrol edilebilir olmalıdır.
Neden Önemlidir
Ekran okuyucu kullanıcıları web içeriğiyle etkileşim kurmak için sentezlenmiş konuşmaya bağımlıdır. Bir sayfa otomatik ses oynatırsa, bu doğrudan ekran okuyucu çıktısıyla çakışır ve kullanıcının gezinme talimatlarını duymasını, içeriği okumasını veya denetimleri kullanmasını son derece zorlaştırır ya da imkansız hâle getirir.
Ekran okuyucu kullanıcılarının ötesinde, otomatik ses; ortak alanlardaki kişiler, beklenmedik seslerle bunalabilen bilişsel engelli bireyler ve aynı anda birden fazla ses akışıyla zorlanan işitsel işleme bozukluğu olan kişiler için de sorunludur.
İlgili axe-core Kuralları
- no-autoplay-audio — 3 saniyeden uzun süre çalan ve kontrol veya sessize alma mekanizması bulunmayan autoplay özellikli <audio> ve <video> öğelerini tespit eder.
Nasıl Test Edilir
- Sayfayı yükleyin ve dinleyin: Otomatik olarak çalan bir ses var mı?
- Ses çalıyorsa, 3 saniye içinde durup durmadığını kontrol edin.
- Devam ediyorsa, sayfanın üst kısmında görünür bir duraklat/durdur/sessize al kontrolü olduğunu doğrulayın.
- Ses kontrolünün klavye ile erişilebilir olduğunu ve sekme sırasında otomatik çalan içerikten önce ulaşılabildiğini onaylayın.
- Ses çalarken kontrolün bulunup etkinleştirilebildiğinden emin olmak için ekran okuyucu ile test edin.
Nasıl Düzeltilir
En iyi yaklaşım sesi hiçbir zaman otomatik oynatmamaktır. Medyayı başlatmak için kullanıcı etkileşimi gerektirin:
<video controls>
<source src="tanıtım.mp4" type="video/mp4" />
<track kind="captions" src="altyazi.vtt" srclang="tr" label="Türkçe" />
</video>
<!-- autoplay ile ses kullanmayın -->
<!-- Kötü: <video autoplay> -->
Otomatik oynatma zorunluysa sesin varsayılan olarak kapalı olmasını sağlayın:
<video autoplay muted controls>
<source src="arka-plan.mp4" type="video/mp4" />
</video>
<button id="unmute-btn" aria-label="Videoyu sesli yap">
Sesi Aç
</button>
Arka plan sesi çalması gerekiyorsa, hemen erişilebilir bir durdurma kontrolü sağlayın:
<!-- Bunu sayfadaki ilk etkileşimli öğe olarak yerleştirin -->
<button id="audio-stop" class="audio-control">
Arka Plan Sesini Durdur
</button>
<script>
const audio = document.getElementById('bg-audio');
document.getElementById('audio-stop').addEventListener('click', () => {
audio.pause();
audio.currentTime = 0;
});
</script>
Sık Yapılan Hatalar
- Sessize alma düğmesi olmadan sayfa yüklendiğinde otomatik çalan arka plan müziği veya ortam sesleri.
- Ses açık şekilde otomatik oynatılan video hero alanları.
- Ses kontrolleri mevcut ancak sayfanın çok aşağısında, ekran okuyucu kullanıcılarının ses araya girmeden önce ulaşamayacağı bir yerde.
- Sayfa sesini bağımsız olarak kapatmak yerine yalnızca sistem sesine göre ayarlanan ses kontrolleri.
- Kontrol mekanizması sağlamadan otomatik ses oynatan üçüncü taraf reklam yerleştirmeleri.