Estruturando formulários com listas não ordenadas

[update] É bom saber que eu não estou sozinho. Tudo bem que ele usa listas ordenadas, mas não é isso que realmente faz a diferença. ;) [/update]

Formulários são sempre uma grande dor de cabeça na hora de desenvolver páginas web. Principalmente quando são complexos, com muitos campos, e mais ainda quando é necessário aplicar um layout mais complexo, o que, apesar das muitas implicações negativas quanto à usabilidade, acontece muito freqüentemente.

Eu tenho tido bastante sucesso usando listas não ordenadas (UL) para estruturar formulários e quero apresentar esta solução para vocês.

Algumas das vantagens de se usar listas para estruturar formulários são:

  • O formulário fica visualmente bem organizado quando não há suporte a CSS
  • Você ganha uma quantidade considerável de elementos para estilizar via CSS
  • O código fica limpo e bem organizado, sem um monte de DIVs sem sentido ou, pior, tabelas

A argumentação mais provável que pode haver contra essa solução é quanto à semântica. Alguns podem argumentar que, usando listas, a estrutura deixa de seguir a semântica correta e, por isso, pode ser uma solução não apropriada.

Eu não penso dessa forma. A semântica do HTML é bastante genérica e dá margem a interpretações diferentes para o mesmo caso. Não acho que seja incorreto usar listas, já que um formulário é, basicamente, uma _lista_ de campos a ser preenchidos.

Existe um elemento em (X)HTML próprio para agrupar campos de formulários, o elemento FIELDSET. Dando uma olhada na definição do elemento FIELDSET no doctype do HTML 4.01 Strict, vemos que ele pode conter tanto elementos inline quanto elementos de bloco. Ou seja, podemos muito bem colocar uma lista não ordenada (ou ordenada, ou de definição) dentro de um FIELDSET, deixando assim a estrutura ainda mais semântica.

A marcação HTML ficaria mais ou menos assim:

<form action="" method="post">
  <fieldset>
    <legend>Dados Pessoais</legend>
    <ul>
      <li>
        <label for="nome">Nome:</label>
        <input type="text" name="nome" id="nome" size="30">
      </li>
      <li>
        <label for="email">Email:</label>
        <input type="text" name="email" id="email" size="30">
      </li>
      [...]
    </ul>
  </fieldset>
</form>

Cada campo do formulário fica encapsulado em um item de lista (LI) junto com seu respectivo rótulo (LABEL), o que é muito útil na hora de aplicar seu estilo CSS.

Claro que, para formulários muito simples, com poucos campos, isso é, na maioria das vezes, desnecessário. Mas quem já teve que lidar com formulários mais ou menos grandes e é safo o suficiente com CSS para estilizar listas de maneira indolor (o que não é lá muito difícil), vai perceber que dessa forma as coisas se tornam _muito_ mais simples.

Se for preciso exemplificar melhor, por favor, me digam.

E vocês, como resolvem o caso de formulários complexos, principalmente quando precisam seguir um layout altamente rebuscado que já foi aprovado pelo cliente e tem que ser seguido à risca? Algum de vocês usa listas como eu? Alguém tem um bom argumento contra essa abordagem? Vamos discutir.

[update]
Talvez eu não tenha me expressado muito bem, mas eu não quis dizer que se deve encapsular _todos_ os campos do formulário dentro de um mesmo FIELDSET.

No caso do código de exemplo acima, ele mostra um grupo de campos, intitulado “Dados Pessoais”. Se houver outros agrupamentos, a idéia é encapsular em outro FIELDSET e, se necessário, com outra lista. Ítens de lista (LI) podem conter FIELDSETs e FIELDSETs podem conter listas não ordenadas (UL). ;)

Além disso, não estou querendo pregar que as listas são a grande panacéia do desenvolvimento web moderno. Simplesmente acho que, no caso de formulários elas carregam uma semântica que, na minha opinião (preciso mesmo dizer que é minha?) é correta, e não que devem ser usados como as tabelas de outrora, ou os DIVs de hoje, para alguns.
[/update]

Leia também:

60 Comentários sobre “Estruturando formulários com listas não ordenadas”

Faça um comentário

Oi Bruno…

Tenho seguido esta mesma linha de raciocínio, mas me pareceu mais lógico usar DL, DT e DD pra estruturar semânticamente os formulários.

O que vc pensa neste sentido?


Bom, pode até ser visualmente melhor para o caso do acesso sem o CSS. Mas semanticamente, acho bem ruim.


Eu tinha lido pensamento semelhante no Webish mas acho um pouco perigoso isso de considerar a semântica do HTML genérica e suscetível a interpretações.

Corre-se o risco de retroceder um pouco e começarmos a usar elementos não-específicos para facilitar nossa vida, em prejuízo da semântica.

Lembro-me daquela história do Divless, em que o cara dizia para usarmos listas não ordenadas para estruturar a página, em detrimento dos divs. Seria um li para o topo, um li para o meio e um li para o rodapé, por exemplo.

Claro que se pode interpretar dessa forma, mas talvez ferir a semântica seja por demais arriscado, afinal usar as tags apropriadas nos lugares corretos é um dos pilares dos web standards.


[...] Se você ler o artigo, perceberá que o Bruno sugeri uma solução para a estruturação de formulários manipulando listas não ordenadas (UL). Já o Fábio Caparica, fez um comentário dizendo que prefere usar uma estrutura baseada em DL, DT e DD. Eu, posso seguir a mesma linha de raciocínio, só que eu acho “mais semântico” fazer com listas ordenadas, já que o formulário segue uma linha lógica e dependendo das vezes uma linha de prioridade. [...]


Caparica: Não sei, cara. Na verdade as listas de definição prevêem que você tenha um termo e sua descrição. Não sei se formulários se aplicam nesse caso.
O que você sugere é usar o LABEL como termo e o INPUT (ou outro controle?) como definição?
Bom, nesse caso, talvez, se pensarmos no formulário preenchido, talvez o valor do INPUT possa ser entendido como definição do termo do LABEL.
De qualquer maneira, desde que se tenha um entendimento do que se está fazendo, é válido.
Mas, ainda voto nas listas não ordenadas…

Walmar: O que seria mais semântico pra você então? Eu não tenho a resposta definitiva, por isso quero discutir.


Complicado este assunto, mas arrisco dizer que uma sequência lógica, ou semântica, pode ter mais de uma solução dependendo do caso. Creio nisso pelo seguinte motivo: um dia já estudei desenvolvimento de sistemas, e naquela época, quando estudei lógica computacional e tentava aplicar meus estudos em linguagem C, o mesmo problema era resolvido de 2, 3, maneiras. Nenhuma delas estava errada, mesmo seguindo um raciocínio lógico diferente. Não sei se o exemplo tem tanto a ver, nem se ficou tão claro, mas acho que pode se encaixar ao “problema” formulário no sentido de que não há uma solução correta e sim algumas soluções.

Abraços!


#7 | Maurus Henriques

Bem, kd nosso pensamento simples galera? :D
Pra q serve a semântica? Identificação da função de
cada elemento do site.(p/ humanos e maquinas).

Será que a presença das Tags “form, legend, fildset, label..” em um código HTML jah não identifica
que ali existe um formulário e conseqüentemente uma lista(lista de campos)?

Será que precisamos “ainda” marca-los com as tags “UL, OL ou DL, DT, DD…”
Gente, todo formulário eh uma lista com labels e campos.
A não ser que tenha apenas um campo.
Mas precisamos usar lista(UL) em nosso formulário apenas pra dizer q ele
contem mais de um campo?

Bruno, note oq vc fala aqui:
“Ou seja, podemos muito bem colocar uma lista não ordenada (ou ordenada, ou de definição)
dentro de um FIELDSET, deixando assim a estrutura “ainda” mais semântica”

“Ainda” mais semântica? Basta ser “semântica” apenas, não? :)
Acredito que esse “ainda” soh deixa nosso código HTML consideravelmente maior e mais confuso. Abraços!


Bruno,
acho que não devemos ter medo de usar marcações genéricas quando for necessário. Usando listas (ordenadas ou de definição) vocês adicionam complexidade na implementação e na visualização dos elementos sem folha de estilos.

Simplicidade é usar todas as marcações para formulários. Quando não for possível usar e .

Esta discussão dos formulários e a da estrutura básica das páginas com listas, lembra um artigo que rolou tempos atrás sobre bold vs strong. E ainda um caso que rolou comigo porque queria marcar as letras correspondentes às teclas de atalho com o , que caiu no HTML 4.01. Tive que usar o , que também não é semântico o suficiente, como no site http://www.beautiful-lifestyle.co.uk.

Ainda defendo o direito às marcações genéricas. Mas devido ao market-share de sem-noção ser maior do que o IE, este é apenas o meu sonho bobo. 8;)

[]s


Bruno,
acho que não devemos ter medo de usar marcações genéricas quando for necessário. Usando listas (ordenadas ou de definição) vocês adicionam complexidade na implementação e na visualização dos elementos sem folha de estilos.

Simplicidade é usar todas as marcações para formulários. Quando não for possível usar DIV e SPAN.

Esta discussão dos formulários e a da estrutura básica das páginas com listas, lembra um artigo que rolou tempos atrás sobre bold vs strong. E ainda um caso que rolou comigo porque queria marcar as letras correspondentes às teclas de atalho com o U, que caiu no HTML 4.01. Tive que usar o EM, que também não é semântico o suficiente, como no site http://www.beautiful-lifestyle.co.uk.

Ainda defendo o direito às marcações genéricas. Mas devido ao market-share de sem-noção ser maior do que o IE, este é apenas o meu sonho bobo. 8;)

[]s


#10 | Dihemis

O que não consegui entender sobre o artigo abaixo
“Estruturando formulários com listas não ordenadas”

Que apensar de vc achar interessante seu uso com Listas não ordenadas, você acaba fazendo este formulário em Tabelas.

Dihemis Silva


Moçada…

“brinco” com HTML e CSS desde o século passado… (o que não é mentira, hehehhe … acho que todos nós.

Estou migrando, até hoje, e apanhando, para acertar algumas coisas. E hoje meu ponto franco são exatamente os formularios.

Mas acho que envolver a Listagem UL, e/ou as tags para Definições (DD, DT, DL) … só complica mais … e fere bastante a, tão suada, semântica, que estamos brigando para propagar.

Sendo asim eu continuo usando a tag TABLE para organizar um formulário (um vício que estou tentando, e conseguindo, perder).

Realmente, como foi citado, e muito bem observado, fica bem para páginas sem CSS.

[ ]s


Vai ver sou louco…
mas pra mim, tanto semânticamente, quanto para páginas renderizadas sem o CSS, aplicar DL me parece bastante razoavel. Pra não dizer que faz bastante sentido mesmo.

Sobre usar tabelas…
Tabelas são para dados tabulados. Se o form não for uma tabela, não faz sentido.

Mas, cada um cada um… W3c não dita regra, apenas recomenda. Eu, fico com as DLs, DTs e as DDs.


#13 | dvd

S1mone, comento o seu remark sobre o EM … também estive no mesmo caso que você, querendo destacar a letra correspondente à acesskey, mas não acho errado usar EM. Porquê, em todo caso, estamos querendo dar enfase (EM de emphasys) à letra… pq vc acharia isso não-semântico-o-suficiente?


Meu Deus… o que há de errado em usar as tags adequadas? Realmente ler essas coisas me assustou… Estou com o Maurus.


Caparica (acertei o nome agora…hehe), não se esqueça que existem mil maneiras de preparar neston… ;)


#16 | Rafael Dourado

Concordo com os que discordaram. hehehe. Não considero semanticamente correto pois formulários não são listas. Se for chamar os campos de itens de lista então o cara do DIVLess também está correto. Acho o pensamento o mesmo só que em menor escala. Particularmente, estruturo meus formulários usando classes da seguinte forma: .line1, line 2, line3 …, col1, col2, col3… Como formulários maiores acabam sendo organizados de forma colunada, aplicando as classes dessa forma consigo uma simetria correta, sem usar artifícios semanticamente estranhos como listas não-ordenadas ou de definição.
Ficaria mais ou menos assim:
[...]
Nome:

E-mail:

[...]


#17 | Rafael Dourado

Concordo com os que discordaram. hehehe. Não considero semanticamente correto pois formulários não são listas. Se for chamar os campos de itens de lista então o cara do DIVLess também está correto. Acho o pensamento o mesmo só que em menor escala. Particularmente, estruturo meus formulários usando classes da seguinte forma: .line1, line 2, line3 …, col1, col2, col3… Como formulários maiores acabam sendo organizados de forma colunada, aplicando as classes dessa forma consigo uma simetria correta, sem usar artifícios semanticamente estranhos como listas não-ordenadas ou de definição.
Ficaria mais ou menos assim:
[...]
<label for="nome" class="col1 line1">Nome:</label>
<input type="text" id="nome" class="col1 line2" />
<label for="email" class="col2 line1">E-mail:</label>
<input type="text" id="email" class="col2 line2" />
[...]


#18 | Micox

Eu achei uma ótima solução, e achei semantica também por todos os motivos já falados. Simples e eficaz.


#19 | Henrique Boaventura

Acho que do meu ponto de vista… kiss (keep it simple stupid) é a melhor solução…

Existem tags mais que suficientes para estruturar um formulário, não é necessário acrescentar listas…


#20 | Bruno Rocha

Bom, ainda estou me adaptando com a semantica e tenho muitas dívidas. As dos formulários eu tenho resolvido com o BR. Consigo ter uma aparencia de Boa com e sem CSS, isso com formulários básicos e sem muita firula.
Assim uso apenas o LABEL e o INPUT (Claro com o FORM, FIELDSET….) e uso o br pra quebrar a linha, por css eu indico o width do label e deixo todos no mesmo tamanho.

Alguem discorda :)

[]’s


Estou atualmente migrando um grande projeto interno na empresa onde trabalho e resolvir utilizar as famigeradas webstandards. O unico lugar no sistema onde nao consegui chegar a uma conclusao para aplica-las foi justamente nos formularios de cadastramento que sao enormes e nao podem ser divididos em varias partes. Infelizmente nesse ponto ainda recorro ao uso de tabelas.


#22 | Rafael Dourado

Quando ao uso do EM. O DOSVOX dá uma paradinha para ter marcação em ênfase. Com o span já não ocorre esse problema. Para identificar a letra do accesskey uso SPAN em vez de EM por esse motivo.


Se é para entrar na briga, fico com a Simone, o Maurus e o resto.
Para que complicar ainda mais? Pode-se encadear fieldsets; mais de um label pode apontar p/ o mesmo campo, facilitando a construção de radio buttons; a tag “BR” não foi eliminada; os labels podem ser anexados aos campos de duas formas diferentes, além de aceitarem propriedades de display e float.
O único problema que vejo é que o IE não aceita um seletor que identifique o tipo de input, mas isso pode ser resolvido com classes; uma p/ radio e checkbox já ajuda muito. Eu, por exemplo, crio também três classes básicas geralmente: campos largos, médios e estreitos.

O negócio é KISS!


Debate interessantíssimo!

Bom, fico com o Maurus. A utilização de listas neste caso é apenas um artifíco para a construção de layout, e não acredito haver realmente nenhuma conexão semântica (necessária) com a estrutura do formulário, mesmo o W3C permitindo inclusão de tais estruturas de listas.

Excelente tema. Parabéns Bruno!


Acho com a mais absoluta certeza q é válido sim usar as listas… concordo com o q falas a respeito do formulário ser umas lista de informações…


#26 | Francisco dos Santos

Para mim faz sentido usar tanto as UL como as DL ou mesmo as tabelas.

E já que cada desenvolvedor é um mundo a parte, pois cada um interpretará individualmente, como nos posts acima. Criar uma rigidez no que deve ser ou não, está em direção oposta aos web standards (flexibilidade, facilidade, etc).

Agora, se você tiver uma noção sobre semântica, não irá usar um elemento HTML qualquer para formatar um formulário(basta ler os posts acima para ver que as soluções estão muito próximas).


#27 | Thiago Machado

é, provem o que dizem, somos pioneiros e eu estou gostando do debate, mas o que é semanticamente correto e o que é mais simples ?

qual vale mais a pena e porque ?


#28 | F4314N0

Na minha humilde opiniao, o importante é que o formulario esteja acessivel (homem/maquina/browser), funcionando, estilizado e de facil manutencao com o menor numero de linhas de codigo possivel. Estando dentro dos padroes web, ta valendo!
[]s


Opa Bruno,

Mais uma vez parabéns pelo artigo, você sempre arrebenta com o que escreve…

Abraços


Eu sigo sou a favor dos DL, DT e DD por achar, como já dito antes, a semântica mais compatível. A justificativa é a mesma dos colegas acima.


#31 | W

MEIO CABULOSO! E SEMANTICAMENTE RIDICULO


#32 | Emerson

Este site virou um lixo, só tem propaganda.


#33 | Rodrigo Coifman

Acredito que se formos pensar pelo ponto de vista de que tudo é lista, limitamos o nosso universo em detrimento da semântica.


kkkkkkk, é foda quer criar um ibesta.com.br não cara?


#35 | Samuel

Formulário não é lista. Portanto isso não é semântico. Sem mais. ;)


Listas de definição – entenda e saiba usar…

Listas de definição – Mal entendidas ou mal utilizadas?
O que são listas de definição? Em que situações é apropriado usá-las? Como estilizá-las de maneira que se pareçam com tabelas, ou …


Porque usar os LIs? Se o próprio label pode ser o conteiner do formulário?

Veja o que eu fiz em 2004 no http://www.zevallos.com.br/library/examples/FormValidationTableLess.htm


#38 | Andrés

“Façam o que falo, mas não o que faço” o form que esta neste site esta feito com table

“O código fica limpo e bem organizado, sem um monte de DIVs sem sentido ou, pior, tabelas”

eu acho errado fazer com ul. Se for para fazer divless é melhor fazer como dl


uma solução mais fácil de se estilizar, eh verdade… Mas achei um pouco fora da semântica.

ainda prefiro fazer sem as listas… fora q sem o css, fica akela maldita bolinha ao lado :D ae seria vantagem utilizar os dds, dts e dls…


Bruno, achei engraçada essa afirmação:

“Não acho que seja incorreto usar listas, já que um formulário é, basicamente, uma _lista_ de campos a ser preenchidos.”

Levando essa linha de raciocínio a fio, poderíamos considerar quase qualquer elemento _container like_ como um alinhador perfeito de campos em um form. Os seletores CSS poderiam dar um jeito em grande parte dos problemas se as pessoas simplesmente soubessem usá-los e se o pseudo-browser IE soubesse simplesmente suportar alguns recursos básicos de CSS.

Uso listas assim como você enquanto nada melhor aparece na praça. Mas, a W3C, o XHTMLWG e o CSSWG já estão trabalhando em prol de coisas como alinhamento direcionado à colunas ou seções de texto. É só perguntar para o oráculo.

Difícil vai ver isso em ação ainda em nossa geração!


Caro Bruno Torres e gostaria de colocar formulário no meu blog,como proceder?
Desde já agradeço sua colaboração.
Mande-me o codigo do formulário por email ok.
rqsoand@brfree.com.br


#42 | SAMANTA

Poderiam me informar o que é imput?
Obrigado.


#43 | Claudinei

Abominavel seu post.
Quer re-inventar os padrões?
Web standards significa padrões da internet, já existem tags para formulário. Agora se vc acha complicado formatar fieldsets, labels, inputs com css já é outro assunto.
Por que tu não coloca logo numa tabela.
Isso soa comodismo, preguiça.
Realmente pode ser um pouco sacal formatar formularios mais complexos. Mas nada justifica teus argumentos.
Pior de tudo são os pelas sacos que babam ovo deste blog começarem a reproduzir tamanha asneira.
Pessoas que tem voz e conceito na web brasileira deveriam pensar no impacto do que escrevem na mente ingênua e despreparada dos novatos no XHTML. A idéia é fazer padrão, limpo, otimizado, acessível e propagar esta idéia, e NÂO reinventar conceitos sem nexo.
Necessidade de aparecer? Causar polemica? Atitude imatura este post.
Nunca sigam idéias como esta.


Claudinei, tentei te responder por e-mail, mas parece que você cometeu algum erro ao digitar o endereço, e a mensagem voltou. Vai aqui a resposta:

Rapaz, o mundo precisa de mais pessoas como você. Coerentes, inteligentes, que realmente entendem de tudo que falam e se baseiam em argumentos irrefutáveis.
Parabéns. Continue assim.

Abraços.

E muito, muito obrigado pela sua visita!


#45 | Ray Soares

ei, eu concordo com o Claudinei.

Não queira reinventar a roda, a nossa vida seria mais fácil se todos os dias pessoas não tentassem inventar coisas q ja existem, e o pior q quase nunca superam as existentes, e acaba confundindo os profissionais que todos os dias são obrigados a rever conceitos, sem saber se os conceitos são corretos ou não.

W3c.org, esse é o Padrao!


#46 | André Pasti

Ei, Bruno… sempre acompanho os posts, mas nunca comento… agora resolvi me manifestar.
Achei muito interessante essa idéia, tenho baseado em listas meus formulários e tem dado muito certo, mesmo!
Tentei diversas maneiras, mas a mais completa, funcional, e semântica (ao meu e nosso ver) foi esta.
Atualmente uso listas não-ordenadas, mas acho também que ambas seriam corretas, dependendo do contexto.

Abraços, e parabéns pelo blog.


Bruno vi ontem no alistapart.com o seguinte artigo http://www.alistapart.com/articles/prettyaccessibleforms que sugeri o uso de lista ordenadas pois assim alguns leitores de tela podem informar quantos itens existem no formulário.


Cara… se liga aqui…

http://wasb.wordpress.com/2006/06/23/bobagem-2

huahauhauha…. fala sobre isso aê! Mas o exemplo é com listas ordenadas… conseguiram fazer algo mais doido ainda!


Eu também prefiro listas ordenadas: http://www.midiaclick.com.br/br/orcamento/formulario.aspx?objetivo=2

Faço assim porque acredito que o formulário é uma lista de campos a serem preenchidos de forma ordenada, nome primeiro, e-mail depois, endereço após e assim por diante.


Sempre usei UL’s em formulários, mesmo os que têm diagramação mais complexa. Ao meu ver, não fere a semântica, por se tratar de uma lista/em> de dados que o usuário deve inserir.


#51 | joshua vadekk

Acredito que o livre arbítrio foi uma das maiores e melhores idealizações da raça humana em toda sua história.
Às vezes as pessoas se expressam de maneira impensada, revoltada, ou outros sentimentos que os levam a palavras com efeitos repugnantes.
Nem todas pessoas precisam concordar com idéias que outras expressam, se fosse assim todos seguiriam apenas uma religião, um partido político, um time de futebol e assim por diante.
Sinto que a humanidade precisa evoluir muito ainda, especialmente pessoas como nosso colega Claudinei que discordam de uma idéia e por causa disso simplesmente se revolta e solta o verbo.
Tenho muito a agradecer ao Bruno Torres, ao Tableless e ao trabalho fantástico que eles vem fazendo ao longo dessa jornada.
Concordo e discordo em vários pontos, mas nem por isso ajo de forma semelhante ao nosso colega Claudinei, portanto quando alguns de vocês forem fazer qualquer comentário reflitam antes, pois uma idéia foi apresentada e se você não concorda com isso levante pontos que contrariem a idéia baseado em fatos e deixe que as pessoas analisem e não simplesmente aja revoltadamente.
O mundo seria muito melhor se as pessoas soubessem respeitar as diversidades.
Pense nisso…


#52 | Filipe de Campos Cavalcante

Já esperimentel o uso de listas ordenadas para formulários e achei uma solução ótima mas não sei se é totalmente correta. Comecei a pouco tempo no webstandart e posso dizer que eu tive uma evolução de conhecimento mto grande. Digo isso porque antes eu diagrama sites com tabelas e hoje não. Mas ainda estou trabalhando no meu conhecimento em relação à diagramação de campos num formulário.
Aqui na empresa já usamos DIVs float com tamanho fixo pra diagramar, depois passamos pra lista ordenada com float tb e atualmente estamos estudando uma outra forma que me indicaram que é usando LABEL. Um exemplo de como seria essa outra forma:

Nome

A classe “diagForm1″ no label comandaria o tamanho do campo na tela. Aqui na empresa usamos campos blocados então teríamos sempre dois ou mais classes para definir esse tamanho com “float” para a diagramação na horizontal. É bastante útil e fica até mais bonito a diagramação dos campos.

Bom essa é minha opnião e sugestão para aqueles que estão buscando novas formas de diagramação de campos.

Se alguem tiver outra solução ou sugestão para isso que eu disse, estou disposto à ouvi-los com prazer!

Abraços.


#53 | Frey

Gostei do seu post, como dito por alguns concordo que um formulário pode ser uma lista de itens, principalmente em formulários extensos. Até mesmo pela falta de alternativas presentes hoje. Pois criar um formulário estilizado e bem alinhado com mais de 20 campos utilizando apenas label’s e input’s com alguns fieldset’s, e ainda de modo que o usuário do site não se perca em meio a tantos campos é uma tarefa árdua e extensa de ser aplicada no CSS. Mas claro que tudo depende do que cada um acha certo e se o teu cliente concorda coom o layout.


#54 | andre

cara, eu faço assim tbem e sempre me culpava pela semantica

ufa

valeuu


[...] é raro ver comentários em blogs — aqui mesmo, por exemplo — que falam sobre desenvolvimento web, reclamando e às vezes até mesmo insultando o dono ou [...]


#56 | Matheus de Oliveira

Analisando tudo, acabo concordando com você Bruno, mas em termos me parece que a semântica utilizada no site que vc passou (http://www.alistapart.com/articles/prettyaccessibleforms) parece estar melhor, usando listas não ordenadas (UL) para RADIOs (já que é uma lista não ordenada de itens) e lista de definição para os campos (DL), ficando o DT para o label (q seria como um termo a ser definido pelo usuário) e o DD para o campo (TEXT, q seria a definição desse termo)…

PS: No início vc disse que o site passado usava listas ordenadas, mas são não ordenadas e de definição não é?


Assunto complicado de se discutir.
Bom, eu sou do tipo que vê um formulário como uma lista.
De preferência, ordenada. Acho que o uso de lista de definição não é semântico.

Exemplo:

Exemplo

Nesse caso tudo ok. Mas, e se fomos usar Radio Buttons? Seria certo usar o formato a seguir?:

Opção 1

Entendem???


Desculpem, mas o exemplo nao apareceu.
Bem, no caso de usar radio buttom, dentro de DL o input ficaria no DD e o label no DT entao o DD viria primeiro q o DT. Entendem? Isso para mim nao eh semantico.


[...] em todos os navegadores modernos e valida! E tem gente que ainda usa tabelas ou -pior ainda- listas pra [...]


#60 | RicoSouza

não sejam ridículos sujando o codigo com listas em formularios, pelo amor Deus!!!!

usem a kbça, ou melhor dizendo, CSS :)


«

»

Deixe seu comentário


Veja as estatísticas