Bunun için JavaScript’e ihtiyacınız yok
(htmhell.dev)- Web özellikleri geliştirirken HTML, CSS, JavaScript sırasıyla daha az güçlü teknolojileri önce değerlendirmek, yükleme hatalarını ve erişilebilirlik sorunlarını azaltmak açısından avantajlıdır
- JavaScript tarayıcı davranışını doğrudan kontrol edebilir, ancak ek kaynaklar ve hata olasılığı nedeniyle klavye ve yardımcı teknoloji kullanıcılarını dışarıda bırakmayı kolaylaştırır
- Eskiden JavaScript gerektiren onay kutusu anahtarları,
datalist,input type="color",details/summary,dialoggibi özellikler artık HTML/CSS’in yerleşik özellikleriyle büyük ölçüde mümkün hale geldi - HTML ve CSS’in bildirimsel özellikleri, tarayıcının yerel davranışı, kullanıcı ortamı ayarlarını ve erişilebilirlik uyarlamalarını üstlenebilmesini sağlayarak daha iyi varsayılanlar sunabilir
- Alışılmış JavaScript uygulamaları çalışmaya devam etse bile güncel HTML/CSS alternatiflerini düzenli olarak kontrol etmek, değişiklik yaparken de erişilebilirlik testlerini birlikte yürütmek gerekir
En az yetki kuralı
- En az yetki kuralı, hedefe ulaşabilecek en az güçlü dili seçmeyi söyleyen bir web geliştirme ilkesidir
- Web’de bu genellikle HTML’i CSS’ten, CSS’i de JavaScript’ten önce değerlendirmek şeklinde uygulanır
- JavaScript bu üç teknoloji içinde en çok yönlü olanıdır, ancak yükü de buna paralel olarak daha büyüktür
- Bozulabilir
- Yüklenemeyebilir
- İndirme, ayrıştırma ve çalıştırma için ek kaynaklar gerektirir
- Klavye kullanıcılarını ve yardımcı teknoloji kullanıcılarını dışarıda bırakmayı kolaylaştırır
- HTML ve CSS, emirsel JavaScript’ten farklı olarak bildirimsel çalışır
- Geliştirici tarayıcıya ne istediğini bildirir; uygulama yöntemini tarayıcı seçer
- Tarayıcı daha verimli bir işleme yöntemini seçebilir
- Tarayıcı HTML/CSS özelliklerini işlediğinde performans, yerel davranış, kullanıcı ortamı ayarlarına uyum ve erişilebilirlik açısından avantaj sağlayabilir
- Ancak erişilebilirlik her zaman otomatik olarak garanti edilmez
Eskiden JavaScript gerektiren özellikler
- Tarayıcı geliştiricileri ve spesifikasyon yazarları, birkaç yıl öncesine kadar JavaScript gerektiren özellikleri CSS ve HTML’e taşımaya devam etti
- Web geriye dönük uyumluluğu koruduğu için, bir kez öğrenilen uygulama biçimleri araç kutusunda kalıp tekrar tekrar kullanılmaya yatkındır
- Bir özellik için JavaScript gerektiğini biliyor olsanız bile bunun hâlâ geçerli olup olmadığını ara sıra kontrol etmek daha iyi web siteleri yapmanıza yardımcı olabilir
Onay kutusuyla yapılan özel anahtar
- Özel anahtarlar
div,onclickişleyicisi ve iç durum yerine temel onay kutusu ve CSS ile uygulanabilir <label>içine<input type="checkbox">koyarsanız tarayıcı ikisini birbirine bağlar- Etiketin herhangi bir yerine tıklamak onay kutusunu değiştirir
- Ayrı bir
onclickişleyicisi gerekmez
appearance: none, tarayıcının varsayılan form denetimi çizimini durdurur ve doğrudan stil vermenizi sağlarinputöğesinin kendisi anahtar arka planı gibi süslenebilir::before, açılıp kapanan iç nokta olarak kullanılabilir
:checkedsözde sınıfı, işaretli olma durumuna göre arka plan rengini ve::beforekonumunu değiştirebilir- Klavye kullanıcıları için odak göstergesi gerekir
- Odağı
outline: noneile gizlemek iyi bir yöntem değildir :focus-visible, yalnızca klavye etkileşiminde iyi görünen bir odak halkası gösterebiliroutline-offsetile odak dış çizgisini öğenin dışına veya içine ayarlayabilirsiniz
- Odağı
input:focus { outline-color: transparent; }, normal durumlarda dış çizgiyi saydam yapıp yüksek kontrast modunda kullanıcının seçtiği renkle yeniden görünür hale getirebilir- Zorunlu renkler modu hakkında daha fazlası için forced colors explained yazısına bakılabilir
datalist ile yerel otomatik tamamlama
datalist, kullanıcı yazarken seçenek listesini gösteren tarayıcı yerleşik otomatik öneri özelliğidir- Yapısı basittir
datalistöğesineidve birden çokoptioneklenirinputöğesininlistniteliğiyle ilgilidatalistbağlanır
- Kullanıcı yazdığında tarayıcı açılır listeyi gösterir ve seçenekleri girilen içeriğe göre otomatik olarak filtreler
- Bu temel bir giriş alanı olduğu için listede olmayan değerler de doğrudan girilebilir
- Giriş alanını seçtikten sonra ok tuşlarıyla listede gezinebilir veya tarayıcının eklediği açılır liste simgesine tıklayarak tüm seçenekleri görebilirsiniz
input type="color"ın varsayılan renk seçicisi
- Tek satır
<input type="color">ile tarayıcının yerel renk seçicisini kullanabilirsiniz - Çok sayıda JavaScript ile oluşturulmuş canvas arayüzlerinin ve kaydırıcıların yerini alabilir
- Chromium tarayıcılarındaki yerel renk seçici yalnızca site içinde değil, ekranın herhangi bir yerinden renk seçebilir
- Her kullanıcı tarayıcı renk seçicisini kullanamayabileceği için, normal metin girişi gibi renk seçmenin başka bir yolunu da birlikte sunmak iyi olur
details ve summary ile akordeon
detailsvesummaryöğeleri, içeriği kapatıp açan akordeon yapısını tarayıcının varsayılan özelliği olarak sunar- Varsayılan davranış basittir
detailsiçindeki içerik,summaryhariç gizlenir- Kullanıcı
summaryöğesine tıkladığında kalan içerik gösterilir
openniteliği başlangıçta açık durumu belirtir- Kullanıcı etkileşiminden sonra sabit kalan bir değer değildir; kullanıcı açıp kapattıkça durum değişir
summary::markerile varsayılan üçgen işaretçi stillendirilebilir- İçerik emoji vb. ile değiştirilebilir
- Arka plan rengi, arka plan görseli, yazı tipi boyutu gibi değerler ayarlanabilir
- Birçok CSS özelliği çalışmaz ve tamamen farklı bir konuma yerleştirme gibi stillendirmeler sınırlıdır
- Safari’de
::-webkit-details-markersözde öğesi gerekir - İşaretçi içeriğini değiştirmek, yardımcı teknolojilerin akordeonu duyurma biçimini etkileyebileceğinden details/summary inconsistencies yazısına başvurulabilir
summarytıklanabilir olsa da varsayılan olarak bağlantı gibi imleç göstermediği ve düğme gibi görünmediği için, tıklanabilir olduğunu göstermek üzere hover ve focus durumları eklenmelidir
dialog ile modal
alert(),prompt(),confirm()kullanıcıya bildirim gösterebilir veya onay alabilir, ancak ana iş parçacığını kilitler ve tasarıma uygun şekilde stillendirilmesi zordur- Kendi diyalogunuzu oluşturduğunuzda erişilebilirlik işlemleri karmaşıklaşır
- Odağı diyalog içinde tutmak gerekir
- Modal olduğunu bildirmek gerekir
- Kullanıcının yanlışlıkla dışarı çıkmasını engellemek gerekir
- Çok yüksek
z-indexdeğerine sahip widget’larla çakışabilir
- Tarayıcının
dialogöğesi yerel diyalog sağlar - Şu anda diyalogu açmak için JavaScript gerekir
- JavaScript olmadan açmayı sağlayacak değişiklik üzerinde çalışılıyor, ancak henüz tam olarak spesifikasyona girmiş veya uygulanmış değil
- Diyalogu
showModal()fonksiyonuyla açabilirsiniz
dialog, top layer içinde açılır- top layer, HTML’den ayrı yeni bir katmandır
- Bu katmandaki öğeler,
z-indexve yığınlama bağlamı iç içeliğinden bağımsız olarak her zaman üstte gösterilir - Kavram açıklaması için MDN’deki Top layer sayfasına bakılabilir
dialogvarsayılan bir kapatma arayüzü sağlamadığı için bunu kendiniz eklemeniz gerekirform method="dialog"gönderildiğinde tarayıcı diyalogu kapatır- İki gönder düğmesine farklı
valuedeğerleri koyarsanız onay diyalogu gibi kullanılabilir closeolayındadialog.returnValueokunarak kullanıcının bastığı düğmenin değeri kontrol edilebilir- Ek form verileri FormData ile okunabilir
dialog::backdrop, diyalog ile sayfanın geri kalanı arasındaki katmandır- Arka planı karartarak veya bulanıklaştırarak kullanıcının dikkatini diyaloga yönlendirebilir
- Tarayıcı yerleştirdiği için kaydırma, sabit öğeler ve tarayıcı boyutu değişikliklerini doğrudan ele almanız gerekmez
Daha az JavaScript ile mümkün olan özellikler
- JavaScript’i azaltabileceğiniz daha çok özellik vardır
scroll-behavior: smoothile yerel yumuşak kaydırma- Yalnızca
prefers-reduced-motion: no preferenceuyduğunda kullanma koşulu eklenir
- Yalnızca
scroll-snapile yerel carouselposition: stickyile “in-view” öğeler- Konteyner sorguları
- Gelecekte eklenecek özellikler de var
- Kaydırmaya dayalı animasyonlar
masonry.jsolmadangrid-template-rows: masonryile yapılan Masonry yerleşimi- Yeni
selectlistöğesiyle tamamen stillendirilebilirselect - JavaScript seçim kodlarının bir kategorisini azaltabilecek
:has()seçicisi
- İlgili içerikleri Stop Using JavaScript for That: Moving Features from JS to CSS and HTML. sunum videosunda daha fazla görebilirsiniz
- Önceden doğrulanmış bir uygulamayı yeni bir yöntemle değiştirirken, özellikle kimseyi dışarıda bırakmamak için erişilebilirliği test etmek gerekir
1 yorum
Hacker News yorumları
Bu yazıda eksik kalan nokta, böyle yerlerde JavaScript kullanılmasının nedeninin uyumluluğun daha iyi olması
Yeni JavaScript transpile edilebilir, ama eksik CSS ya da HTML özelliklerini polyfill ile tamamlamak çok daha zor, bazı durumlarda imkânsızdır. Üstelik o polyfill de eninde sonunda JavaScript kullanır
appearanceiçin MDN’de bile,appearance: noneiçin dahi kapsamlı test yapılması gerektiğine dair çok sayıda uyarı var. Yalnızca modern tarayıcıları destekliyorsanız daha az önemli olabilir, ama eski Safari sürümleri sanıldığından daha uzun süre ortalıkta kalıyordatalist, Firefox Android’de hiçbir şey yapmıyor; bende önerileri bile olmayan bir giriş kutusu gibi görünüyorRenk seçici güzel, ama aşırı derecede standart dışı olduğu için çoğu işletme açısından ölümcül. Sadece tasarımcılar şikâyet etmiyor; müşteri desteğinin kullanıcılara yardım etmesi de zorlaşıyor. Chromium sayfadan renk alma ya da rastgele renk seçme işlevi bile sunuyor, Firefox Android ise yalnızca gökkuşağı, gri tonları ve siyah-beyaz gibi seçenekler veriyor
Yazının kendisi de
detailsvedialogarasındaki tutarsızlığı kabul ediyor. Bir gün bu özellikleri desteklemeyen ya da birbirleriyle tutarlı şekilde desteklemeyen tarayıcıların artık kullanılmamasını umuyorum; ama bir süre daha bu öğeler, desteklenen tarayıcıları tamamen kontrol edebildiğiniz yan projelerde kullanılacak gibi görünüyoriPhone’da düğmeye bastığınızda gerçek sistemin yerel renk seçicisi açılıyor. İşletim sisteminin sağladığı, birçok uygulamada gördüğünüz tam da o denetim ve özel yapılmış bir seçiciye göre çok daha fazla tercih ederim
JavaScript’siz web’i çok daha fazla tercih ediyorum; dizüstü bilgisayarın pil ömrünü de saatler mertebesinde etkiliyor. Bazı siteler bununla uyumlu değil; boş sayfa render ediyor ya da metni göstermek için JavaScript gerektiğinden yakınıyor
Buna karşılık Amazon’un JavaScript’siz bir e-ticaret sitesi kopyası bile var; bu da böylesine büyük bir işin JavaScript olmadan da mümkün olduğunu gösteriyor
dialogöğesinin destek kapsamı artık epey derin ve 2021 dönemi Firefox ya da Safari kullanan birkaç yüzdelik kullanıcı için polyfill de gayet yeterliModal yapıyorsanız şiddetle tavsiye ederim; erişilebilirlik iyileştirmesi harika
Eski iş yerimde bu konuyu aktif biçimde tartıştık ve
datalistgibi şeyler yerine JS implementasyonu kullanmaya karar verdik. Özellikledatalisti denedik, ama sonuçlar çok tutarsız olduğu için vazgeçmek zorunda kaldıkSonunda tarayıcılar arası tutarsızlık nedeniyle Chrome dışında desteği de kestik
HTML örnekleri eski tarayıcılarda şekil olarak bozuk görünebilir, ama gerçek içerik yerinde durur. JS’de ise hiçbir şey yoktur. Erişilebilirliği tamamen bozar
HTML ise ekran okuyucu en azından okuyabilir; JS ile oluşturulan içerik bunu engeller. JS, JS’i çalıştıramadığında hiçbir polyfill ya da başka JS, JS’i kurtaramaz. Daha en başından “çalışması” gerekir ki erişilebilirlik açısından kabul edilebilir olsun; o durumda da asıl tartışma anlamsızlaşır
Datalisti bilmiyordum; en azından Chrome Android’de düzgün çalışıyor gibi görünmüyorSeçenekler, otomatik tamamlama önerilerinin çıktığı klavye alanında görünüyor: https://imgur.com/a/Ecb4503
Mobil web arayüzlerindeki form kontrollerinde böyle bir yöntemi ilk kez gördüm; aynı alanı kullanan parola otomatik doldurma uygulamaları dışında görmemiştim
Kötü değil. Özensiz yapılmış özel JS açılır listesini tuhaf tuhaf kaydırmaktan çok daha iyi, ama sıradan bir kullanıcının bunu nasıl kullanacağını anlayacağından emin değilim. Bu yüzden mobilde fiilen umutsuz görüyorum
Firefox Android’de ise hiç desteklenmiyor: https://caniuse.com/?search=datalist
datalistaçılır listesine stil verme imkânı sağlayamaz mısınız?Referans: https://adrianroselli.com/2023/06/under-engineered-comboboxe...
JavaScript oldukça iyi standartlaştırılmış durumda, ama HTML ve CSS görece daha az
inputöğesineautocomplete="off"eklenince davranışın değişip değişmediğini merak ediyorumHer hâlükârda
datalisti doğru düzgün kullanmak için gerekli. Aksi halde değer seçme geçmişi açılır listeye ekleniyor. Bunu Chromium’da gözlemledimAyrıca varsayılan değer ayarlanmış olması gibi bazı durumlarda
datalisthâlâ JS gerektiriyor. Geçici çözümleri ve tarayıcıya özgü tuhaf davranış notlarını yeni LibreOffice web sitesi kodunda derledim: https://git.libreoffice.org/infra/libreofficeorg/+/835a5cc59...İyi haber şu ki Firefox geliştiricisi
datalistdavranışını iyileştirmeyi incelemeyi planlıyor; böylece liste tek tıklamayla gösterilebilir hâle gelebilirBenim durumumda seçenekler genelde kelime önerilerinin gösterildiği klavyenin üstündeki alanda görünüyor
datalistseçeneklerinin klavyenin içinde görünmesi son birkaç ayda ortaya çıkan bir değişiklikEskiden “normal”di; sanırım biri sırf değiştirmiş olmak için değiştirmek istemiş
scroll-behavior: smoothile yerel yumuşak kaydırma kullanmayı lütfen yalnızca sınırlı durumlarda tercih etmek gerekirSanıldığından daha fazla kullanımda iyi bir fikir değildir ve istenmeyen yan etkileri sık görülür
scroll-snapile yerel bir carousel yapılabildiği söyleniyor ama carousel hâlâ kötü bir fikir olduğu içinscroll-snapin meşru kullanım alanı son derece sınırlıKaydırma tabanlı animasyon kullanan sayfalar çoğu zaman bunu kaldırınca daha iyi olur
Yumuşak kaydırma iyi bir örnek. Yerel API, kullanıcının istediği anda bunu kesebilmesini sağlar. Çoğu JS uygulaması korkunç derecede takılır ve kullanıcıyı uğraştırır
Tasarım tercihlerini istediğin kadar azarlayabilirsin ama “carousel hâlâ kötü” için gerçek bir neden sunmazsan dinlenmeyi beklemek zor
Ama Amazon ana sayfası carousel’i belirgin biçimde kullanıyor ve bildiğim kadarıyla Amazon ana sayfa varyasyonlarını acımasızca A/B test eder. O zaman carousel’in testlerde iyi çıkmış olma ihtimali var; dolayısıyla evrensel ve nesnel anlamda gerçekten “kötü” demek muğlaklaşıyor
Genelde içindekiler tablosu tarzı anchor’ları uyguladıktan hemen sonra en azından ekliyorum
2023’te hâlâ formlar ve kullanıcının veri girdiği genel UX üzerine tartışıyor olmamız şaşırtıcı
datalistve renk seçiciyle ilgili yorumlara bakmak bile yeterli; bunun neden hâlâ çözülmüş bir alan olmadığını anlamıyorumGeçmişte XForms ile bunu tek seferde çözme girişimi vardı ama tarayıcılarda uygulanmadı
Onun yerine neredeyse tüm CSS/JS bileşen framework’leri, farklı semantiklere sahip sınırlı form öğeleri kümelerini ayrı ayrı sunuyor
Görünüşe göre ömrümüz boyunca temel UI kontrollerini kendimiz uygulayacağız
“Çözülmedi” gibi görünmesinin tek nedeni, bazı insanların JavaScript’ten kaçınma konusundaki tuhaf takıntıları yüzünden yarı pişmiş alternatifleri zorla araya sıkıştırmaya çalışması
Sıkıcı ve temel teknolojide kalacaksan zaten çözülmüş durumda. Ama React ile yeniden çözmekte, React hooks ile bir daha çözmekte ve sonsuza dek tekrar tekrar çözmekte ısrar edersen çözülmemiş olur
Niyet programatik olarak belirlenebilen bir şey olmadığı için bazı durumlarda havalı özelliklere sahip olamıyoruz
Üzerinde son çalıştığım karmaşık formda, tarayıcının izin vermesi için tıklama olayının form gönderimini oldukça doğrudan tetiklemesini sağlamak zorunda kalmıştım
Bir web sayfası üzerinden renk göndermenin yolunu hiç istemedim
JavaScript yerine
detailskullanırsan Ctrl+F onun içini arayıp açabilirJavaScript accordion’ları bu şekilde açılamaz
hidden="until-found"kullanırsan JS tabanlı accordion’larda veya başka gizli içeriklerde de bu mümkün olur; ne yazık ki şu anda yalnızca Chromium tabanlı tarayıcılarda var: https://developer.chrome.com/articles/hidden-until-found/Çoğuna katılıyorum ama
dialogu yeterince kullanmadığım için fikrim yok;datalistin ise dahili araçlar dışında geçerli bir seçenek olmadığını düşünüyorumÇirkin, yapabilecekleri sınırlı ve stil verilemiyor. “Sadece yerleşik özelliği kullanın” argümanlarının çoğundaki sorun bu.
date pickerda aynıVarsayılanı kötü olmakla kalmıyor, değiştirmek istesen de değiştiremiyorsun. Stil veya davranış değişikliğinde sayısız duvardan birine çarptığında, örneğin haftayı pazartesiden başlatmak istesen bile yapamıyorsun. O zaman seçenek genellikle JS kullanan tamamen ikame bir kütüphane oluyor
Daha hafif seçenekler kullanmayı destekliyorum ve HTML > CSS > JS katmanlaşmasına da katılıyorum; ama hem iyi görünen bir UI hem de istediğin işlevleri elde etmek için bazen JS tek cevap oluyor
datalistin işe yarayıp yaramayacağını düşündümGirilen metinle sıkı biçimde başlamayan seçenekleri göstermek istediğim ana kadar iyi çalıştı. Örneğin girişte yazım hatası varsa seçenekler görünmüyor
Tüm öğeleri zorla göstermenin bir yolu olmadığı için sonunda sıralı listeyi seçtim
Web geliştirmeye başladığımda değişim en fazla 10 yıl sürüyordu. IE6 da hepimizi geride tutuyordu ama o dönemde w3c de epey güçsüzdü. Şimdi değişim hızlı
Gelecek yıl üç büyük tarayıcıda
dataliststil verme işlemi öneksiz mümkün olabilir; ama özel JS çözümüne bağlı kalırsan işletme yeniden inşa maliyetini ödemeyecektirYerel özellikleri JS ile genişletirsen destek yeterli hâle geldiğinde düşük maliyetle JS’yi kaldırabilirsin. Yerel kontrollerin kabul edilebilir olduğu yerlerde şimdi kullan, JS’yi de polyfill gibi uygula
input[type=date]için sıkça önerilen özelleştirmelerin çoğunda kontrolün geliştiricide olmaması aslında daha iyiGösterilecek uygun takvim locale’e bağlı olmalı. Kullanıcının platformu, zaten kullanıcının etkin biçimde kullanma ihtimali en yüksek şekilde ayarlama ve gösterme işlevine sahip
Platformun tarih seçicisi, kendi yaptığın tuhaf şeyden daha iyidir
O geçiş düğmesi gerçekten iyi
Bu yazıya frontend meme geliştiricileri öfkelenmiş gibi görünüyor ama ana nokta doğru. Neden bu kadar çok aptal site JS ile yapılıyor? İnsanlar HTML gibi tek bir standardı izlese her şey tutarlı olabilir; erişilebilirlik ya da çeviri gibi şeyler de kolayca uyarlanabilir
Bugünlerde bir siteye girdiğinizde, her şeyi tek bir sayfada dinamik olarak yükledikleri için geri düğmesi bile çalışmıyor
Ayrıca yeni bir özellik geldikten sonra yeterince yaygın desteklenip işe yarar hâle gelmesi yıllar sürebilen, “insanların güncellemesini bekleme” sorunu da hâlâ var
Kötü uygulamalar ve karmaşık JavaScript düzenekleri çok olduğu konusunda genel olarak katılıyorum. Dinamik içerikte bile geri işlevini korumak için epey standartlaştırılmış çözüm var; popüler web framework’lerinin bunu varsayılan olarak desteklediğini biliyorum
Üst yorumları okudum ama öfke denebilecek pek bir şey görmedim; yalnızca tarayıcı desteği konusunda makul noktalar dile getiren insanlar görüyorum
Doğru yönde atılmış bir adım olsa da CSS de Philip Greenspun’ın “artistes” dediği kişilerin okunması zor sayfalar yapmak için kötüye kullandığı başka bir araç
Gemini destekçisi değilim ama temelde yerleşim ve tipografinin tüm yönleri tarayıcıya geri dönmeli ve kullanıcı tarafından kontrol edilmeli. Tasarımcılar bunun kendilerine güvenilip bırakılamayacağını durmaksızın gösterdi
Niyeti seviyorum; switch de güzel,
summary/detailsda bazen işe yarıyorAma
datalistöğesi, oyuncak ya da prototip ötesi kullanımlar için neredeyse hiç gerçekçi bir seçenek değilBenim sevdiğim “JS olmadan CSS yeterli” şeyler sidebar drawer ve carousel
DaisyUI adlı TailwindCSS bileşen kütüphanesinde de doğrudan kullanılabilir bileşenler var
https://daisyui.com/components/drawer/
https://daisyui.com/components/carousel/
Drawer ve sayfada beliren diğer içerik bildirilmeli; kontrol edilen hedefin yanında
aria-expandeddurumu olmalıBu hâlâ gerçek bir soru. Bir yolu olabilir ya da geliştiriciler collectively bunun önemli olmadığını düşünüyor olabilir. Denetçiler aynı fikirde olmayacaktır gerçi
Bu framework yazarları, tarayıcılar genelinde gerçekten çalışır hâle getirmek için ne kadar test gerektiğini ciddi biçimde hafife alıyor gibi
Bu kadar çok bileşen varken, üstelik tema desteği de olunca, mevcut temaları ve uygulamaları bozmadan düzeltmenin mümkün olup olmayacağı bile belirsiz
components/carousel/içindeki “Snap to [start|center|end]”i ilk kez görüyorumSnap denen şey tam olarak ne ve nasıl çalışıyor? Ekranım parmak tıklamasına tepki vermiyor
Bilinmeyen etkileşim biçimlerinin, bir UI öğeleri kütüphanesini önermek için iyi bir gerekçe olduğunu sanmıyorum