Plato Veri Zekası.
Dikey Arama ve Yapay Zeka.

Sözde Sınıflarla Erişilebilir Formlar

Tarih:

Hey, siz harika geliştiriciler oradasınız! Bu yazıda, anlamsal HTML ve harika bir CSS sözde sınıfı kullanarak basit bir iletişim formu oluşturma konusunda size yol göstereceğim. :focus-within. :focus-within class, odaklanma üzerinde mükemmel kontrol sağlar ve kullanıcılarınızın deneyimde tam olarak bu noktada olduklarını bilmelerini sağlar. Konuya girmeden önce web erişilebilirliğinin ne olduğuna değinelim.


Formun Erişilebilirliği?

Büyük ihtimalle “erişilebilirlik” terimini her yerde duymuşsunuzdur veya a11y adını da duymuşsunuzdur. Bu ne anlama geliyor? Bu pek çok cevabı olan harika bir soru. Fiziksel dünyaya baktığımızda erişilebilirlik, işletmenizdeki banyolarda kesici alet kaplarının bulunması, tekerlekli sandalye kullananlar için rampaların bulunması ve ihtiyacı olan herkesin büyük baskılı klavye gibi çevre birimlerinin hazır bulunması gibi şeyler anlamına gelir.

Erişilebilirlik yelpazesi burada bitmiyor; yalnızca harici kullanıcılar için değil şirket içi meslektaşlarımız için de bilgi sahibi olmamız gereken dijital erişilebilirliğe sahibiz. Renk kontrastı düşük asılı bir meyvedir daha başlangıçta kıstırabilmeliyiz. İşyerlerimizde, herhangi bir çalışanın ekran okuyucu gibi yardımcı teknolojiye ihtiyaç duyması durumunda, bu teknolojinin kurulu ve kullanıma hazır olduğundan emin oluyoruz. Dikkate alınması gereken pek çok şey var. Bu makale web erişilebilirliğine odaklanacaktır. WCAG (web içeriği erişilebilirlik yönergeleri) akılda.

MDN (Mozilla Geliştirici Ağı)

The :focus-within CSS sözde sınıfı, eğer öğe veya onun alt öğelerinden herhangi biri odaklanmışsa, bir öğeyle eşleşir. Başka bir deyişle, kendisi :focus sözde sınıfıyla eşleşen veya :focus ile eşleşen bir alt öğeye sahip olan bir öğeyi temsil eder. (Buna gölge ağaçların soyundan gelenler de dahildir.)

Bu sözde sınıf, kullanıcının aslında öğeyle etkileşime girdiğini vurgulamak istediğinizde gerçekten harikadır. Örneğin tüm formun arka plan rengini değiştirebilirsiniz. Veya odak bir girişe taşınırsa, odak o girişe taşındığında etiketi kalın ve giriş öğesinin daha büyük olmasını sağlayabilirsiniz. Aşağıdaki kod parçacıklarında ve örneklerde olup bitenler, formun erişilebilir olmasını sağlayan şeydir. :focus-within CSS'yi kendi avantajımıza kullanmamızın yollarından sadece biri.

Nasıl Odaklanırız?

Erişilebilirlik ve web deneyimi açısından odak, sayfada, kullanıcı arayüzünde veya bir bileşen içinde bir şeyle etkileşimde bulunulduğunun görsel göstergesidir. CSS, etkileşimli bir öğenin ne zaman odaklandığını anlayabilir.

" :focus CSS sözde sınıfı, odaklanılan bir öğeyi (form girişi gibi) temsil eder. Genellikle kullanıcı bir öğeye tıkladığında veya dokunduğunda ya da klavyenin Sekme tuşuyla öğeyi seçtiğinde tetiklenir.

MDN (Mozilla Geliştirici Ağı)

Odak göstergesinin veya odaklanılabilir öğelerin etrafındaki halkanın deneyim boyunca uygun renk kontrastını koruduğundan daima emin olun.

Odaklanma bu şekilde yazılır ve stillendirmeyi seçerseniz markanıza uyacak şekilde stillendirilebilir.

:focus {
  * / INSERT STYLES HERE /*
}

Ne yaparsanız yapın, asla taslağınızı 0 or none. Bunu yapmak, tüm deneyim boyunca herkes için görünür bir odak göstergesini kaldıracaktır. Odağı kaldırmanız gerekiyorsa bunu yapabilirsiniz, ancak bunu daha sonra tekrar eklediğinizden emin olun. Odağı CSS'nizden kaldırdığınızda veya taslağı şu şekilde ayarladığınızda: 0 or nonetüm kullanıcılarınız için odak halkasını kaldırır. Bu, CSS sıfırlama kullanıldığında çok görülür. CSS sıfırlaması, stilleri boş bir tuvale sıfırlayacaktır. Bu şekilde boş tuvalin istediğiniz gibi şekillendirilmesinden siz sorumlusunuz. CSS sıfırlamayı kullanmak istiyorsanız şuraya göz atın: Josh Comeau'nun sıfırlanması.

*Aşağıdakileri YAPMAYIN!

:focus {
  outline: 0;
}

:focus {
  outline: none;
}


İçine Bak!

CSS kullanarak odaklamayı şekillendirmenin en harika yollarından biri bu makalenin konusu. Eğer kontrol etmediyseniz :focus-within sözde sınıf, buna kesinlikle bir göz atın! Anlamsal işaretleme ve CSS kullanımı söz konusu olduğunda pek çok gizli mücevher vardır ve bu da onlardan biri. Gözden kaçan birçok şeye varsayılan olarak erişilebilir; örneğin anlamsal işaretlemeye varsayılan olarak erişilebilirdir ve her zaman div'ler üzerinde kullanılmalıdır.

<header>
  <h1>Semantic Markup</h1>
  <nav>
    <ul>
      <li><a href="/tr/">Home</a></li>
      <li><a href="/tr/about">About</a></li>
    </ul>
  </nav>
</header>

<section><!-- Code goes here --></section>

<section><!-- Code goes here --></section>

<aside><!-- Code goes here --></aside>

<footer><!-- Code goes here --></footer>

The header, nav, main, section, aside, ve footer hepsi anlamsal unsurlardır. h1 ve ul aynı zamanda anlamsal ve erişilebilirdir.

Oluşturulması gereken özel bir bileşen olmadığı sürece, div kullanımı gayet iyi, eşleştirilmiş ARIA (Erişilebilir Zengin İnternet Uygulamaları). Daha sonraki bir yazıda ARIA'ya derinlemesine bakabiliriz. Şimdilik odaklanalım… orada ne yaptığımı görelim… bu CSS sözde sınıfına.

The :focus-within sözde sınıf, içerdiği herhangi bir alt öğenin odağı olduğunda bir öğeyi seçmenize olanak tanır.


:focus-within Eylemde!

HTML

<form>
  <div>
    <label for="firstName">First Name</label><input id="firstName" type="text">
  </div>
  <div>
    <label for="lastName">Last Name</label><input id="lastName" type="text">
  </div>
  <div>
    <label for="phone">Phone Number</label><input id="phone" type="text">
  </div>
  <div>
    <label for="message">Message</label><textarea id="message"></textarea>
  </div>
</form>

CSS

form:focus-within {
  background: #ff7300;
  color: black;
  padding: 10px;
}

Yukarıdaki örnek kod, turuncu bir arka plan rengi ekleyecek, bir miktar dolgu ekleyecek ve etiketlerin rengini siyah olarak değiştirecektir.

Nihai ürün aşağıdakine benzer. Elbette stili değiştirmek için olasılıklar sonsuzdur, ancak bu sizi web'i herkes için daha erişilebilir hale getirmek için iyi bir yola sokacaktır!

Formun arka planını vurgulayan ve etiket metni rengini değiştiren css sınıfı içinde odaklanmanın ilk örneği.

Kullanmak için başka bir kullanım durumu :focus-within Etiketlerin kalınlaştırılması, farklı bir renge dönüştürülmesi veya az gören kullanıcılar için büyütülmesi olabilir. Bunun için örnek kod aşağıdaki gibi görünecektir.

HTML

<form>
  <h1>:focus-within part 2!</h1>
  <label for="firstName">First Name: <input name="firstName" type="text" /></label>
  <label for="lastName">Last Name: <input name="lastName" type="text" /></label>
  <label for="phone">Phone number: <input type="tel" id="phone" /></label>
  <label for="message">Message: <textarea name="message" id="message"/></textarea></label>
</form>

CSS

label {
  display: block;
  margin-right: 10px;
  padding-bottom: 15px;
}

label:focus-within {
  font-weight: bold;
  color: red;
  font-size: 1.6em;
}
:focus-with kullanılarak bir formdaki etiketlerin nasıl kalınlaştırılacağı, renginin ve yazı tipi boyutunun nasıl değiştirileceği gösteriliyor.

:focus-within ayrıca genel olarak harika bir tarayıcı desteğine sahip Kullanabilirmiyim.

Kullanabileceğim web sitesine göre css sözde sınıf tarayıcı desteğine odaklanın.

Sonuç

Şaşırtıcı, erişilebilir kullanıcı deneyimi yaratmak, yazılımın yalnızca harici olarak değil dahili olarak da nakliyesi sırasında her zaman en önemli öncelik olmalıdır. Biz geliştiriciler olarak, üst düzey liderliğe kadar, başkalarının karşılaştığı zorlukların ve web platformunu daha iyi bir yer haline getirmek için nasıl elçiler olabileceğimizin farkında olmamız gerekiyor.

Kapsayıcı alanlar oluşturmak için anlamsal işaretleme ve CSS gibi teknolojileri kullanmak, web'i daha iyi bir yer haline getirmenin çok önemli bir parçasıdır, ilerlemeye ve hayatları değiştirmeye devam edelim.

CSS-Tricks ile ilgili başka bir harika kaynağa göz atın: :focus-in kullanımı.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?