🎯 Introdução
Desenvolver um site não significa apenas escrever códigos HTML, CSS e JavaScript. Um bom sistema também precisa ser fácil de entender, agradável de utilizar e eficiente para realizar aquilo que o usuário precisa. É nesse contexto que aparecem dois conceitos muito importantes no desenvolvimento de interfaces: UI e UX.
UI significa User Interface, ou Interface do Usuário
UX significa User Experience, ou Experiência do Usuário
Embora os dois conceitos estejam relacionados, eles não significam a mesma coisa.
Imagine um aplicativo de banco.
A aparência das telas, os botões, as cores, os campos, os ícones e os menus fazem parte principalmente da UI
Já a facilidade para encontrar o saldo, realizar uma transferência, entender uma mensagem de erro e concluir uma operação está relacionada principalmente à UX
1. O que é UI?
UI é a forma como uma interface é apresentada visualmente e como os elementos da interface permitem que o usuário interaja com o sistema.
Em um site, praticamente tudo que o usuário consegue visualizar ou utilizar pode fazer parte da interface.
- Botões
- Menus
- Formulários
- Cores
- Tipografia
- Ícones
- Imagens
- Cards
- Campos de entrada
- Links
- Mensagens
- Elementos de navegação
Exemplo de UI
Observe um botão simples:
<button>
Comprar agora
</button>
O HTML cria o elemento. O CSS pode determinar sua aparência.
button {
background: #007acc;
color: white;
padding: 12px 20px;
border: none;
border-radius: 8px;
cursor: pointer;
}
O texto "Comprar agora", o tamanho do botão, sua cor, borda, espaçamento e aparência visual fazem parte da interface.
2. O que é UX?
UX é a experiência que uma pessoa tem ao utilizar um produto, sistema, aplicativo ou site.
UX está relacionada à facilidade, clareza, eficiência e satisfação durante a utilização de uma interface.
Exemplo
Imagine uma página de compra.
O botão "Comprar" pode ser visualmente bonito. Isso é uma questão de UI.
Porém, se o usuário precisar passar por dez telas desnecessárias para finalizar a compra, existe um problema de UX.
- O usuário entende o que precisa fazer.
- Os campos necessários estão claros.
- As mensagens são compreensíveis.
- O sistema responde às ações.
- O usuário consegue concluir sua tarefa sem dificuldade desnecessária.
3. UI × UX
UI está mais relacionada à interface e à forma como ela é apresentada.
UX está relacionada à experiência e à forma como o usuário consegue realizar suas tarefas.
| UI | UX |
|---|---|
| Cores | Facilidade de utilização |
| Botões | Fluxo de navegação |
| Tipografia | Clareza das informações |
| Ícones | Eficiência da tarefa |
| Layout | Satisfação do usuário |
| Espaçamentos | Problemas encontrados durante o uso |
Uma interface pode ser muito bonita e ainda proporcionar uma experiência ruim.
Por isso, um bom desenvolvedor não deve pensar somente em "como deixar bonito", mas também em "como tornar fácil de usar".
4. Pensar no usuário
Design centrado no usuário significa desenvolver pensando nas necessidades, objetivos, dificuldades e características das pessoas que utilizarão o sistema.
O desenvolvedor conhece o sistema profundamente. O usuário não.
Uma interface pode parecer óbvia para quem criou o sistema, mas não necessariamente será óbvia para quem está utilizando pela primeira vez.
Exemplo
Imagine um botão contendo somente um ícone:
<button>⋮</button>
O desenvolvedor pode saber que esse botão abre um menu de opções.
Mas será que todos os usuários saberão?
<button aria-label="Abrir opções">
⋮
</button>
Também é possível utilizar uma dica visual, texto ou tooltip quando fizer sentido.
5. Hierarquia Visual
Hierarquia visual é a organização dos elementos de uma interface para indicar ao usuário o que é mais importante, menos importante e qual informação deve ser observada primeiro.
Podemos criar hierarquia utilizando:
- Tamanho
- Cor
- Contraste
- Espaçamento
- Posicionamento
- Peso da fonte
- Imagens
- Elementos de destaque
Exemplo
<h1>Curso de Desenvolvimento Web</h1>
<p>
Aprenda HTML, CSS e JavaScript.
</p>
<button>
Começar agora
</button>
O título deve possuir destaque maior que o texto.
O botão de ação também deve ser facilmente identificado quando representar a principal ação da página.
6. Cores na Interface
As cores ajudam a organizar informações, destacar ações, comunicar estados e criar identidade visual.
Alguns significados frequentemente utilizados:
| Uso | Exemplo |
|---|---|
| Sucesso | Operação concluída |
| Erro | Problema encontrado |
| Atenção | Informação importante |
| Informação | Orientação ao usuário |
Não utilize somente a cor para transmitir uma informação importante.
Uma mensagem de erro, por exemplo, deve possuir também texto ou outro indicador.
7. Tipografia
Tipografia é o uso e organização das fontes utilizadas em uma interface.
A escolha da fonte influencia diretamente a leitura e a percepção visual do site.
Boas práticas
- Utilize fontes fáceis de ler.
- Mantenha tamanhos adequados.
- Crie diferença entre títulos e textos.
- Evite excesso de fontes diferentes.
- Utilize espaçamento adequado entre linhas.
Exemplo CSS
body {
font-family: Arial, sans-serif;
line-height: 1.6;
}
h1 {
font-size: 2.5rem;
}
p {
font-size: 1rem;
}
8. Espaçamento e organização
Espaçamento é a distância entre elementos de uma interface.
Uma interface sem espaçamento pode ficar visualmente confusa, mesmo quando possui todas as informações necessárias.
Exemplo
.card {
padding: 20px;
}
.card h2 {
margin-bottom: 10px;
}
.card p {
margin-bottom: 15px;
}
Os elementos ficam separados visualmente, facilitando a leitura e a compreensão da estrutura.
9. Botões e chamadas para ação
Botões permitem que o usuário execute ações dentro de uma interface.
Exemplos:
- Salvar
- Enviar
- Excluir
- Comprar
- Editar
- Continuar
- Cancelar
Botão HTML
<button type="button">
Salvar
</button>
Botão de formulário
<button type="submit">
Enviar formulário
</button>
Evite textos vagos como "Clique aqui" quando for possível explicar diretamente a ação.
<button>
Baixar material
</button>
O usuário consegue compreender o que acontecerá ao pressionar o botão.
10. Formulários e UX
Formulários permitem que o usuário forneça informações ao sistema.
Formulários são um dos pontos onde problemas de UX aparecem com muita frequência.
Exemplo correto
<label for="email">
E-mail
</label>
<input type="email" id="email" name="email" placeholder="Digite seu e-mail">
O elemento label identifica o campo e o atributo
for aponta para o id correspondente.
Evite depender somente do placeholder
O placeholder é uma dica dentro do campo e não deve substituir a identificação permanente do campo.
<label for="nome">
Nome completo
</label>
<input type="text" id="nome" name="nome" placeholder="Ex.: João da Silva">
11. Feedback da Interface
Feedback é uma resposta do sistema para informar ao usuário o resultado de uma ação.
Quando o usuário clica em "Salvar", por exemplo, o sistema deve indicar que a operação aconteceu.
Exemplos de feedback
- "Cadastro realizado com sucesso."
- "Senha incorreta."
- "Arquivo enviado."
- "Preencha este campo."
- "Carregando..."
<p role="status">
Cadastro realizado com sucesso!
</p>
12. Mensagens de erro
Uma mensagem de erro deve informar o que aconteceu e, quando possível, orientar o usuário sobre como resolver o problema.
Erro 001.
Essa mensagem não explica o problema para a maioria dos usuários.
O e-mail informado não é válido.
Verifique o endereço e tente novamente.
14. UI/UX e Responsividade
Responsividade é a capacidade de uma interface adaptar sua apresentação a diferentes tamanhos de tela e dispositivos.
Um site pode ser acessado por:
- Computadores
- Notebooks
- Tablets
- Celulares
- Monitores de diferentes tamanhos
Exemplo CSS
.container {
width: 90%;
max-width: 1100px;
margin: auto;
}
@media (max-width: 768px) {
.container {
width: 95%;
}
}
Responsividade não significa simplesmente "diminuir tudo".
É necessário reorganizar os elementos para manter uma boa experiência.
15. Mobile First
Mobile First é uma estratégia de desenvolvimento na qual a interface é planejada inicialmente para telas menores e depois adaptada para telas maiores.
Exemplo
.card {
width: 100%;
}
@media (min-width: 768px) {
.card {
width: 50%;
}
}
A equipe é obrigada a priorizar o conteúdo e as funcionalidades realmente importantes.
16. UI/UX e Acessibilidade
Acessibilidade permite que pessoas com diferentes capacidades consigam utilizar uma interface.
Acessibilidade faz parte de uma boa experiência do usuário.
Imagem com texto alternativo
<img src="logo.png" alt="Logo da empresa">
Botão acessível
<button aria-label="Fechar janela">
×
</button>
Campo de formulário
<label for="telefone">
Telefone
</label>
<input type="tel" id="telefone" name="telefone">
Uma interface acessível geralmente também se torna mais clara e organizada para todos os usuários.
17. Consistência visual
Consistência significa manter padrões semelhantes ao longo da interface.
Se um botão azul significa "Salvar" em uma página, não é interessante que outro botão azul em outra página represente "Excluir" sem uma boa razão.
Elementos que podem seguir padrões
- Botões
- Fontes
- Cores
- Cards
- Menus
- Formulários
- Espaçamentos
- Ícones
18. Microinterações
Microinterações são pequenas respostas visuais ou funcionais que acontecem durante a interação do usuário com o sistema.
Exemplos:
- Botão muda de aparência ao passar o mouse.
- Campo mostra erro.
- Menu abre.
- Ícone muda após uma ação.
- Elemento apresenta animação.
Exemplo CSS
button {
transition: 0.2s;
}
button:hover {
transform: translateY(-2px);
}
19. UX e desempenho
O desempenho também influencia a experiência do usuário.
Um site visualmente bonito pode proporcionar uma experiência ruim se demorar muito para carregar.
Alguns fatores importantes
- Tamanho das imagens
- Quantidade de scripts
- Quantidade de requisições
- Arquivos CSS
- Arquivos JavaScript
- Servidor
- Cache
Sempre pense: "Essa funcionalidade realmente precisa carregar agora?"
21. Cards e organização de conteúdo
Cards são componentes visuais utilizados para agrupar informações relacionadas.
Estrutura HTML
<article class="card">
<h2>
Curso de HTML
</h2>
<p>
Aprenda a criar estruturas para páginas web.
</p>
<a href="html.html">
Ver curso
</a>
</article>
O card agrupa informações que pertencem ao mesmo contexto.
22. HTML Semântico e UX
HTML semântico utiliza elementos que representam o significado e a função do conteúdo.
Exemplos:
<header>
<nav>
<main>
<section>
<article>
<aside>
<footer>
<main>
<section>
<h1>
Cursos
</h1>
<article>
<h2>
HTML
</h2>
<p>
Curso de HTML.
</p>
</article>
</section>
</main>
23. Organização da informação
Organização da informação consiste em estruturar conteúdos de maneira lógica para que o usuário consiga encontrá-los facilmente.
Um exemplo de organização:
- Início
- Sobre a empresa
- Serviços
- Produtos
- Contato
Se o usuário precisa pensar muito para descobrir onde determinada informação está, provavelmente existe uma oportunidade de melhorar a UX.
24. Affordance
Affordance é a característica de um elemento que indica ao usuário como ele pode ser utilizado.
Exemplo
Um botão visualmente parecido com um botão sugere que pode ser pressionado.
<button>
Enviar
</button>
Já um texto que parece apenas texto pode não deixar claro que é clicável.
Os elementos interativos devem possuir aparência e comportamento que indiquem sua função.
25. Carga Cognitiva
Carga cognitiva é o esforço mental necessário para compreender e utilizar uma interface.
Quanto mais decisões desnecessárias o usuário precisa tomar, maior pode ser a dificuldade de utilização.
Uma tela de cadastro que apresenta dezenas de campos que não são necessários para concluir uma tarefa.
Solicitar somente as informações necessárias para aquela etapa.
26. Heurísticas de Usabilidade
Heurísticas são princípios utilizados para avaliar a usabilidade de uma interface.
Alguns princípios importantes
- Manter o usuário informado.
- Utilizar linguagem compreensível.
- Permitir controle e liberdade.
- Manter consistência.
- Evitar erros.
- Ajudar o usuário a reconhecer informações.
- Facilitar recuperação de erros.
27. Testando a experiência do usuário
Teste de usabilidade consiste em observar pessoas utilizando uma interface para identificar dificuldades, dúvidas e problemas.
Exemplo de teste
Imagine que você desenvolveu um formulário.
Peça para outra pessoa realizar uma tarefa:
"Faça seu cadastro no sistema."
Observe:
- A pessoa encontrou o formulário?
- Entendeu os campos?
- Encontrou o botão?
- Compreendeu as mensagens?
- Conseguiu concluir a tarefa?
28. UI/UX: antes e depois
❌ Interface problemática
<div>
Nome
<input>
Email
<input>
<button>
Clique aqui
</button>
</div>
- Campos sem identificação adequada.
- Botão pouco específico.
- Estrutura sem semântica.
- Pouca informação para tecnologias assistivas.
✅ Interface melhor estruturada
<form>
<div>
<label for="nome">
Nome completo
</label>
<input
type="text"
id="nome"
name="nome"
required
>
</div>
<div>
<label for="email">
E-mail
</label>
<input
type="email"
id="email"
name="email"
required
>
</div>
<button type="submit">
Criar cadastro
</button>
</form>
A interface fica mais clara para o usuário e possui uma estrutura HTML mais adequada.
29. Checklist de UI/UX
Antes de finalizar um site, faça uma avaliação.
30. Atividade Prática
Desenvolva uma página de cadastro aplicando os conceitos de UI e UX estudados nesta aula.
A página deverá possuir
- Cabeçalho.
- Título.
- Texto explicativo.
- Formulário.
- Nome.
- E-mail.
- Telefone.
- Senha.
- Botão de cadastro.
- Mensagens de validação.
- Layout responsivo.
- Recursos básicos de acessibilidade.
Critérios de avaliação
| Critério | O que avaliar |
|---|---|
| UI | Organização visual da interface |
| UX | Facilidade de utilização |
| Responsividade | Adaptação para diferentes telas |
| Acessibilidade | Uso de HTML adequado e recursos acessíveis |
| Usabilidade | Clareza e facilidade das ações |
| Organização | Estrutura do código e da interface |
31. Resumo da Aula
- UI significa User Interface.
- UX significa User Experience.
- UI está relacionada à interface.
- UX está relacionada à experiência.
- Uma interface bonita não garante uma boa UX.
- A hierarquia visual ajuda o usuário a compreender a página.
- Cores podem transmitir informações.
- Tipografia influencia a leitura.
- Espaçamento ajuda na organização.
- Botões devem indicar claramente suas ações.
- Formulários devem ser claros e acessíveis.
- Feedback informa o resultado das ações.
- Responsividade faz parte de uma boa experiência.
- Acessibilidade deve fazer parte do desenvolvimento.
- Testes ajudam a encontrar problemas de usabilidade.
UI: Como a interface é apresentada.
UX: Como é a experiência ao utilizar a interface.
Um bom desenvolvimento web procura unir os dois.