Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

58
Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Transcript of Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Page 1: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Laboratório de InformáticaFormulários em HTML

1º Semestre 2009 > PUCPR > BSI

Bruno C. de PaulaBruno C. de Paula

Page 2: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

211/04/23

Formulários mal construídos podem mudar o mundo!

Cédula das eleições americanas de 2000

Page 3: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Resumo da aula

Na aula hoje, nosso objetivo é aprender a criar formulários em HTML 4 e 5;Hoje, vamos nos preocupar apenas com a interface do formulário, o que permite que o usuário interaja com o documento;Em situações reais, para um formulário fazer sentido, será necessária a utilização associada de uma linguagem cliente como JavaScript ou no servidor como PHP.

Page 4: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

411/04/23

Resumo da aula

Deveremos aceitar que nossos formulários sempre deverão ser construídos de maneira acessível;

Começaremos a entender também que a criação de formulários envolve conceitos das áreas:

oProjeto de Formulários;oUsabilidade;oValidação de Formulários;oPsicologia Cognitiva;oEtc...

Page 7: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

711/04/23

Tags HTML referenciadas na aula (em Português –site Referenciando)

Grupo de opções em um select: <optgroup>;

Agrupamento de itens de formulário: <fieldset>;

Legenda de um grupo de itens de formulário: <legend>;

Page 8: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

811/04/23

Tags HTML referenciadas na aula (em Inglês – site SitePoint)

Contâiner de formulário: <form>;Rótulo de item de formulário: <label>;Botão: <button>;Elemento de entrada de dados: <input>

;Caixa de texto multilinha: <textarea>.Caixa de seleção: <select>;Opção de um select: <option>;

Page 9: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

911/04/23

Tags HTML referenciadas na aula (em Inglês – site SitePoint)

Grupo de opções em um select: <optgroup>;

Agrupamento de itens de formulário: <fieldset>;

Legenda de um grupo de itens de formulário: <legend>;

Page 10: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1011/04/23

Propriedades CSS referenciadas na aula (em Inglês –site SitePoint)

Bordas:– border-width: largura da borda;– border-style: estilo da borda;– border-color: cor da borda.

Determinar a cor da letra e o fundo:– color:cor do elemento;– background-color: cor de fundo;– background-image: imagem de fundo;

width: largura de um elemento;

Page 12: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1211/04/23

Ponto chave da aula!

Page 13: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1311/04/23

Ponto chave da aula: Renderização padrão em navegadores diferentes é sempre diferente. Itens NUNCA vão ficar exatamente iguais.

Page 14: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

CSS resolve parcialmente este problema!

Teremos uma aula dedicada à sobre formatação de

formulários.

1411/04/23

Page 15: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1511/04/23

A tag <form>

Formulário (tag <form>): –contâiner para uma quantidade

ilimitada de componentes de interação com o usuário.

Aceita um número limitado de tipos de componentes diferentes.

<FORM id="form1" action="url" method=“post" > <!--...Coloque seus controles aqui... --> </FORM>

Page 17: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1711/04/23

Tipos de componentes de formulário no HTML Versão 4

1 ou mais tags por componente;

Limitadíssimos!!Ver exemplos;Guarde este resumo!

Page 18: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1811/04/23

Page 19: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

1911/04/23

Page 20: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2011/04/23

Tipos de componentes do HTML Versão 5

Ainda em discussão!É importante conhecer o futuro!Vamos usar o Navegador Opera para

testá-las;Opera Versão Portátil em:

–http://www.kejut.com/operaportableVer exemplos;

Page 21: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2111/04/23

Page 22: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2211/04/23

Atributos essenciais dos componentes

Atributo id: identifica o controle para o cliente web / JavaScript;

Atributo name: identifica o controle para o servidor web;

Atributo value: indica o valor do controle e pode mudar;

Atributo type: indica o tipo de controle;

Page 23: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2311/04/23

Criar um formulário (siga esta receita)1) Definir o contâiner de formulário

<form>;2) Definir o action do formulário, ou seja,

para onde ele vai;3) (opcional) Definir o método de envio do

formulário (GET ou POST);4) (opcional) Delimitar os grupos de itens

através de <fieldset>;5) (opcional) Usar uma legenda para cada

grupo <legend>;

Page 24: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2411/04/23

Criar um formulário (siga esta receita)6) (opcional) Definir um rótulo para

cada item de formulário <label>;7) Criar o item de formulário associado

ao rótulo <input>, <button>, etc.8) (acessibilidade) Definir teclas de

acesso, através do atributo accesskey;9) Definir o botão de submissão;10) CSS: Formatar o formulário.

Page 25: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2511/04/23

Exemplo de formulário

Vamos começar com este formulário...Ao clicar no botão cadastrar, os dados

são enviados para a página:–http://tinyurl.com/form2009li–

Page 27: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2711/04/23

1) Definir o contâiner de formulário (<form>)

Não mostra nada!Todos os componentes de formulário

devem ser colocados dentro do elemento <form>.

Page 28: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

2811/04/23

2) Definir o action do formulário, ou seja, para onde ele vai;

O formulário ao ser enviado, submete os dados para a página indicada pelo atributo action;

Page 29: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3) (opcional) Definir o método de envio (GET ou POST)Método GET:

–envio das informações pela barra de endereços;

–visível;– limitado a cerca de 2000 caracteres;

Método POST: –envio das informações via cabeçalho

HTTP;– ilimitado (teórico).

2911/04/23

Page 30: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3011/04/23

Page 31: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3111/04/23

Page 32: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

No método GET, a informação é passada via barra de endereços

3211/04/23

Page 33: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

No método POST, a informação só pode ser vista com ferramentas especiais (Firebug)

3311/04/23

Page 34: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3411/04/23

4) (opcional) Delimitar os grupos de itens através de <fieldset>;

Page 35: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3511/04/23

5) (opcional) Usar uma legenda para cada grupo <legend>;

Page 36: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

3611/04/23

6) (opcional) Definir um rótulo para cada item de formulário <label>;

O atributo for deve ter como valor o id do componente associado;

Page 37: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

<label>

Especifica um rótulo que estende a área de foco do elemento;

Evita tiro ao alvo.

3711/04/23

Page 38: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Com <label>:

3811/04/23

Sem<label>:

Área clicável em roxo

Page 39: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

7) Criar o item de formulário associado ao rótuloVamos criar uma

caixa de texto através da tag input com atributo type = text;

3911/04/23

Page 40: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

4011/04/23

Page 41: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

4111/04/23

O atributo for deve ter como valor o id do componente associado;

Page 42: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

8) (acessibilidade) Definir teclas de acesso (atributo accesskey)

Firefox: SHIFT + ALT + TECLA;IE: ALT + TECLA;Cuidado com conflitos!

4211/04/23

Page 43: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

9) Definir o botão de submissão

Ao clicar no botão de submissão, os dados são enviados para a página indicada pelo atributo action do form;

Observe que a página é perdida ao clicar no botão.

4311/04/23

Page 45: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Evoluindo o formulário

4511/04/23

Page 46: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Caixa de senha

4611/04/23

Page 47: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Botão de rádio

Apenas uma opção de cada vez;O atributo name agrupa os controles;

4711/04/23

Page 48: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Caixa de checagem

4811/04/23

Page 49: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

04/11/23Formulários49

Diferença entre caixa de checagem e botão de rádio

Só pode uma opção de cada vez:

Pode selecionar mais de uma opção:

Page 50: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Caixa de envio de arquivos

5011/04/23

Page 51: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Caixa de texto multilinha

cols e rows determinam o número de colunas e linhas;

5111/04/23

Page 52: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Caixa de listagem

<select> é o container;Cada opção é um <option>.

5211/04/23

Page 54: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

04/11/23Formulários54

Dicas para construção de formulários 1) Nunca esqueça de colocar rótulos (<label>); 2) Dê name e id para todos os elementos; 3) Respeite a diferença entre readonly e disabled; 4) Gere a ordem de tabulação (taborder) quando

necessário; 5) A tecla de atalho (accesskey) é obrigatória para

que seu sistema seja utilizável sem teclado. 6) O atributo title é uma ótima alternativa para

exibição de uma dica visual ou para ajudar a navegação em um navegador não visual.

Page 55: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

04/11/23Formulários55

Diferença entre atributo disabled e atributo readonly disabled: deixa o elemento desabilitado (texto em

cinza). readonly: impede a edição do elemento, mas ele

não fica com o texto “em cinza”. Exemplo:

– <input type=“text” readonly=“readonly” value=“xxx”/>

– <input type=“text” disabled=“disabled” value=“yyy”/>

Page 56: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

5611/04/23

Referências principais

http://www.maujor.com/blog/w3c/rec-forms.html

http://www.w3schools.com/html/html_forms.asp

http://dev.opera.com/articles/view/20-html-forms-the-basics/

http://dev.opera.com/articles/view/34-styling-forms/

http://dev.opera.com/articles/view/improve-your-forms-using-html5/

Page 57: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

Referências complementares

Firefox 2.0 and Access Keys– http://juicystudio.com/article/firefox2-

accesskeys.php#realsolution– Discussão sobre teclas de acesso no Firefox

Avaliador de Acessibilidade– https://www.governoeletronico.gov.br/acoes-e-

projetos/e-MAG/ases-avaliador-e-simulador-de-acessibilidade-sitios

Recomendações acessibilidade– http://www.geocities.com/claudiaad/

acessibilidade_web.html

5711/04/23

Page 58: Laboratório de Informática Formulários em HTML 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.

5811/04/23

Próxima aula

CSS:–Seletores!–Textos e Fontes!