Erişilebilir CSS Spinner Oluşturucu

Sonraki

Dönen bir halka, ekran okuyucu kullanan biri için bir anlam taşımaz; sürekli hareket ise hareketten etkilenen kişileri rahatsız edebilir. Spinner’ı burada oluşturun, ardından aşağıdaki işaretlemeyi ve azaltılmış hareket kuralını ekleyin.

Spinner’ı erişilebilir yapma

  1. 1

    Halkayı oluşturun

    Araçta Boyut, Kalınlık, Renk ve Hız değerlerini ayarlayın, ardından CSS kodunu kopyalayın.

  2. 2

    Renk kontrastını kontrol edin

    Açık gri iz ile sayfa arka planından net biçimde ayrışan bir yay rengi seçin.

  3. 3

    Durum işaretlemesini ekleyin

    Bu sayfada gösterildiği gibi spinner öğesine bir rol ve etiket verin.

  4. 4

    Azaltılmış hareket kuralını ekleyin

    Aşağıdaki medya sorgusunu oluşturulan CSS’in altına yapıştırın.

Oluşturulan CSS neyi kapsar, neyi kapsamaz

Araç görsel kısmı verir: çerçeveli bir daire ve bir dönüş. Yalnızca görsel olan bir yükleme göstergesi, öğe boş olduğu için yardımcı teknolojiler için bir anlam taşımaz. Erişilebilirliği, işaretleme ve bunun etrafına eklediğiniz tek bir ek CSS kuralı sağlar.

Durumu duyuran işaretleme

<div class="loader" role="status" aria-label="Sonuçlar yükleniyor"></div>

role="status" öğeyi bir canlı bölge olarak işaretler; bu sayede birçok ekran okuyucu, öğe belirdiğinde etiketini okur. aria-label genel bir kelime yerine neyin yüklendiğini söylemelidir, örneğin “Sonuçlar yükleniyor” veya “Kaydediliyor”. İş bittiğinde öğeyi kaldırın ve yeni içeriği gösterin.

Halkanın yanına görünür bir metin de koyabilirsiniz. Görünür metin, hareketi iyi göremeyen kişiler de dahil herkese yardımcı olur.

Azaltılmış harekete saygı gösterin

Bazı ziyaretçiler, sitelerden animasyonları sınırlamasını isteyen bir sistem ayarını açar. Bunu, oluşturulan CSS’in arkasına koyduğunuz bir medya sorgusuyla karşılayın:

@media (prefers-reduced-motion: reduce) {
  .loader {
    animation-duration: 3s;
  }
}

Bu kural dönüşü kaldırmak yerine yavaşlatır; böylece gösterge hızlı hareket etmeden canlı görünmeye devam eder. Statik bir sinyal tercih ederseniz animation: none; kullanın ve halkanın yanında “Yükleniyor” metnini gösterin.

Kontrast ve boyut kontrol listesi

Kontrol Hedeflenen değer
Yayın sayfaya karşı görünürlüğü Net görünür; ideal olarak 3:1 veya daha yüksek oran
Yayın gri iz karşısındaki ayrımı Belirgin; yayın takip edilebilmesi için
Boyut Ziyaretçinin fark etmesi gereken öğeler için en az 24 px
Hız Tur başına 0,8 ile 1,5 saniye arası

Sınırlar

  • Oluşturucu iz rengini (#eee) sizin için seçer. Sayfa arka planınız buna yakınsa bunu kopyaladığınız CSS’te düzenleyin.
  • Çok hızlı bir hız değeri halkanın titremesine neden olur. Yaklaşık 0,5 saniyenin altındaki değerlerden kaçının.
  • Uzun beklemelerde yalnızca spinner’a güvenmeyin. Neler olduğunu metinle bildirin.

Hızlıca test edin

İşletim sisteminizde azaltılmış hareket seçeneğini açın ve sayfayı yenileyin: halka daha yavaş dönmelidir. Ardından klavyeyle sayfada gezinerek spinner’ın ziyaretçinin kullandığı kontrolden odağı hiçbir zaman almadığını doğrulayın. Son olarak bir ekran okuyucu açın ve yükleme durumunu bir kez tetikleyin; etiketin öğe belirdiğinde okunup okunmadığını ve yeni içeriğe daha sonra erişilip erişilemediğini duyun.

Sık Sorulan Sorular

Yalnızca işaretleme eklediğinizde. Boş bir öğe sessizdir; bu yüzden ona role=“status” ve açıklayıcı bir aria-label verin.

Bir ziyaretçi cihazından animasyonları azaltmasını istediğinde eşleşen bir CSS medya sorgusudur. Spinner’ı yavaşlatmak veya durdurmak için kullanabilirsiniz.

İkisi de kabul edilebilir. Yavaşlatmak bir etkinlik hissi bırakır; “Yükleniyor” gibi bir metin mesajı da gösteriyorsanız durdurmak en güvenli seçimdir.

Eylemi sade sözcüklerle tanımlayın, örneğin “Sonuçlar yükleniyor” veya “Değişiklikler kaydediliyor”. “spinner” gibi belirsiz etiketlerden kaçının.

Daha büyük boyut ve güçlü kontrast onu daha kolay görünür kılar, ancak yardımcı teknolojilerin okuduğu metin etiketinin yerini tutmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur

Rehberler ve kullanım örnekleri