S05 — Tarefa: Formulário de Avaliação de Produto
Visão Geral
Nesta tarefa, você criará uma página de formulário de avaliação de produto. Você usará um bom design de formulário, receberá requisitos de campo específicos e deverá incluir uma confirmação de envio com um contador. Além disso, o formulário deve ser fácil de usar tanto em telas de dispositivos móveis quanto de desktops.
Tarefa
Crie um formulário HTML com uma página de confirmação. O formulário deve atender às especificações listadas nas instruções. O design fica por sua conta, mas deve seguir os princípios de um bom design de formulários. Aqui está um exemplo de captura de tela do que você fará.
Objetivos Adicionais de Aprendizagem do Curso
- Desenvolva páginas web responsivas que sigam as melhores práticas e usem HTML e CSS válidos.
- Demonstrar proficiência na sintaxe da linguagem JavaScript.
- Usar JavaScript para responder a eventos e modificar HTML de forma dinâmica.
- Demonstre as características de um membro eficaz da equipe, incluindo comunicação clara, colaboração, cumprimento de tarefas e cumprimento de prazos.
Instruções da Atividade
Configuração de Arquivo e Pasta
- Crie um novo arquivo chamado "formulario.html".
- Adicione arquivos CSS e JavaScript de suporte conforme necessário e coloque-os nas pastas apropriadas.
HTML
- Inclua os componentes padrão de head e body HTML necessários neste curso e inclua o conteúdo de footer comum usado nas tarefas.
- O formulário HTML deve conter os seguintes campos, atributos e funcionalidades:
-
Formulário
- O formulário deve usar um método "get" para ser compatível com o GitHub.
- A ação deve fazer referência a uma página de confirmação de formulário chamada "avaliacao.html".
-
Nome do Produto
- Use um elemento
selectcom atributosidenameapropriados, e defina-o comorequired(obrigatório). - A primeira opção no elemento
selecté um espaço reservado instrucional que diz "Selecione um Produto..." definido comodisabledeselectedpara ser exibido por padrão, mas não pode ser clicado pelo usuário. - As opções restantes são criadas dinamicamente usando um array de produtos fornecido.
Cada opção deve ter um atributo
value(valor) que é o nome do produto.Um array de objetos com produtos é fornecido abaixo para ajudar você a entender como criar um campo de seleção com as opções dinâmicas. Normalmente, os dados viriam de uma fonte externa.
- Use um elemento
-
Classificação Geral
- A classificação geral do produto deve ter cinco níveis (1 a 5) ou estrelas.
O formulário de exemplo usa entidades estrela ☆ (☆) para exibir o nível. Você pode escolher o design que quiser. Aqui está outro exemplo de uso de estrelas que são preenchidas na seleção: Formulário com Input Radio Star+ – CodePen.
- Utilize um
input(entrada) do tiporadio(botão de opção) para cada um dos níveis. - Os atributos obrigatórios são
id,name(cada um dos botões de opção deve usar o mesmo valor para o atributoname) e serrequired.Por que cada um dos botões de opção que fazem parte desta classificação deve ter o mesmo valor de
name?
- A classificação geral do produto deve ter cinco níveis (1 a 5) ou estrelas.
-
Data de Instalação
- Use um
inputdo tipodate(data) para permitir que o usuário selecione a data em que o produto foi instalado. - Os atributos obrigatórios são
id,nameerequired
- Use um
-
Recursos Úteis
- Este campo permite que o usuário selecione todos os recursos listados que achou úteis. Este é um campo para marcar todas as opções aplicáveis.
- Use um
inputdo tipocheckbox(caixa de seleção) - Cada caixa de seleção deve ter um atributo
id,nameevalue.
-
Avaliação Escrita
- Use um elemento
textarea(área de texto) para permitir que o usuário escreva uma avaliação. - Os atributos necessários são
idename - A avaliação por escrito não é obrigatória.
- Use um elemento
-
Nome de Usuário
- Use um
inputdo tipotext(caixa de texto) para o usuário digitar o nome. - Adicione os atributos
idename. - A entrada do nome de usuário é opcional.
- Use um
-
Botão de Envio de Formulário
- Use um
inputdo tiposubmit(botão de envio) com umvalueapropriado que indique a finalidade da ação do formulário.
- Use um
-
Formulário
- Cada campo do formulário deve ter um
label(rótulo) associado. - Verifique se a ordem das tabulações do teclado está correta.
- Inclua o conteúdo de footer comum encontrado em todas as tarefas.
CSS
- Use seu próprio esquema de cores e opções de tipografia.
Você é responsável por praticar bons princípios de design de alinhamento, contraste de cores, proximidade, repetição e usabilidade em todo o seu trabalho.
- Pratique um bom design fazendo o formulário de acordo com os princípios que você aprendeu na atividade de aprendizagem sobre formulários HTML. Cabe a você desenvolver um design esteticamente agradável, alinhado aos princípios de design que favoreçam a usabilidade e uma experiência satisfatória para o usuário.
JavaScript
- Use JavaScript para preencher as opções de Nome de Produto.
O campo nome do array deve ser usado como o conteúdo de texto do elemento
option, e o id do array deve ser usado no atributovaluedesse mesmo elemento (que estará dentro do elemento select). Copie o seguinte array de objetos com produtos no seu arquivo JavaScript para usar como fonte de dados.Array de Produtos
const produtos = [ { id: "fc-1888", nome: "capacitor de fluxo", classificacaomedia: 4.5 }, { id: "fc-2050", nome: "fios elétricos", classificacaomedia: 4.7 }, { id: "fs-1987", nome: "circuitos de tempo", classificacaomedia: 3.5 }, { id: "ac-2000", nome: "reator de baixa tensão", classificacaomedia: 3.9 }, { id: "jj-1969", nome: "equalizador de distorção", classificacaomedia: 5.0 } ]; - Use o localStorage para controlar o número de avaliações concluídas pelo usuário cliente adicionando um contador à página avaliacao.html de envio do formulário. Toda vez que a página for carregada corretamente após o envio do formulário, adicione um ao contador.
Teste
- Sempre verifique seu trabalho renderizando a página localmente usando o Live/Five Server no VS Code.
- Use o DevTools do navegador para verificar erros de tempo de execução do JavaScript no console ou clique no ícone vermelho de erro no canto superior direito do DevTools.
- Use CSS Overview do DevTools para verificar o contraste de cores.
- Gere o relatório do DevTools Lighthouse e execute diagnósticos de
Acessibilidade, Melhores Práticas e SEO nas visualizações de
dispositivos móveis e desktop.
É melhor testar sua página em uma janela privada ou anônima do navegador.
Envio e Auditoria
- Confirme (commit) em seu repositório local e envie (push), ou carregue, seu trabalho para seu repositório wdd131 habilitado para GitHub Pages no GitHub.
- Use esta ☑️ ferramenta de auditoria para verificar se seu trabalho contém alguns dos elementos HTML e conteúdo CSS necessários. A ferramenta de auditoria também é usada pela equipe de avaliação.
- Compartilhe seu trabalho publicando seu URL no fórum semanal do curso no Microsoft Teams e comente o trabalho de seus colegas dando feedback construtivo.
- Volte ao Canvas e envie o URL correto habilitado para o GitHub Pages.
https://seu-nomedeusuario-github.github.io/wdd131/formulario.html