:user-valid ve :user-invalid sözde sınıfları

:user-valid

Tarayıcı desteği

  • Chrome: 119..
  • Kenar: 119..
  • Firefox: 88..
  • Safari: 16.5..

Kaynak

:user-invalid

Tarayıcı desteği

  • Chrome: 119..
  • Edge: 119.
  • Firefox: 88..
  • Safari: 16.5.

Kaynak

Kullanıcı girişi, herhangi bir kullanıcı arayüzündeki en hassas konulardan biridir. Kullanılabilir bir uygulama, kullanıcıların girişlerindeki hataları görmelerine, anlamalarına ve düzeltmelerine yardımcı olmalıdır. :user-valid ve :user-invalid sözde sınıf seçicileri iyileştirmeye yardımcı olur yalnızca hatalarla ilgili geri bildirim vererek giriş doğrulama kullanıcı deneyimi kullanıcı girişi değiştirdikten sonra. Bu yeni seçicilerle, bir kullanıcının değiştirdiği girişi takip etmek için durum bilgili kod yazmamız gerekir.

Kullanıcı etkileşimi sözde sınıf seçicileri

:user-valid ve :user-invalid sözde sınıf seçicileri, mevcut :valid ve :invalid sözde sınıflarına benzer. Her ikisi de form kontrolüne dayalı mevcut değerinin doğrulama kısıtlamalarını karşılayıp karşılamadığına göre kontrol eder. Ancak avantajı, yeni :user-valid ve :user-invalid sözde sınıflarının avantajıdır: ancak kullanıcı önemli ölçüde etkileşimde bulunduktan sonra bir form kontrolüyle eşleşiyorsa girdi.

Zorunlu ve boş bir form denetimi, kullanıcı sayfayla etkileşime geçmeye başlamamış olsa bile :invalid ile eşleşir. Ancak aynı form kontrolü, kullanıcı girişi değiştirip:user-invalid geçersiz durum.

:user-valid ve :user-invalid sözde sınıflarını kullanma

Gösterildiği gibi giriş, seçim ve metin alanı denetimlerine stil eklemek için bu sözde sınıfları kullanın aşağıdaki örneklerde:

input:user-valid,
select:user-valid,
textarea:user-valid {
  border-color: green;
}

input:user-invalid,
select:user-invalid,
textarea:user-invalid {
  border-color: red;
}
<input required="required" />

<select required="required">
  <option value="">Choose an option</option>
  <option value="1">One</option>
</select>

<textarea required="required"></textarea>

Karşılaştırma için 3 ekran görüntüsünü yan yana birleştiren resim. Her ekran görüntüsünde aynı giriş, seçim ve metin alanı kontrollerine sahip bir web formu gösteriliyor. İlk ekran görüntüsünde form herhangi bir kullanıcı girişinden önce başlangıç durumunda gösteriliyor. Kontrol kenarlıkları gridir ve aşağıdaki yardım metni, her bir kontrolün şu anda :geçersiz sözde sınıf seçiciyle eşleşeceğini açıklar. İkinci ekran görüntüsü, kullanıcı her kontrol için giriş yaptıktan sonra aynı formu gösterir. Kontrol kenarlıkları yeşildir ve aşağıdaki yardım metni, her kontrolün şu anda hem :geçerli hem de :kullanıcı-geçerli sözde sınıf seçicileriyle eşleşeceğini açıklar. Üçüncü ve son ekran görüntüsü, kullanıcı tüm girişlerini kaldırdıktan sonra aynı formu gösterir. Kontrol kenarlıkları kırmızıdır ve aşağıdaki yardım metninde, her kontrolün şu anda hem :invalid hem de :user-invalid sözde sınıf seçicileriyle eşleşeceği açıklanmaktadır.

Seçiciler, kullanıcı etkileşimlerinin ve doğrulama kısıtlamalarının bir kombinasyonuna göre eşleştirilir. Uygulamalarını görmek için aşağıdaki demoyu izleyin:

Daha az kodla daha iyi kullanıcı deneyimi

Bu sözde sınıflar olmadan, :user-valid ve :user-invalid tarafından sağlanan kullanıcı deneyimine ulaşmak için ek durum bilgisi içeren kod yazmak gerekiyordu. O için gereken kodu (yani ilk değeri, mevcut odak durumunu) kullanıcının değerde yaptığı değişikliklerin kapsamını, ekstra bir geçerlilik kontrol edin ve son olarak, stil olarak seçilecek bir sınıf ekleyin. Artık RACI matrisleri otomatik olarak oluşturacaktır.

Diğer kaynaklar

Unsplash'taki Behzad Ghaffarian tarafından çekilen kapak fotoğrafı.