Design Systems & Component Libraries · Ders

Erişilebilirlik İçin En İyi Uygulamalar (a11y)

Engelli kullanıcılar da dâhil olmak üzere tüm kullanıcıların bileşenlerinize erişebilmesini sağlamak için kapsayıcı tasarım ilkelerini uygulayın.

3. ders / 411 adım

Erişilebilirlik İçin En İyi Uygulamalar (a11y), CoddyKit'te ücretsiz bir Design Systems & Component Libraries 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, Design Systems & Component Libraries öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Design Systems & Component Libraries kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

What is Accessibility (a11y)?

Accessibility, often shortened to a11y, means designing and building products that everyone can use, regardless of their abilities.

  • It ensures people with disabilities can perceive, understand, navigate, and interact with your UI components.
  • This includes users with visual, auditory, motor, and cognitive impairments.
  • Building accessible components benefits all users, improving overall usability.

Why a11y Matters

Ignoring accessibility can exclude a significant portion of your potential users. Beyond ethical considerations, there are strong practical and legal reasons:

  • Wider Audience: Reach more users globally.
  • Improved SEO: Many a11y practices align with good SEO.
  • Legal Compliance: Avoid potential lawsuits and comply with laws like the ADA.
  • Better UX for All: Features like keyboard navigation or clear contrast help everyone.

WCAG: The Guiding Standard

The Web Content Accessibility Guidelines (WCAG) are the international standard for web accessibility, developed by the W3C.

WCAG is structured around four main principles, often remembered by the acronym POUR:

  • Perceivable: Information must be presented in ways users can perceive.
  • Operable: Interface components and navigation must be operable.
  • Understandable: Information and the operation of the user interface must be understandable.
  • Robust: Content must be robust enough to be interpreted reliably by a wide range of user agents, including assistive technologies.

Semantic HTML: The Foundation

Using the correct HTML elements is the most fundamental step for accessibility. Semantic HTML provides meaning to content, which assistive technologies can understand.

For example, use a <button> for a button, not a <div> styled to look like one. This gives it built-in keyboard interaction and roles.

Try running this example:

<!DOCTYPE html>
<html>
<head>
  <title>Semantic Button</title>
</head>
<body>
  <button onclick="alert('Clicked!')">
    Click Me (Semantic)
  </button>
  <div style="
    padding: 10px;
    border: 1px solid blue;
    display: inline-block;
    cursor: pointer;
    margin-left: 10px;
  " onclick="alert('Clicked!')">
    Click Me (Non-Semantic)
  </div>
</body>
</html>

ARIA Attributes: Enhancing Semantics

Sometimes, native HTML isn't enough to convey the full meaning or state of a complex UI component. This is where WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) comes in.

ARIA attributes provide additional semantic information to assistive technologies, but they don't change how an element looks or behaves for sighted users.

  • Roles: Define the type of UI element (e.g., role="alert", role="navigation").
  • States: Describe the current condition of an element (e.g., aria-expanded="true", aria-checked="false").
  • Properties: Give attributes to an element (e.g., aria-labelledby="heading").

Using ARIA Labels

The aria-label attribute is crucial for providing an accessible name for elements that might otherwise lack one, or whose visual label isn't sufficient.

It's often used for icon-only buttons or when a button's purpose isn't clear from its visual text alone.

Try running this example:

<!DOCTYPE html>
<html>
<head>
  <title>ARIA Label Example</title>
  <style>
    .icon-button {
      background: none;
      border: none;
      font-size: 24px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <button class="icon-button" aria-label="Delete item">
    🗑️
  </button>
  <p>The trash icon button has an accessible name "Delete item" for screen readers.</p>
</body>
</html>

Keyboard Navigation & Focus

Many users, including those with motor impairments or who are blind, navigate websites using only a keyboard. Ensure all interactive elements are reachable and operable via keyboard.

  • Tab Order: Elements should be navigable in a logical order using the Tab key.
  • Focus Indicators: Make sure the focused element is clearly visible (e.g., with an outline).
  • Interactive Elements: Buttons, links, and form controls should be operable with Enter or Space.
  • tabindex: Use tabindex="0" for elements not naturally focusable but needing to be, and tabindex="-1" to make elements focusable programmatically but not via tab key. Avoid tabindex values greater than 0.

Color Contrast for Readability

Sufficient color contrast between text and its background is vital for users with low vision or color blindness. WCAG recommends specific contrast ratios:

  • Normal Text: At least 4.5:1 contrast ratio.
  • Large Text (18pt/24px or 14pt/18.66px bold): At least 3:1 contrast ratio.
  • UI Components/Graphical Objects: At least 3:1 contrast ratio against adjacent colors.

Use online contrast checkers or browser developer tools to verify your color choices.

Alternative Text for Images

Images convey visual information, but screen readers cannot 'see' them. The alt attribute provides a textual description of an image.

  • Descriptive alt: For informative images, describe the content and function.
  • Empty alt (alt=""): For purely decorative images that don't convey essential information.
  • Avoid Redundancy: Don't start with "Image of..." if it's obvious.

Try running this example:

<!DOCTYPE html>
<html>
<head>
  <title>Alt Text Example</title>
</head>
<body>
  <img src="https://via.placeholder.com/150/0000FF/FFFFFF?text=Blue+Square" 
       alt="A blue square" width="150" height="150">
  <p>The image above has an alt text description for screen readers.</p>
  
  <img src="https://via.placeholder.com/150/CCCCCC/000000?text=Decorative" 
       alt="" width="150" height="150">
  <p>This image is decorative and has an empty alt attribute.</p>
</body>
</html>

Accessibility Check

Which of the following practices is BEST for ensuring a button is accessible to all users, especially those using screen readers?

Recap: Building Inclusive UIs

In this lesson, we explored the critical aspects of building accessible UI components. We learned that a11y ensures everyone can use your products, following WCAG principles.

  • Semantic HTML is the foundation.
  • ARIA attributes enhance semantics for complex components.
  • Keyboard navigation is essential for operability.
  • Color contrast ensures readability.
  • Alt text describes images for screen readers.

By applying these best practices, you create a more inclusive and robust user experience for all.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Design Systems & Component Libraries öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
48

Sıkça Sorulan Sorular

“Erişilebilirlik İçin En İyi Uygulamalar (a11y)” dersi ücretsiz mi?

Evet — “Erişilebilirlik İçin En İyi Uygulamalar (a11y)” 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 Design Systems & Component Libraries kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Design Systems & Component Libraries kursu toplamda 4 dersten oluşur.

“Erişilebilirlik İçin En İyi Uygulamalar (a11y)” dersinde ne öğreneceğim?

Engelli kullanıcılar da dâhil olmak üzere tüm kullanıcıların bileşenlerinize erişebilmesini sağlamak için kapsayıcı tasarım ilkelerini uygulayın. Design Systems & Component Libraries 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.

Design Systems & Component Libraries öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Design Systems & Component Libraries, 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.

“Erişilebilirlik İçin En İyi Uygulamalar (a11y)” 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 Design Systems & Component Libraries dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Design Systems & Component Libraries 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

  1. Durumsuz ve Durumlu Bileşenler
  2. Özellikler, Durum ve Olay İşleme
  3. Erişilebilirlik İçin En İyi Uygulamalar (a11y)
  4. Birleştirme ve Children Deseni
← Design Systems & Component Libraries Sayfasına Dön