aria-label aria-labelledby ve aria-describedby
Öğeler için erişilebilir adlar ve açıklamalar sağlayın
aria-label aria-labelledby ve aria-describedby, CoddyKit'te ücretsiz bir HTML Academy dersidir. Bu, 4 dersinin 3. 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.
Erişilebilir Adlar Neden Önemlidir?
Her etkileşimli öğenin bir erişilebilir ada ihtiyacı vardır — bu, yardımcı teknolojinin öğeyi tanımlamak için kullandığı bir metin dizesidir. Erişilebilir bir ad olmadan ekran okuyucular, bir düğmenin veya giriş alanının ne yaptığını kullanıcılara söyleyemez.
aria-label
aria-label, doğrudan bir öğe üzerinde metin biçiminde erişilebilir bir ad sağlar:
<button aria-label="Close dialog">×</button>
<!-- The × character has no accessible meaning
aria-label provides the name: 'Close dialog, button' -->
<input type="search" aria-label="Search products">
<!-- No visible label — aria-label provides the accessible name -->aria-labelledby
aria-labelledby, başka bir öğeye erişilebilir ad olarak başvurur:
<h2 id="section-title">Billing Information</h2>
<form aria-labelledby="section-title">
<!-- Form's accessible name is 'Billing Information' -->
</form>
<!-- Multiple id references: -->
<button aria-labelledby="action-verb object-name">
Delete
</button>
<span id="object-name" hidden>User Account</span>
<!-- Screen reader: 'Delete User Account, button' -->aria-describedby
aria-describedby, genişletilmiş bir açıklama sağlar (adın tamamlayıcısıdır):
<label for="pwd">Password</label>
<input
type="password"
id="pwd"
aria-describedby="pwd-hint"
>
<p id="pwd-hint">Must be 8+ characters with one uppercase letter and one number.</p>
<!-- Screen reader: 'Password [input]' then reads the description on focus -->Etiket ve Açıklama
Erişilebilir ad ile açıklama arasındaki fark:
- Erişilebilir ad — öğeyi tanımlar (aria-label, aria-labelledby veya etiket öğesi)
- Açıklama — ek bağlam sağlayarak adı tamamlar (aria-describedby)
- Ekran okuyucular şunları duyurur: ad, rol, durum → ardından açıklama
Bölge Rollerinde aria-label
Aynı türden birden çok bölgeyi ayırt etmek için aria-label kullanın:
<nav aria-label="Primary">...</nav>
<nav aria-label="Breadcrumb">...</nav>
<!-- Screen reader landmark list:
'Primary, navigation'
'Breadcrumb, navigation' -->
<!-- When only one nav, aria-label is optional but still helpful -->Bölümlerde aria-labelledby
Ekran okuyucu bağlamı sağlamak için bölümleri başlıklarıyla ilişkilendirin:
<section aria-labelledby="about-heading">
<h2 id="about-heading">About Our Team</h2>
<p>We are a team of passionate developers...</p>
</section>
<!-- Screen reader: 'About Our Team, region' when entering section -->aria-label ve Görünür Metin
aria-label, görünür metni geçersiz kılar — dikkatli kullanın:
<button aria-label="Delete account permanently">
Delete
</button>
<!-- Screen reader hears: 'Delete account permanently'
Sighted user reads: 'Delete' -->
<!-- Best practice: visible text and aria-label should agree
If possible, include extra context in visible text too:
<button>Delete account permanently</button> -->
<!-- aria-label should start with the visible text when possible
for speech recognition users who use voice commands -->Hatalar için aria-describedby
Hata iletilerini giriş alanlarıyla ilişkilendirin:
<label for="email">Email</label>
<input
type="email"
id="email"
aria-describedby="email-error"
aria-invalid="true"
>
<span id="email-error" role="alert">
Please enter a valid email address.
</span>
<!-- When input receives focus, screen reader reads:
'Email [field], invalid. Please enter a valid email address.' -->Birden Çok aria-describedby Başvurusu
aria-describedby birden çok öğeye başvurabilir:
<input
type="password"
aria-label="New password"
aria-describedby="pwd-hint pwd-strength"
>
<p id="pwd-hint">Must be 8+ characters.</p>
<meter id="pwd-strength" aria-label="Password strength" value="2" max="4">Medium</meter>
<!-- Both elements are announced as the description -->Görünür ve Gizli Etiketler
Görünür bir etiket kullanmak mümkün olmadığında sr-only sınıfını kullanın:
<label for="search" class="sr-only">Search</label>
<input type="search" id="search" placeholder="Search...">
/* Visually hidden but in accessibility tree: */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}Hızlı Kontrol
aria-label ile aria-labelledby arasındaki fark nedir?
Özet: ARIA Etiketleri
Erişilebilir adlandırmanın temel kuralları:
aria-label— görünür etiketi olmayan öğeler için satır içi metin adıaria-labelledby— mevcut görünür metne kimliğiyle başvururaria-describedby— tamamlayıcı açıklama (addan sonra okunur)- Görünür etiketleri ve yerel HTML etiket öğelerini tercih edin
- Bölge rollerindeki aria-label, aynı türden birden çok bölgeyi ayırt eder
Sıkça Sorulan Sorular
“aria-label aria-labelledby ve aria-describedby” dersi ücretsiz mi?
Evet — “aria-label aria-labelledby ve aria-describedby” 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-label aria-labelledby ve aria-describedby” dersinde ne öğreneceğim?
Öğeler için erişilebilir adlar ve açıklamalar sağlayın 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 3. dersidir.
“aria-label aria-labelledby ve aria-describedby” 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
- ARIA mı Yerel HTML mi Ne Zaman Kullanılmalı
- role button alert dialog ve landmark
- aria-label aria-labelledby ve aria-describedby
- aria-hidden ve aria-live