kayıttan
11.01.2026 · 7 dk okuma
— Ali Buğatekin
Son yıllarda web uygulamalarında yalnızca “güzel görünen” arayüzler değil, herkes için erişilebilir arayüzler konuşulmaya başlandı.
Bu değişim tesadüf değil; hem teknik hem de iş tarafında ciddi bir karşılığı var.
Tam da bu noktada, modern frontend projelerinde adı giderek daha sık geçen bir altyapı öne çıkıyor: Radix UI.
Bir web uygulamasında şu etkileşimleri düşünelim:
Çoğu zaman kontrolümüz şudur:
“Mouse ile çalışıyor mu?”
Ama erişilebilirlik şunu sorar:
Bu soruların cevabı çoğu projede hayır.
Erişilebilirlik uzun süre “sonra bakarız” konusuydu.
Ama bugün:
kısacası:
Erişilebilirlik artık UX detayı değil, ürün gerekliliği.
Bir modal yazmak göründüğü kadar basit değil.
Erişilebilir bir modal için:
Bu davranışların her biri ayrı ayrı doğru uygulanmalı.
Radix UI, UI bileşenlerinin davranış katmanını çözer:
Ama şunları yapmaz:
Bu yüzden Radix UI headless bir altyapıdır.
1<Dialog.Trigger asChild>
2 <a href="/profile" className="text-blue-600 underline">
3 Open profile dialog
4 </a>
5</Dialog.Trigger>Burada:
Sonuç:
Bu, klasik UI kütüphanelerinde yıllardır yaşanan büyük bir problemin kökten çözümüdür.
Bugün birçok geliştirici doğrudan Radix UI yazmıyor. Ama shadcn/ui kullanıyor.
shadcn/ui:
Örnek bir shadcn Button:
1<Button asChild>
2 <Link href="/dashboard">Dashboard</Link>
3</Button>Burada:
Radix UI’ın popülerliğinin en büyük sebebi de bu görünmez altyapı rolüdür.
Radix UI, web uygulamalarında erişilebilirliğin bir ekstra değil, temel bir yapı taşı hâline geldiği dönemin doğal sonucudur.
Bugün shadcn/ui kullanan herkes, farkında olarak ya da olmayarak Radix UI’nin erişilebilirlik yaklaşımını kullanıyor.
yararlı bulduysan paylaş