Formulários e semântica #376
Replies: 39 comments
-
Acho que section talvez uma boa. Caso o formulário fosse dividido em "seção". O que acha? |
Beta Was this translation helpful? Give feedback.
-
@mandado mas pensando em nível de "label+campo" será que section seria uma boa? Acho que section seria mais pra agrupar conteúdo que tenha ao menos um heading (header, h1, h*) |
Beta Was this translation helpful? Give feedback.
-
As diferentes divisões e grupos dentro dos fieldsets não deveriam carregar carga semântica, por isso considero usar O ideal é usar Também não acho legal colocar o Algo como <form class"form" id="sample">
<h1 class"form__title">Exemplo de formulário</h1>
<fieldset class="form__fieldset">
<legend class="form__legend">Dados pessoais</legend>
<div class="form__group">
<label class="form__label" for="name">Nome</label>
<input class="form__control" id="name" name="name" type="text" placeholder="Digite seu nome completo" required>
</div>
<div class="form__group">
<label class="form__label" for="email">Email</label>
<input class="form__control" id="email" name="name" type="email" placeholder="Digite seu email" required>
</div>
</fieldset>
</form> |
Beta Was this translation helpful? Give feedback.
-
@lfeh hum... faz sentido. Mas você não acha legal por um input dentro da label por algum motivo específico? |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos Nenhum na verdade, frescura pessoal mesmo. Sei lá, tem o |
Beta Was this translation helpful? Give feedback.
-
@lfeh ah tá huhaua. É que os dois casos estão semanticamente corretos. Só coloquei como exemplo de não usar um wrapper extra, em favor da label. Prefiro usar o |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos hahaha, vamos nos apegar a discussão original invés do meu preciosismo 😹 Concorda com o que disse ai em cima? |
Beta Was this translation helpful? Give feedback.
-
@lfeh o |
Beta Was this translation helpful? Give feedback.
-
Só pra referência: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/How_to_structure_an_HTML_form#The__element |
Beta Was this translation helpful? Give feedback.
-
Concordo com o @lfeh: o uso de Sobre colocar inputs dentro de label: gosto de usar como o @eduardojmatos comentou: radio e checkbox dentro de label, os outros casos, fora mesmo, usando o E a ideia de usar |
Beta Was this translation helpful? Give feedback.
-
boa @fdaciuk Resumindo então:
O que acham? Só pra sair com uma resposta bacana :) |
Beta Was this translation helpful? Give feedback.
-
@eduardomatos eu li este artigo uns anos atras, e acabei optando pela opção da |
Beta Was this translation helpful? Give feedback.
-
em todos os casos a gente utiliza o label somente com texto e sempre colocando o attributo |
Beta Was this translation helpful? Give feedback.
-
Curto usar assim: <label>
<span>Nome<span>
<input id="name" name="name" type="text" placeholder="Digite seu nome completo" required />
</label> |
Beta Was this translation helpful? Give feedback.
-
@akfzambrana eu li o artigo aqui, mas achei muito opinativo, sem muito argumento mais técnico.
Muito "I believe" no texto. O lance da lista ele "acredita" ser mais semântico, mas não prova de forma argumentativa, principalmente quando ele cita que tendo a label já é ok pra acessibilidade. Testando o Voice Over por exemplo, ele lê como se realmente fosse uma lista de termos, o que acaba confundindo o propósito do formulário. Ainda não estou convencido em usar |
Beta Was this translation helpful? Give feedback.
-
Consegue dar uma ajuda aqui? 🐱 |
Beta Was this translation helpful? Give feedback.
-
@ricardoruwer pois é, W3C tem umas convenções controversas às vezes, como aquela de classes semânticas @andrewsfg somos 2. Um field não deveria ser envolvido por um parágrafo né? heheh |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos , como um leitor de tela e um robô do Google, por exemplo, faria a leitura disso? Um texto corrido? Fiquei curioso hahaha |
Beta Was this translation helpful? Give feedback.
-
@andrewsfg ele encara como um texto e item de formulário... Pra eu não faz sentido ainda heheh |
Beta Was this translation helpful? Give feedback.
-
Também não me agrada o uso de Interessante também pontuar que o W3C vem desencorajando o uso de Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors. |
Beta Was this translation helpful? Give feedback.
-
Entendo @reinaldoferraz, pensando por esse lado faz sentido. Mas sempre imaginei que as divisórias do formulário não deveriam carregar carga semântica... |
Beta Was this translation helpful? Give feedback.
-
Até que faz sentido se pensar na representação: <p>
<label>
<span>Nome:<span>
<input id="name" name="name" type="text" placeholder="Digite seu nome" required />
</label>
</p>
<p>
<label>
<span>Sobrenome:<span>
<input id="surname" name="surname" type="text" placeholder="Digite seu sobrenome" required />
</label>
</p> <p>
<span>Nome:<span>
<span>Fulano</span>
</p>
<p>
<span>Sobrenome:<span>
<span>Silva Sauro</span>
</p> |
Beta Was this translation helpful? Give feedback.
-
Sempre compartilhei do mesmo pensamento do @lfeh, sempre utilizei E, olhando num todo, não temos uma tag específica para isso. Por isso, por enquanto, continuarei utilizando a |
Beta Was this translation helpful? Give feedback.
-
Também sempre utilizei Outro ponto que me chamou a atenção foi o uso do |
Beta Was this translation helpful? Give feedback.
-
Com relação ao Ambos os casos são válidos:
https://www.w3.org/WAI/tutorials/forms/labels/ No passado recomendavam não usar Inclusive a iniciativa de acessibilidade do W3C defende que, independente do tipo de uso (implícito ou não), deve-se utilizar o elemento |
Beta Was this translation helpful? Give feedback.
-
Estava lendo um pouco estes dias e vi uma explicação que achei bem relevante Exemplo 1
Exemplo 2
O exemplo 1 não é errado, mas pode causar uma certa confusão nos leitores de tela. Eles podem ler algo como "name, editar texto, estrela" E no exemplo 2 o leitor vai interpretar com maior clareza, algo como "name, estrela, editar texto" O que vocês acham disso? |
Beta Was this translation helpful? Give feedback.
-
Um dúvida que gostaria de colocar nesta questão de separação é: O que vocês acham sobre estruturar um grupo de radio buttons utilizando
|
Beta Was this translation helpful? Give feedback.
-
Confesso que o uso de O problema está no comportamento do elemento O que eu recomendaria seria usar o atributo |
Beta Was this translation helpful? Give feedback.
-
Como o tópico ressuscitou depois de 4 anos, uma estrutura que uso atualmente e que estou bem feliz é essa: <form class="form">
<div class="form-control">
<div class="form-control__wrap">
<input type="text" id="name" placeholder="name" class="form-control__input">
<label class="form-control__label" for="name"></label>
</div>
<div class="form-control__message">
<p>Preencha o nome completo</p>
</div>
</div>
<div class="form-control">
<div class="form-control__wrap">
<input type="email" id="email" placeholder="email" class="form-control__input">
<label class="form-control__label" for="email"></label>
</div>
<div class="form-control__message">
<p>E-mail inválido</p>
</div>
</div>
<div class="form-control">
<div class="form-control__wrap">
<button class="button" type="submit">Enviar</button>
</div>
</div>
</form> |
Beta Was this translation helpful? Give feedback.
-
Em forms que não tem um visual muito rebuscado, gosto de usar a seguinte estrutura: <form>
<fieldset>
<legend>The Legend of Female Link</legend>
<dl>
<dt><label for="...">Label</label></dt>
<dd><input /></dd>
<dt><label for="...">Label</label></dt>
<dd><input /></dd>
<dt><label for="...">Label</label></dt>
<dd><input /></dd>
<dt class="visuallyhidden">Actions</dt>
<dd><button>Enviar</button></dd>
</dl>
</fieldset>
</form> Sobre o required, idem o que o @reinaldoferraz comentou. Além do |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Pessoal, estamos redesenhando nossos forms aqui na GetNinjas, e queríamos aproveitar pra rever a semântica dos campos e etc..
Andei pesquisando um pouco e geralmente o que se faz é a divisão entre os campos ou é feita com
<div>
ou<p>
. Outros exemplos, não se usa nenhum "wrapper" dos campos e labels.A minha pergunta é mais em relação a como dividir melhor os itens do formulário, como dividi-los de forma semântica, contemplando o cenário de mensagens de erro, mensagens de ajuda ou tips, etc..
Seguem alguns exemplos de como pensei em organizar:
Usando
<div>
Exemplo com
<p>
Exemplo com nada
* Lembrando que estou considerando apenas semântica
** O uso da classe
field
é pra que eu consiga fazer escopo dos elementos, via CSSBeta Was this translation helpful? Give feedback.
All reactions