Имеет ли смысл использование тега HTML-кода fieldset вне группировки?

Обычно я видел это с формами, но я нашел полезным группировать связанные наборы данных (например, когда у вас несколько таблиц на странице, используя набор полей вокруг каждой таблицы или группы связанных таблиц для определения видимый смысл и название группы (легенда)). Является ли это злоупотреблением тегом fieldset тем, что в моих целях оно больше не имеет семантического значения?

Ответ 1

Я вижу семантические преимущества блокировки содержимого в полях с легендами.

Хотя W3C связал использование полей и легенд с формами, позволяя использовать вне тега формы, открывает новые границы для экспериментов. Потенциально подобен используемому списку определений.

Я лично не считаю, что "поле" в fieldset специфично для поля формы. Он просто унаследовал отношения от него в теге формы. поле относится к группировке.

Представьте, что вы собираетесь в ваши локальные парки и отдохнуть, чтобы поиграть в софтбол с друзьями. Есть 3 доступных поля. У всех из них есть знаки на заборе "ТОЛЬКО БЕЙСБОЛЛ"

Собираете ли вы свою экипировку и отправляетесь домой?

маркировка использования полей и легенд вне злоупотребления тегом формы ограничена узкими глазами.

Нет, где в определении он упоминает формы:

Элемент FIELDSET позволяет авторам групповые тематические элементы управления и этикетки. Группировка элементов управления делает это пользователям легче понять их цели одновременно облегчение навигации табуляции для визуальные пользовательские агенты и речь навигация для речевого пользователя агенты. Правильное использование этого элемента делает документы более доступными.

Я рассматриваю управление форматированием тэгов xhtml. div p blockquote и т.д.

<h1>The Big Book about Everything</h1>
<fieldset>
    <legend>Jokes</legend>
    <h2>30 pages of humorous Jokes</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Poems</legend>
    <h2>20 pages of well written poems</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Horror</legend>
    <h2>3 Short and scary stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Mystery</legend>
    <h2>3 Short and mysterious stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>

Ответ 3

Бит поля в имени fieldset относится к полям <form>.

Использование fieldset вне form для группировки произвольных данных - это явно семантическое злоупотребление.

Однако ваш HTML будет проверять, а Бог не будет убить котенка.

Ответ 4

fieldset - это группа управления формами. Сгруппировав связанные элементы управления формами, авторы могут разделить форму на более мелкие, более управляемые части, улучшая катастрофу юзабилити, которая может ударить, когда сталкивается с пользователями со слишком большим количеством элементов управления формами.

Что делает не означает, что поле всегда содержит групповые поля в форме, хотя спецификация обсуждает набор полей только в контексте взаимодействия пользователя с форма...

Таким образом, "злоупотребление" может исходить из того, что спецификации HTML 4 и XHTML не требуют, чтобы наборы элементов и легенды содержались в элементах формы. FIELDSET может быть даже ребенком элемента BODY. Это допустимый синтаксис для размещения полей на внешних формах.

Но, когда вы описываете что-то как набор полей, который на самом деле не является набором полей, вы просто вызываете путаницу.

Лучше всего думать о тегах HTML/XHTML как о значении значения элемента, а не о том, как он будет выглядеть. Затем вы можете использовать CSS, чтобы элемент выглядел так, как вам хочется.

Если вы группируете данные для целей презентации, вы можете найти здесь отличный вариант CSS.

Для справки:

.fieldset {
border-right: 1px solid #75736E;
border-bottom: 1px solid #75736E;
border-left: 1px solid #F2F0EE;
border-top: 1px solid #F2F0EE;
padding: 10px 3px 3px 3px;

}

.outer {
border-left: 1px solid #75736E;
border-top: 1px solid #75736E;
border-right: 1px solid #F2F0EE;
border-bottom: 1px solid #F2F0EE;
width: 200px; /* CHANGE THIS FOR BOX SIZE */
} 

.legend {
float: left;
margin-left: 15px;
margin-top: -8px;
padding-left: 5px;
padding-right: 5px;
font-weight: bold;
background: #FFF;
} 

<div class="legend">Lipsum.com Is The Best</div>
<div class="outer">
<div class="fieldset">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
Donec congue fermentum metus. Quisque vel ante. 
Cras purus metus, dignissim at, luctus et, sollicitudin eget, urna. 
Maecenas eget lacus. Aenean bibendum risus non erat mattis semper. 
Aliquam placerat nibh eget lacus. Sed blandit eleifend justo. Nam elit. 
Fusce feugiat orci id eros facilisis laoreet. 
Integer vestibulum condimentum purus. 
Proin vehicula congue lacus. Quisque placerat diam nec enim. 
Nunc lorem. Maecenas nec sem sed nulla tristique faucibus.</div></div>

Ответ 5

Если вы хотите сгруппировать таблицы, рассмотрите возможность использования соответствующего элемента заголовка (h1-h6) для каждой группы. Отдельные таблицы могут быть описаны с помощью элемента caption '. Атрибут "summary" также доступен для каждой таблицы.

Из спецификации:

Каждая таблица может иметь ассоциированную (см. элемент CAPTION), который дает краткое описание настольная цель. Более длинное описание также могут быть предоставлены (посредством сводки атрибут) в интересах людей с использованием речи или пользователя на основе Брайля агенты.

И для записи элемент 'fieldset' не предназначен для использования вне форм. И в рамках форм предполагается концептуально группировать как поля ввода - такие вещи, как "личная информация" или "платежный адрес" и т.д.

Вот интересная статья, в которой обсуждается, что пользователи экрана читают при навигации по полям. http://www.rnib.org.uk/wacblog/articles/too-much-accessibility/too-much-accessibility-fieldset-legends/

Ответ 6

Тег fieldset также используется для чтения с экрана и некоторых других вспомогательных технологий.