CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Erişilebilir dialog

HTML kursu · Uzman · Ders 35/39

<dialog> ve ARIA ile tam erişilebilir bir modal yazarsın.

Diyalogu erişilebilir yap

Bir <dialog> penceresini erişilebilir kılmak için üç ilişki kurulur. aria-modal="true" ekran okuyucuya arka planın etkileşim dışı olduğunu bildirir. aria-labelledby pencerenin başlığını, aria-describedby açıklamasını işaret eder; her ikisi de bir id'ye bağlanır.

Odağı pencereye almak için bir düğme ya da tabindex değeri içeren öğe bulunmalı. Kapanış düğmesi metin içermeli; klavye kullanıcıları pencereyi kapatabilmeli. Bu dört ilişki bir arada modal desenini tamamlar.

Uygulama Erişilebilir modal diyalog yaz

Bir <dialog> öğesi yaz. aria-modal="true" ekle. Başlığı aria-labelledby, açıklamayı aria-describedby ile işaretle; her iki değer de ilgili id'lere bağlanmalı. Diyalogun içine bir <h2> başlığı, bir <p> açıklaması ve içeriği olan bir <button> kapat düğmesi koy.

Örnek çözümü göster
Diyalogu aria-modal, başlık ve açıklama ilişkileriyle kur.

Örnek çözüm:
<dialog aria-modal="true" aria-labelledby="settings-title" aria-describedby="settings-desc">
  <h2 id="settings-title">Ayarlar</h2>
  <p id="settings-desc">Bu pencere ayarlarınızı düzenler.</p>
  <button>Kapat</button>
</dialog>

Kendini test et

  1. Hangi öznitelik diyalogu modal yapar?

    • role="modal"
    • aria-haspopup="dialog"
    • aria-modal="true"
    • data-modal="yes"
    Cevabı göster

    aria-modal="true" — Doğru. aria-modal="true" arka planın etkileşim dışı olduğunu bildirir.

  2. Başlık ilişkisini kur

    <dialog aria-modal="true" aria-labelledby="____"><h2 id="dialog-title">Ayarlar</h2></dialog>
    Cevabı göster
    <dialog aria-modal="true" aria-labelledby="dialog-title"><h2 id="dialog-title">Ayarlar</h2></dialog>
  3. Modal açıldığında ilk olarak ne yapılmalı?

    • Odağı diyalogun ilk odaklanabilir öğesine taşımak
    • Sayfayı yeniden yükle
    • Tüm arka plan öğelerini gizlemek
    • Diyalogu hemen kapatmak
    Cevabı göster

    Odağı diyalogun ilk odaklanabilir öğesine taşımak — Doğru. Odak pencere içine taşınmalı; klavye kullanıcıları içeride gezinebilmeli.

Uzman bölümündeki tüm dersler