Her denetim yardımcı teknolojiye ad, rol, durum ve değer sunmalı. Tedarikçi bileşenlerinin ve özel bileşenlerin eksik kaldığı yerleri görün.
Form öğeleri, bağlantılar ve betiklerle oluşturulan bileşenler dahil her kullanıcı arayüzü bileşeni için ad ve rol programatik olarak belirlenebilmelidir. Kullanıcının ayarlayabildiği durumlar, özellikler ve değerler programatik olarak ayarlanabilmelidir. Bu öğelerdeki değişiklikler de yardımcı teknolojiler dahil kullanıcı aracılarına sunulmalıdır.
Gündelik dille, bir ekran okuyucu ya da ses denetimi aracı "Randevu al, düğme" ya da "İlçe, açılır kutu, Alameda, kapalı" diyebilmeli, denetimi çalıştırabilmeli ve neyin değiştiğini duyabilmelidir. Bir denetim yalnızca tıklama işleyicisi olan biçimlendirilmiş bir kutuysa bunların hiçbiri yoktur.
Belirtimin amaçladığı gibi kullanılan yerel HTML denetimleri bunu ücretsiz yapar. İş, bir denetim genel öğelerden kurulduğunda ya da betik bir denetimin anlamını ya da durumunu değiştirdiğinde başlar.
Tarih seçiciler, randevu ızgaraları, adres otomatik tamamlamaları ve sohbet başlatıcıları çoğu zaman bir belediye ya da ilçe sayfasına bırakılan tedarikçi bileşenleridir. Görsel olarak denetim gibi görünürler. Erişilebilirlik ağacında ise adsız metin gruplarıdır. Ekran okuyucuya ya da sesli komutlara güvenen vatandaş, sayfa eksiksiz görünse de randevuyu alamaz.
Tedarikçi bileşenleri yaygın bir boşluktur. Satın alma sırasında yalnızca ekran görüntüsünü değil, bileşenin erişilebilirlik ağacını da isteyin.
Bir select'i taklit eden div'ler kümesinin rolü, değeri ve klavye davranışı yoktur. Yerel öğede üçü de vardır.
<div class="secici" onclick="listeyiAc()">
<span id="ilce-deger">İlçe seçin</span>
<div class="secenekler">…</div>
</div><label for="ilce">İlçe</label>
<select id="ilce" name="ilce">
<option value="">İlçe seçin</option>
<option>Çankaya</option>
<option>Yenimahalle</option>
</select>Yerel bir öğe olmadığında ARIA rol ve durumu sağlar, betik de durumu güncel tutar. Burada bir klinik hizmetleri sayfası panelleri değiştiriyor.
<div class="sekme aktif" onclick="goster('saatler')">Saatler</div>
<div class="sekme" onclick="goster('ucretler')">Ücretler</div><div role="tablist" aria-label="Klinik bilgileri">
<button role="tab" id="t-saatler" aria-selected="true"
aria-controls="p-saatler">Saatler</button>
<button role="tab" id="t-ucretler" aria-selected="false"
aria-controls="p-ucretler" tabindex="-1">Ücretler</button>
</div>
<!-- ok tuşları sekmeler arasında gezdirir; betik gösterilmedi -->
<div role="tabpanel" id="p-saatler" aria-labelledby="t-saatler">…</div>
<div role="tabpanel" id="p-ucretler" aria-labelledby="t-ucretler" hidden>…</div>Duruşma kaydı oynatıcısındaki, simgesini ve etiketini değiştiren bir sessize alma düğmesi, ekran okuyucu kullanıcısını hangi durumda olduğunu tahmin etmeye bırakır. Tek bir ad tutun ve durumu açığa çıkarın.
<button class="sessiz"><img src="sessiz.svg" alt="Sesi aç"></button>
<!-- betik tıklamada görseli ve alt metni değiştirir --><button type="button" class="sessiz" aria-pressed="false">
<img src="hoparlor.svg" alt="" />
Sessize al
</button>
<script>
dugme.addEventListener("click", () => {
const acik = dugme.getAttribute("aria-pressed") === "true";
dugme.setAttribute("aria-pressed", String(!acik));
ses.muted = !acik;
});
</script>Arama yarıçapı gibi bir şey için yerel bir aralık girişi başka bir örnektir: <input type="range"> rolünü, değerini ve değişikliklerini zaten açığa çıkarır; sürüklenebilir bir div hiçbirini çıkarmaz.
Yerel araç setleri düğmelere rollerini otomatik verir, ama yalnızca bir düğme kullanırsanız. Hareket tanıyıcısı ya da düz bir tıklama değiştiricisi olan dokunulabilir bir simgenin ne rolü ne de adı vardır.
// SwiftUI
Image(systemName: "printer")
.onTapGesture { makbuzYazdir() }// SwiftUI
Button(action: makbuzYazdir) {
Label("Makbuzu yazdır", systemImage: "printer")
}
.labelStyle(.iconOnly)// Jetpack Compose
Icon(Icons.Default.Print, contentDescription = null,
modifier = Modifier.clickable { makbuzYazdir() })// Jetpack Compose
IconButton(onClick = { makbuzYazdir() }) {
Icon(Icons.Default.Print, contentDescription = "Makbuzu yazdır")
}role="button" vermek.aria-labelledby ile başvurmadığı, display: none ile gizlenmiş etiket metni.aria-expanded'ı bir kez ayarlayıp bir daha güncellememek.Yayına almadan önce:
Title II kapsamında mobil kapsam mobil uygulamalar sayfasında ele alınır.
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.