Имеет ли значение HTML-тег fieldset помимо группировки форм?

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
26
0
16 154
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

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

Я считаю, что это было бы злоупотреблением. В http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.10 указано: «Элемент FIELDSET позволяет авторам группировать тематически связанные контроль и метки».

Элементы управления означают отдельные элементы формы, верно? Например, группа флажков, группа переключателей, а не вся форма?

Thomas Owens 24.11.2008 18:35

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

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

Таким образом, «злоупотребление» может происходить из-за того, что спецификации 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>

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

Thomas Owens 24.11.2008 18:36

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

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

Each table may have an associated caption (see the CAPTION element) that provides a short description of the table's purpose. A longer description may also be provided (via the summary attribute) for the benefit of people using speech or Braille-based user agents.

К слову, элемент fieldset не предназначен для использования вне форм. А внутри форм он предназначен для концептуальной группировки полей ввода, таких как «личная информация», «адрес для выставления счетов» и т. д.

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

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

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

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

Ответ принят как подходящий

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

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

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

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

Собираешь вещи и идёшь домой?

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

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

The FIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.

Я рассматриваю управление форматированием тегов xhtml. цитата из блока div p и т. д.

<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>

Элементы управления и метки, то есть поля. Как заявляет mmiika, использование наборов полей для нормального контента является злоупотреблением. Если вы ищете элементы семантической группировки, вам следует взглянуть на элементы <section> <aside> <article> из html5. В таблицах уже есть элемент <summary>, который может предоставить вам ярлык, если он вам нужен.

Jethro Larson 14.12.2010 03:34

Другие вопросы по теме