0Pricing
HTML Academy · Ders

aria-hidden ve aria-live

Dekoratif öğeleri gizleyin ve dinamik içeriği ekran okuyuculara duyurun

aria-hidden ve aria-live, CoddyKit'te ücretsiz bir HTML Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, HTML Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. HTML Academy kursu toplamda 4 dersten oluşur.

aria-hidden

aria-hidden="true", bir öğeyi erişilebilirlik ağacından kaldırır; ekran okuyucular bu öğeyi tamamen atlar:

<!-- Decorative icon: visible but skip by screen readers -->
<span aria-hidden="true">★★★★☆</span>
<span class="sr-only">4 out of 5 stars</span>

<!-- Decorative separator -->
<img src="divider.svg" alt="" aria-hidden="true">

<!-- Note: aria-hidden does NOT affect visibility or tab focus
     A button with aria-hidden is still tabbable! -->

aria-hidden Kullanım Alanları

aria-hidden için uygun kullanım alanları:

<!-- 1. Icons next to descriptive text -->
<button>
  <svg aria-hidden="true"><!-- icon --></svg>
  Save Document
</button>

<!-- 2. Repeated text in a card link -->
<a href="/blog/post-1">
  <span aria-hidden="true">Read more</span>
  <span class="sr-only">Read more: HTML5 Forms Guide</span>
</a>

<!-- 3. UI decoration (dots, decorative borders) -->
<span aria-hidden="true">•••</span>

aria-hidden Kullanım Hatası

aria-hidden özelliğini hiçbir zaman focus alabilen öğelere uygulamayınız:

<!-- BAD: button is in tab order but invisible to screen readers -->
<button aria-hidden="true">Close</button>

<!-- Users reach this via Tab but hear nothing
     They cannot tell if they're on a button or lost focus -->

<!-- If you want to hide from both: use hidden attribute -->
<button hidden>Close</button>

<!-- Or: disabled (but disabled removes from tab order) -->
<button disabled aria-hidden="true">Close</button>

aria-live

aria-live, bir bölgeyi canlı bölgeye dönüştürür; değişiklikler otomatik olarak duyurulur:

<!-- polite: announce when user is idle -->
<div aria-live="polite" id="status"></div>

<!-- assertive: announce immediately, interrupting current speech -->
<div aria-live="assertive" id="errors"></div>

<script>
// Inject text to trigger announcement:
document.getElementById('status').textContent = 'File saved successfully.';
// Screen reader announces this without user moving focus
</script>

aria-live Değerleri

aria-live için üç değer vardır:

  • off — varsayılan: değişiklikler duyurulmaz
  • polite — kullanıcı durakladığında duyurulur; acil olmayan güncellemeler için
  • assertive — hemen duyurulur ve mevcut konuşmayı keser; hatalar ve kritik uyarılar için

aria-atomic

aria-atomic, bölgenin tamamının mı yoksa yalnızca değişen kısımların mı duyurulacağını denetler:

<div aria-live="polite" aria-atomic="true" id="timer">
  Time remaining: 05:00
</div>
<!-- aria-atomic="true": announce the whole div each update -->
<!-- Without it: only the changed text node is announced
     'Time remaining: 05:00' vs just '05:00' -->

<script>
setInterval(() => {
  document.getElementById('timer').textContent = `Time remaining: ${getTime()}`;
}, 1000);
</script>

aria-relevant

aria-relevant, hangi değişiklik türlerinin duyurulacağını belirtir:

<div
  aria-live="polite"
  aria-relevant="additions text"   <!-- announce added content and text changes -->
  id="feed"
>
  <!-- New items added here -->
</div>
<!-- Values: additions, removals, text, all
     Default: additions text
     aria-relevant="removals" needed to announce deleted items -->

Canlı Bölge En İyi Uygulamaları

Canlı bölgeler için yönergeler:

  • Her duyuru türü için tek bir kalıcı canlı bölge kullanınız (oluşturup yok etmeyiniz)
  • Boş içerikle başlayınız; duyuruyu tetiklemek için metin ekleyiniz
  • Duyuruları kısa tutunuz; ekran okuyucular konuşmayı kesebilir veya geride kalabilir
  • Yükleme durumları için polite kullanınız
  • Form hataları için assertive veya role="alert" kullanınız

Kısa Bildirimler İçin Kalıplar

Canlı bölgelerle kısa bildirimleri duyurma:

<div
  role="status"
  aria-live="polite"
  aria-atomic="true"
  id="toast-container"
  class="sr-only"
></div>

<script>
function showToast(message) {
  const container = document.getElementById('toast-container');
  container.textContent = '';
  // Force rerender for re-announcement:
  requestAnimationFrame(() => {
    container.textContent = message;
  });
}
</script>

aria-busy

aria-busy="true", içeriğin güncellenmekte olduğunu belirtir:

<div id="feed" aria-live="polite" aria-busy="false">
  <!-- content -->
</div>

<script>
const feed = document.getElementById('feed');
feed.setAttribute('aria-busy', 'true');

await loadContent();
feed.innerHTML = newContent;

feed.setAttribute('aria-busy', 'false');
// Only now does the live region announce the update
</script>

Kısa Kontrol

aria-live="assertive" ile polite değerlerini ne zaman kullanmalısınız?

Özet: aria-hidden ve aria-live

Gizleme ve canlı bölge için temel bilgiler:

  • aria-hidden="true" — erişilebilirlik ağacından kaldırır (focus alabilen öğelerde kullanmayınız!)
  • aria-live="polite" — kullanıcı boşta olduğunda değişiklikleri duyurur
  • aria-live="assertive" — değişiklikleri hemen duyurur (hatalar için)
  • aria-atomic="true" — değişiklik olduğunda bölgenin tamamını duyurur
  • aria-busy — yükleme sırasında duyuruları bastırır

Sıkça Sorulan Sorular

“aria-hidden ve aria-live” dersi ücretsiz mi?

Evet — “aria-hidden ve aria-live” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve HTML Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. HTML Academy kursu toplamda 4 dersten oluşur.

“aria-hidden ve aria-live” dersinde ne öğreneceğim?

Dekoratif öğeleri gizleyin ve dinamik içeriği ekran okuyuculara duyurun HTML Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

HTML Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te HTML Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“aria-hidden ve aria-live” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu HTML Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her HTML Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı
  2. role button alert dialog ve landmark
  3. aria-label aria-labelledby ve aria-describedby
  4. aria-hidden ve aria-live
← HTML Academy Sayfasına Dön