Dlaczego potrzebujemy <fieldset>
tagu? Niezależnie od celu, jaki służy, jest prawdopodobnie podzbiorem tagu formularza.
Wyszukałem informacje o W3Schools, które mówią:
<fieldset>
Znacznik jest używany do grupowania elementów w formie.<fieldset>
Tag rysuje ramkę wokół powiązanych elementów.
Więcej wyjaśnień dla tych, którzy mylą „dlaczego istnieje w specyfikacji” z „tym, co robi”. Myślę, że część rysunkowa jest nieistotna i nie widzę powodu, dla którego potrzebujemy specjalnego znacznika tylko po to, aby zgrupować niektóre powiązane elementy w formie.
Odpowiedzi:
Najbardziej oczywistym, praktycznym przykładem jest:
Pozwala to na oznaczenie każdego przycisku radiowego, zapewniając jednocześnie etykietę dla całej grupy. Jest to szczególnie ważne, gdy używana jest technologia wspomagająca (taka jak czytnik ekranu), gdzie skojarzenia elementów sterujących i ich legendy nie można implikować za pomocą prezentacji wizualnej.
źródło
Inną cechą zestawu pól jest to, że wyłączenie go powoduje wyłączenie wszystkich zawartych w nim pól.
źródło
disabled
atrybut funkcjonujący dlafieldset
kontrolek s i form, powinien być słusznie zaimplementowany również dlaform
elementu. Miałoby to sens, prawda?Jest potrzebny do ułatwienia dostępu.
Sprawdź: http://usability.com.au/2013/04/accessible-forms-1-labels-and-identification/
Elementy HTML 4
fieldset
ilegend
pozwalają na układanie i organizowanie dużego formularza z wieloma różnymi obszarami zainteresowań w logiczny sposób bez użycia tabel.fieldset
Znacznik mogą być wykorzystywane do tworzenia bloki wybranych elementów ilegend
znaczników daje podpis do tych elementów. W ten sposób elementy formularza można pogrupować w określone kategorie.Różne przeglądarki mogą wyświetlać domyślne
fieldset
obramowanie na różne sposoby. Aby usunąć obramowanie lub zmienić jego wygląd, można użyć kaskadowych arkuszy stylów.źródło
Jak opisano tutaj , celem tego znacznika jest zapewnienie przejrzystości organizacji formy i umożliwienie projektantowi łatwiejszego dostępu do ozdabiania elementów formularza.
źródło
Fieldset logicznie organizuje elementy w formularzach, ale także poprawia dostępność dla tych, którzy używają przeglądarek słuchowych. Fieldset jest poręczny i dlatego był bardzo popularny w przeszłości w wielu aplikacjach, więc zaimplementowano go również w html.
źródło
Podoba mi się to, że kiedy otaczasz swoje radia zestawem pól i nie umieszczasz identyfikatorów na tagach wejściowych przycisku radiowego, wówczas grupa reprezentowana przez zestaw pól jest dodawana do tabchain tak, jakby była pojedynczym elementem.
Umożliwia to przechodzenie przez formularz, a kiedy dojdziesz do zestawu pól, możesz użyć klawiszy strzałek, aby zmienić wybrane radio, a po zakończeniu możesz odejść tabulatorem.
Nie zapomnij też o dostępności. Czytniki ekranu potrzebują zestawu pól + legendy, aby zrozumieć formularz i móc odczytać go użytkownikowi w jakiś naturalny sposób. Możesz zniknąć legendę, jeśli nie chcesz, aby widzący użytkownicy ją widzieli. Układanie i stylizowanie legendy za pomocą CSS jest czasami ryzykowne, zwłaszcza w starszych przeglądarkach, więc uważam, że znacznik legendy jest niewidoczny dla użytkowników czytników ekranu i dodam oddzielny zakres aria-hidden = "true" w stylu etykiety dla widzący użytkownicy ułatwiają stylizację i zapewniają dostępność.
źródło
This lets you tab through a form, and when you get to a fieldset, you can use arrow keys to change the selected radio, and then tab away when you're done.
- To jest domyślne zachowanie wejść radiowych i nie ma nic wspólnego z zestawami pól. Pola wyboru domyślnie zachowują się inaczej.Uważam, że jest to przydatne do stylizacji CSS i kojarzenia etykiet z kontrolkami. Ułatwia umieszczenie wizualnego kontenera wokół grupy pól i wyrównanie etykiet.
źródło
Używam zestawów pól do grupowania danych wejściowych formularzy, gdy mam ogromny formularz i chcę go rozbić w rodzaju kreatora formularzy.
Na te same pytania odpowiedziano tutaj na SO.
źródło
Podsumowując tylko niektóre zalety:
Element HTML
<fieldset>
służy do grupowania kilku kontrolek, a także etykiet (<label>
) w formularzu internetowym, zgodnie z definicją MDN .Innymi słowy: tag fieldset umożliwia logiczne grupowanie zestawów pól, aby formularze były bardziej opisowe. Tak więc zestaw formantów formularza jest opcjonalnie zgrupowanych pod wspólną nazwą.
„ Zalety ” korzystania z zestawu pól to:
źródło
Jak dla mnie, jedną z największych zalet
<fieldset>...</fieldset>
elementu jest możliwość zachowania<form>...</form>
kontekstu, nawet jeśli<fieldset>...</fieldset>
nie ma go wewnątrz formularza.Na przykład następujący formularz:
jest semantycznie identyczna z następującą postacią:
źródło