0Pricing
HTML Academy · Ders

ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı

ARIA'nın ilk kuralına uyun: yerel anlamsal yapıları tercih edin

ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı, CoddyKit'te ücretsiz bir HTML Academy dersidir. Bu, 4 dersinin 1. 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 Nedir?

ARIA (Erişilebilir Zengin İnternet Uygulamaları), yardımcı teknolojiler için erişilebilirliği iyileştirmek amacıyla HTML'ye eklenebilen bir dizi özniteliktir. Yerleşik HTML anlambiliminin yetersiz kaldığı durumları tamamlar.

ARIA'nın İlk Kuralı

En önemli ARIA yönergesi şudur: yerleşik HTML bunu yapabiliyorsa ARIA kullanmayın:

<!-- BAD: ARIA on a div -->
<div role="button" tabindex="0" onclick="submit()">Submit</div>

<!-- GOOD: use a real button -->
<button type="submit">Submit</button>

<!-- Native HTML elements:
  - Are keyboard accessible by default
  - Have correct semantics built in
  - Work in more contexts
  - Require less code
-->

Yerleşik HTML Yeterli Olmadığında

ARIA şu durumlarda gereklidir:

  • Özel kullanıcı arayüzü bileşenlerinin HTML'de karşılığı yoksa (sekmeler, birleşik kutular)
  • Yerleşik bir öğenin rolünün geçersiz kılınması gerekiyorsa
  • Dinamik içerik güncellemelerinin duyurulması gerekiyorsa
  • Öğeler arasındaki karmaşık ilişkilerin açıkça belirtilmesi gerekiyorsa

ARIA Davranış Eklemez

Kritik bir yanlış anlama: ARIA erişilebilirlik üst verileri ekler — işlevsellik eklemez:

<!-- Adding role="button" to a div does NOT:
  - Make it keyboard-focusable (add tabindex="0")
  - Make Enter/Space activate it (add event listeners)
  - Make it styled like a button (add CSS)
-->

<!-- You must implement ALL behavior yourself -->
<!-- Native <button> handles all this for free -->

ARIA Sınıflandırması

ARIA öznitelikleri üç kategoriye ayrılır:

  • Roller — bir öğenin ne olduğunu tanımlar: role="button", role="dialog"
  • Özellikler — statik nitelikleri açıklar: aria-label, aria-required
  • Durumlar — dinamik koşulları açıklar: aria-expanded, aria-checked

Anlamsal HTML ve ARIA Karşılıkları

Çoğu HTML öğesinin zaten örtük ARIA rolleri vardır:

<nav>   ≡  role="navigation"
<main>  ≡  role="main"
<aside> ≡  role="complementary"
<header> ≡ role="banner" (page-level)
<footer> ≡ role="contentinfo" (page-level)
<button> ≡ role="button"
<a href> ≡ role="link"
<h1-h6> ≡ role="heading"
<ul>    ≡  role="list"

ARIA'nın Yaygın ve Geçerli Kullanımları

Meşru ARIA kullanım örnekleri:

<!-- 1. Custom dropdown (no native equivalent): -->
<div role="combobox" aria-expanded="false">...</div>

<!-- 2. Loading state announcement: -->
<div role="status" aria-live="polite">Loading results...</div>

<!-- 3. Override landmark label: -->
<nav aria-label="Primary navigation">...</nav>

<!-- 4. Associate error with input: -->
<input aria-describedby="error-msg">
<span id="error-msg" role="alert">Invalid email</span>

Geçersiz ARIA Kullanımı

Yaygın ARIA hataları:

<!-- BAD: ARIA role contradicts the element -->
<h2 role="button">Heading</h2>  <!-- don't turn a heading into a button -->

<!-- BAD: ARIA on an unsupported element -->
<div role="listitem">Item</div>  <!-- listitem must be inside list role -->

<!-- BAD: ARIA where HTML works fine -->
<p role="paragraph">Text</p>  <!-- p already has paragraph semantics -->

<!-- BAD: aria-label on hidden element -->
<span aria-hidden="true" aria-label="something">  <!-- contradictory -->

Bölge Rolleri

ARIA bölge rolleri, ekran okuyucu kullanıcılarının sayfa bölgelerinde gezinmesine yardımcı olur:

<div role="banner">     <!-- header for the whole page -->
<div role="navigation">  <!-- major navigation -->
<div role="main">        <!-- main content -->
<div role="complementary"> <!-- aside content -->
<div role="contentinfo"> <!-- page footer -->
<div role="search">      <!-- search form -->
<div role="form">        <!-- form with label -->

<!-- These are ONLY needed if using divs instead of semantic elements -->
<!-- Prefer the native HTML elements instead -->

ARIA Uygulamasını Sınama

ARIA'nızın doğru olduğunu nasıl doğrulayabilirsiniz:

  • Chrome/Firefox DevTools'undaki Erişilebilirlik panelini kullanın
  • VoiceOver (Mac) veya NVDA (Windows) ile dinleyin
  • axe DevTools uzantısını çalıştırın
  • Erişilebilirlik ağacını denetleyin — beklediğiniz yapıyı yansıtıyor mu?

ARIA Gizleme Tuzağı

Yaygın aria-hidden hatası:

<!-- BAD: aria-hidden on element that still receives focus -->
<button aria-hidden="true">Close</button>
<!-- The button is still focusable but invisible to screen readers
     Screen reader users reach it via Tab but hear nothing -->

<!-- GOOD: for focus + hide, use hidden attribute or display:none: -->
<button hidden>Close</button>  <!-- removes from both tab order and AT -->

<!-- Or: if you must keep visible: -->
<button style="display:none" aria-hidden="true">Close</button>

Hızlı Kontrol

Bir div öğesine role="button" eklemek size otomatik olarak ne sağlar?

Özet: ARIA ve Yerel HTML

ARIA'nın temel kuralları:

  • İlk kural: mümkün olduğunda yerel HTML kullanın
  • ARIA yalnızca anlambilim ekler — davranışı sizin uygulamanız gerekir
  • Üç kategori: Roller, Özellikler, Durumlar
  • Bölge rolleri, ekran okuyucuyla gezinmeye yardımcı olur
  • DevTools Erişilebilirlik paneli ve ekran okuyucuyla sınayın

Sıkça Sorulan Sorular

“ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı” dersi ücretsiz mi?

Evet — “ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı” 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 mı Yerel HTML mi Ne Zaman Kullanılmalı” dersinde ne öğreneceğim?

ARIA'nın ilk kuralına uyun: yerel anlamsal yapıları tercih edin 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 1. dersidir.

“ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı” 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