Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTML <fieldset> etiketi, form içinde birbiriyle ilişkili kontrolleri anlamlı bir grup hâline getirir. Grubun açıklaması çoğunlukla ilk <legend> öğesiyle verilir. Örneğin teslimat seçimi, iletişim tercihi veya aynı sorunun radyo düğmeleri tek bir grup olarak tanımlanabilir.

Fieldset yalnız çevresine çizgi çizilen bir kutu değildir. Gruplama anlamı, özellikle kontrollerin hangi ortak soruyu yanıtladığını belirtmek için önemlidir. Tek tek input alanlarının label açıklamaları yine gereklidir; legend bunların yerine geçen tek bir etiket olarak düşünülmemelidir.

Fieldset ile legend nasıl birlikte kullanılır?​


Aşağıdaki bölüm mevcut bir formun içine yerleştirilebilir. Örnek form gönderimi kurmaz; yalnız ilişkili radyo kontrollerini gruplar:

HTML:
<fieldset>
  <legend>Tercih ettiğiniz iletişim kanalı</legend>

  <label>
    <input type="radio" name="kanal" value="eposta">
    E-posta
  </label>

  <label>
    <input type="radio" name="kanal" value="telefon">
    Telefon
  </label>
</fieldset>

Aynı name değerini kullanan bu radyo düğmeleri tek seçim grubudur. Legend ortak soruyu, label ise her seçeneğin adını açıklar. Fieldset tek başına radyo düğmelerini tek seçimli yapmaz; radyo grubunun name ilişkisi ayrıca doğrudur.

Tarayıcı genellikle gruba bir kenarlık ve legend için yerleşim sağlar. Görünüm CSS ile değişebilir. Yeni kutu görünümü tasarlıyorsanız köşeleri en fazla 5 px tutabilirsiniz; gruplama anlamını yalnız görsel kenarlıkla vermek yerine uygun öğeleri koruyun.

Disabled davranışını doğru yorumlayın​


Fieldset üzerine disabled eklendiğinde içindeki form kontrolleri genel olarak devre dışı kalır. Kullanıcı bu alanlarla normal biçimde etkileşemez; devre dışı kontroller form verisi gönderimine de dahil edilmez. Bu nedenle bir grubun pasifleştirilmesi yalnız soluk renk değişikliği değildir.

Önemli istisna, ilk legend içindeki kontrollerdir: bu legend'in altındaki kontroller fieldset disabled durumundan muaf olabilir. Grup açma/kapama kontrolü legend içine yerleştirildiyse bu davranış hesaba katılmalıdır. İstisnayı bütün legend veya bütün grup elemanlarına genellemeyin.

Gruplama öğelerini ayırma​

ÖğeGöreviYerine geçmediği
fieldsetİlişkili kontrollerin grubuForm gönderim yöntemi
legendGrubun ortak açıklamasıHer alanın ayrı label'ı
labelBelirli kontrolün açıklamasıBütün grubun başlığı
divGenel yerleşim kapsayıcısıKendiliğinden form grup anlamı

Her sayfa kutusunu fieldset yapmak gerekmez. Kontroller arasında ortak anlam varsa kullanın; yalnız bir kartın kenarlığını oluşturmak için seçmek anlamsal göreviyle uyuşmayabilir.

Uygulama ve kontrol adımları​

  1. Hangi kontrollerin aynı soruya veya bilgi bölümüne ait olduğunu belirleyin.
  2. Bu kontrolleri fieldset içine alın ve kısa, açıklayıcı legend metnini grubun başına yerleştirin.
  3. Her kontrolün label ilişkisini ve gerekli name/id değerlerini ayrıca kontrol edin.
  4. Klavye ile gezinip seçeneklerin anlaşılır olduğunu inceleyin; yalnız fare tıklamasına göre değerlendirmeyin.
  5. Disabled kullanılacaksa hangi değerlerin gönderime katılmadığını ve ilk legend istisnasını test edin.
  6. Sunucuya gelen veriyi yine doğrulayın. Tarayıcıdaki pasifleştirme, kullanıcının elle istek göndermesini engelleyen güvenlik kuralı değildir.

Sık yapılan hatalar​


Legend'i uzun bir açıklama duvarına çevirmek, alan label'larını kaldırmak ve disabled grubun değerlerinin gönderileceğini sanmak yaygın sorunlardır. Görünüm için CSS kullanırken klavye odağını veya kontrol açıklamalarını gizlemeyin. Form verisi alınmıyorsa yalnız name değerine değil, kontrolün etkin durumuna da bakın.

Sık sorulan sorular​


Disabled yerine readonly aynı işi yapar mı?​


Hayır. Readonly yalnız destekleyen bazı kontrol türlerinde kullanılır; kontrolün değeri gönderilebilir. Fieldset disabled ise grup altındaki kontrolleri farklı kuralla pasifleştirir ve bunlar gönderime katılmaz. Bütün input türlerine readonly uygulanabileceğini varsaymayın.

Fieldset dışarıdaki bir forma bağlanırsa içindeki bütün alanlar otomatik bağlanır mı?​


Form niteliği fieldset'i belirli form kimliğine bağlayabilir; bu ilişki içindeki kontrollere otomatik miras kalmaz. Dışarıda duran input kontrollerinin de gerekirse kendi form ilişkisinin tanımlanması gerekir. Görsel gruplamayla gerçek form sahipliğini ayrı kontrol edin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic