Her arayüz bileşeninin adını ve rolünü, durumlarını ve değerlerini açığa çıkarmasını ister; yardımcı teknoloji kullanabilsin.
Ekran okuyucu kullanıcıya bir kontrolün adını, ne olduğunu ve hangi durumda olduğunu söyler: "Abone ol, düğme", "Karanlık mod, anahtar, açık". Bir kontrol tıklama işleyicili bir div'den yapılmışsa, ekran okuyucu yararlı hiçbir şey duyurmaz; konuşma ve anahtar kullanıcıları da onu hedefleyemez.
Bu kriter, tüm kullanıcı arayüzü bileşenleri için adın ve rolün programatik olarak belirlenebilmesini, kullanıcının ayarlayabildiği durumların, özelliklerin ve değerlerin programatik olarak ayarlanabilmesini ve bu öğelerdeki değişikliklerin bildiriminin yardımcı teknolojiler dahil kullanıcı aracılarına sunulmasını ister.
aria-label adı sağlayabilir (ARIA14). aria-labelledby yakındaki metne işaret edebilir (ARIA16).Kontrolleri anlamak ve kullanmak için ad, rol ve durumlara güvenen ekran okuyucu kullanıcıları. Konuşacak bir ada ihtiyaç duyan konuşma tanıma kullanıcıları. Yazılımı kontrolleri ada göre listeleyip etkinleştiren anahtar ve klavye kullanıcıları. Odak takibiyle ekran büyüteci kullananlar. Arayüzü uyarlayan yazılım kullanan herkes.
Avrupa Erişilebilirlik Yasası (Direktif (AB) 2019/882) 28 Haziran 2025'ten sonra piyasaya sunulan kapsamdaki ürün ve hizmetler için geçerlidir. Yasanın 47. gerekçesi web siteleri ve mobil uygulamalar için dört ilkeyi sayar: algılanabilirlik, işletilebilirlik, anlaşılabilirlik ve sağlamlık. Ad, rol ve değeri açığa çıkaran bileşenler, "sağlamlık" ilkesinin parçasıdır.
Teknik karşılığı EN 301 549 standardında bulunur. Standart, WCAG 4.1.2'i atıfla alır ve ortama göre ayrı maddelere dönüştürür.
| Madde | Ortam | Ne ister? |
|---|---|---|
| 9.4.1.2 | Web sayfaları | Web içeriğinin WCAG 4.1.2 kriterini karşılamasını ister. |
| 10.4.1.2 | Web dışı dokümanlar (PDF, Office dosyaları) | Standardın kriteri dokümanlara uyguladığı yerlerde, dokümanlar etkileşimli bileşenlerin adını, rolünü ve değerini açığa çıkarmalıdır. |
| 11.4.1.2 | Web dışı yazılım (yerel mobil uygulamalar) | Yazılım, ad, rol ve değeri platformun erişilebilirlik hizmetleri üzerinden yardımcı teknolojiye açmalıdır. |
Kriterin web dışı dokümanlara uygulanıp uygulanmadığı ve nasıl uygulandığı standardın 10. maddesinde belirtilir. Madde numaraları EN 301 549'un "9. + WCAG numarası" düzenine göredir. V3.2.1'de yazılım maddesi, açık ve kapalı işlevsellik için ayrı alt maddelere bölünmüştür. Kaynak gösterirken tam numaraları standarttan kontrol edin.
Standart sürümü: EN 301 549 V4.1.1 (Eylül 2026), WCAG 2.2'yi esas alan ve EAA için hazırlanan ilk sürümdür. Henüz AB Resmî Gazetesi'nde atıf almamıştır; bu nedenle EAA gereksinimlerini karşılamanın gönüllü teknik yolu olarak görülmelidir. Atıf yapıldığında EAA ile ilgili uygunluk karinesi sağlayacaktır. 4.1.2 kriterinin metni WCAG 2.1 ve 2.2'de aynıdır.
EAA bağlamında dikkat: Yasanın Madde 2/4 hükmü bazı içerikleri gereksinimlerin dışında bırakır; örneğin 28 Haziran 2025'ten önce yayımlanmış ofis dosya biçimleri ve bu tarihten sonra güncellenmeyen arşivler. Bu tarihten sonra yayımladığınız ya da değiştirdiğiniz içerik bu istisnaların kapsamında değildir.
Directive (EU) 2019/882, EUR-Lex, İngilizce, yeni sekmede açılır
Tıklama işleyicili bir div'in rolü, adı ve klavye desteği yoktur (F59). button kullanın.
<div class="btn" onclick="subscribe()">Abone ol</div><button type="button" onclick="subscribe()">Abone ol</button>Programatik olarak belirlenen adı olmayan bir kontrol başarısız olur (F68). Ona bir ad verin (ARIA14).
<button><svg>…</svg></button><button type="button" aria-label="Kapat"><svg aria-hidden="true">…</svg></button>Tek içeriği bir görsel olan bağlantı, adını görselin metin alternatifinden almalıdır (F89).
<a href="/"><img src="logo.svg" alt=""></a><a href="/"><img src="logo.svg" alt="Corpowid ana sayfa"></a>Yerel girdi kullanamıyorsanız, rolü ve durumu açığa çıkarın, değiştiğinde durumu güncelleyin ve klavyeyi destekleyin (ARIA4, ARIA5).
<div class="check" onclick="this.classList.toggle('on')">Beni hatırla</div><div role="checkbox" tabindex="0" aria-checked="false" id="remember">Beni hatırla</div>
<script>
remember.addEventListener("click", toggle);
remember.addEventListener("keydown", e => { if (e.key === " ") { e.preventDefault(); toggle(); } });
function toggle() {
const on = remember.getAttribute("aria-checked") === "true";
remember.setAttribute("aria-checked", String(!on));
}
</script>Yardımcı teknolojiye panelin açık olup olmadığını söyleyin.
<div class="head" onclick="toggle()">Ayrıntılar</div><button type="button" aria-expanded="false" aria-controls="panel">Ayrıntılar</button>
<div id="panel" hidden>…</div>Bir span'i bağlantı gibi davranan betik, bağlantı rolünü ve klavye erişimini kaybeder (F42). Gerçek bir bağlantı kullanın.
<span class="link" onclick="location.href='/fiyatlar'">Fiyatlar</span><a href="/fiyatlar">Fiyatlar</a>Yerel bileşenler ad, rol ve durumu otomatik olarak açığa çıkarır. Özel bir kontrol oluşturduğunuzda rolünü, adını ve durumunu kendiniz ayarlayın.
import SwiftUI
struct DarkModeSwitch: View {
@Binding var isOn: Bool
var body: some View {
// Bir Image'den oluşturulan özel kontrol. Ona ad, rol ve değer verin
Image(systemName: isOn ? "moon.fill" : "moon")
.onTapGesture { isOn.toggle() }
.accessibilityLabel("Karanlık mod")
.accessibilityAddTraits(.isButton)
.accessibilityValue(isOn ? "Açık" : "Kapalı")
// Daha iyisi Toggle("Karanlık mod", isOn: $isOn) kullanmaktır
}
}import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.semantics.Role
@Composable
fun DarkModeRow(checked: Boolean, onChange: (Boolean) -> Unit) {
// toggleable; rolü, durumu ve tıklama eylemini açığa çıkarır
Row(
modifier = Modifier.toggleable(
value = checked,
role = Role.Switch,
onValueChange = onChange
)
) {
Text("Karanlık mod")
// Görsel anahtar burada çizilir
}
}div ve span kontroller: Rol ve klavye desteği yok (F59, F42).aria-expanded ya da aria-checked.Corpowid, dijital erişilebilirlik alanındaki yenilikçi yaklaşımı ve performansı nedeniyle dünyanın önde gelen araştırma ve danışmanlık şirketlerinden biri olan Gartner tarafından takdir edilmiştir. Bu rozetler, yapay zeka destekli ve kapsayıcı web deneyimleri oluşturma konusundaki kararlılığımızı yansıtmaktadır.