Será que o uso da tag HTML fieldset tem significado além do agrupamento de formas?

StackOverflow https://stackoverflow.com/questions/314457

  •  10-07-2019
  •  | 
  •  

Pergunta

Normalmente, eu já vi isso com formulários, mas eu descobri que é útil para agrupar conjuntos de dados relacionados (por exemplo, quando você tem várias tabelas em uma página, usando um conjunto de campos em torno de cada tabela ou grupo de tabelas relacionadas para definir um significado visível e um nome de grupo (legenda)). É este abusando da tag fieldset ao ponto em que, em meus usos, já não tem significado semântico?

Foi útil?

Solução

Eu posso ver vantagens semânticas para bloquear conteúdo em fieldsets com lendas.

Embora o W3C associada ao uso de fieldsets e lendas com formas, permitindo o uso fora da tag de formulário abre novas fronteiras para a experimentação. Potencialmente semelhante a lista de definição em uso.

Eu, pessoalmente, não acho que o "campo" em fieldset é específico para campo de formulário. Ele acabou de herdar relacionamento dele de uso dentro da tag form. campo é em referência ao agrupamento.

Imagine ir a seus parques e recreação para jogar softball com seus amigos. Existem 3 campos disponíveis. Todos eles são têm sinais em cima do muro "do basebol somente"

Você arrumar seu equipamento e ir para casa?

rotular o uso de conjuntos de campos e lendas fora do abuso forma etiqueta é estreita visão.

Nenhum onde na definição não menciona formas:

O elemento FIELDSET permite aos autores grupo controlos temas relacionados e etiquetas. Agrupamento controles torna mais fácil para os usuários entendam a sua propósito, ao mesmo tempo facilitar a tabulação de navegação para agentes visuais e discurso navegação para o usuário orientada para o discurso agentes. O uso adequado deste elemento torna os documentos mais acessíveis.

Eu considero XHTML tags de formatação controle. div p blockquote etc.

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

Outras dicas

Eu acredito que este seria abuso. http://www.w3.org/TR/REC -html40 / Interact / Forms.html # h 17.10 estados "O elemento FIELDSET permite aos autores grupo tematicamente relacionados controles e rótulos".

O bit "campo" em nome fieldset refere-se a campos <form>.

Usando fieldsets form fora aos dados aribtrary grupo é claramente mau uso semântica.

No entanto, o HTML irá validar e Deus não Matar um gatinho.

de campos é de cerca de grupo de controlo forma . Ao agrupar os controles de formulário relacionados, os autores podem dividir uma forma em partes menores, mais manejáveis, melhorando o desastre usabilidade que podem atacar quando confrontando os usuários com muitos controles de formulário.

Isso faz não significa um fieldset sempre campos de grupo dentro de uma forma , embora a especificação discutir fieldset apenas dentro do contexto de utilizador interagir com forma ...

Assim, o "abuso" pode vir do fato do HTML 4 e especificações XHTML não requerem fieldset e legenda para ser contido dentro de elementos de formulário. FIELDSET pode até ser o filho do elemento BODY. É sintaxe válida para colocar fieldsets formas externas.

Mas, quando você descrever algo como um conjunto de campos que não é realmente um conjunto de campos, você só causa confusão.

É melhor pensar em HTML / XHTML marcas como descrever o significado de um elemento em vez de como vai ficar. Então você pode usar CSS para fazer o olhar elemento como o que quiser.

Se você agrupar dados para fins de apresentação, você pode encontrar aqui um agradável CSS alternativa .

Para referência:

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

Se você quiser tabelas de grupo, considere o uso de um título apropriado (h1-h6) elemento para cada grupo. tabelas individuais pode ser descrito usando o ' legenda ' elemento. O atributo 'sumário' também está disponível para cada tabela.

A partir da especificação:

Cada tabela pode ter um associado subtítulo (ver o elemento de legenda) que fornece uma breve descrição do O propósito de mesa. Uma descrição mais longa pode também ser fornecida (via o resumo atributo) em benefício de pessoas usando o discurso ou utilizador com base em Braille agentes.

E para o registro, o elemento 'fieldset' não se destina a ser usado fora de formas. E dentro de formas, pretende-se conceitualmente grupo como campos de entrada -. Coisas como 'informações pessoais' ou 'endereço de cobrança', etc

Aqui está um artigo interessante que discute o que os usuários de leitores de tela ouvir quando se navega fieldsets. http: // www .rnib.org.uk / wacblog / artigos / muito-muito-acessibilidade / muito-muito-acessibilidade-fieldset-lendas /

A tag fieldset é também de utilidade para os leitores de tela e outras tecnologias de apoio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top