CodeBlanks Logo Icon CodeBlanks

ARIA temelleri

HTML kursu · Orta seviye · Ders 52/67

role, aria-label, aria-labelledby, aria-describedby kullanırsın.

ARIA nedir?

Bazen HTML etiketleri tek başına bir öğenin amacını anlatmaz. Örneğin bir <div> üzerine tıklanınca açılan bir menü olabilir; ama bu bilgi ekranda görünmez. ARIA (Accessible Rich Internet Applications) tam burada devreye girer: ekran okuyuculara ek bilgi veren öznitelikler ekler.

En sık kullanılanlar: role öğenin görevini, aria-label kısa adını, aria-labelledby başka bir öğeye bağlı adını, aria-describedby ise ek açıklamayı söyler.

role özniteliği

role özniteliği bir öğenin görevini açıkça söyler. Örneğin role="navigation" bir menü, role="search" bir arama kutusu, role="button" ise bir düğme demektir.

Anlamsal etiketler zaten görevini taşıdığından <nav> içine role="navigation" yazmak gereksizdir. ARIA'yı yalnızca HTML'in görevi taşımadığı durumlarda kullan: tıklanabilir bir <div> için role="button" gibi.

Adlandırma öznitelikleri

Bir öğeye erişilebilir ad vermenin üç yolu vardır: aria-label doğrudan kısa metin yazar; aria-labelledby başka bir öğenin id'sine bakar ve onun metnini ad olarak kullanır; aria-describedby ise aynı yöntemle ek açıklama bağlar.

Örnek: <section aria-labelledby="title"> ile section'ın adını, sayfadaki bir <h2 id="title">'dan alırsın. Böylece ad çift sayılmaz; tek yerden değiştirilebilir.

Uygulama Bölüme aria-labelledby ekle

Body içine bir <section> ekle. Section'a aria-labelledby="title" özniteliğini ekle. Section içine bir <h2 id="title"> koy ve metni Bölüm Başlığı olsun.

Örnek çözümü göster
<body>
  <section aria-labelledby="title">
    <h2 id="title">Bölüm Başlığı</h2>
  </section>
</body>

Kendini test et

  1. Aşağıdakilerden hangisi ARIA özniteliği değildir?

    • aria-label
    • role
    • placeholder
    • aria-describedby
    Cevabı göster

    placeholder — Doğru. placeholder bir input özniteliğidir, ARIA özniteliği değil.

  2. role özniteliğini tamamla

    <div ____="navigation">
      <a href="/ana-sayfa">Ana sayfa</a>
    </div>
    Cevabı göster
    <div role="navigation">
      <a href="/ana-sayfa">Ana sayfa</a>
    </div>
  3. Özniteliği amacıyla eşleştir

    aria-label
    Kısa ad doğrudan yazar
    aria-labelledby
    Adı bir id'den alır
    aria-describedby
    Ek açıklama bağlar
    role
    Görevi söyler

Orta seviye bölümündeki tüm dersler