![]() Gabriel Lopes | ![]() Taynara Gabrielle | ![]() Uires Carlos | ![]() Pedro Luiz |
Implementação prática dos critérios de acessibilidade WCAG 2.2 do Grupo 1 - Perceptível: Textos Alternativos e Multimídia.
Este projeto demonstra como implementar corretamente os critérios de acessibilidade em um front-end web, proporcionando uma experiência inclusiva para todos os usuários.
Especificação: Todo conteúdo não-textual apresentado ao usuário deve ter uma alternativa textual que serve o mesmo propósito.
Implementações:
- Imagens informativas: Alt text descritivo e significativo
- Imagens decorativas:
alt=""erole="presentation"para serem ignoradas por leitores de tela - Ícones funcionais:
aria-labeldescrevendo a ação do botão - Gráficos complexos: Descrições textuais detalhadas
Especificação: Para mídia pré-gravada de apenas áudio e apenas vídeo, alternativas equivalentes devem ser fornecidas.
Implementações:
- Conteúdo apenas áudio: Transcrições textuais completas incluindo identificação de locutores
- Conteúdo apenas vídeo: Descrições textuais ou áudio-descrição equivalente
- Informações temporais: Timestamps e duração do conteúdo
Especificação: Legendas são fornecidas para todo conteúdo de áudio pré-gravado em mídia sincronizada.
Implementações:
- Legendas WebVTT: Arquivo
.vttcom legendas sincronizadas - Transcrições completas: Texto alternativo incluindo efeitos sonoros e identificação de locutores
- Controles acessíveis: Players de mídia operáveis por teclado
- Cegueira total: Usuários de leitores de tela (JAWS, NVDA, VoiceOver) precisam de textos alternativos para compreender imagens
- Baixa visão: Descrições textuais complementam a percepção visual limitada
- Daltonismo: Alt text ajuda quando informações são transmitidas apenas por cor
- Surdez: Transcrições permitem acesso ao conteúdo sonoro
- Deficiência auditiva parcial: Texto complementa o áudio de baixa qualidade
- Ambientes silenciosos: Beneficia usuários em locais onde não podem ouvir áudio
- Surdocegueira: Legendas podem ser convertidas em braille por displays táteis
- Deficiências cognitivas: Texto reforça a compreensão do conteúdo auditivo
- Dificuldades de processamento auditivo: Legendas facilitam o entendimento
- Contextos ruidosos: Transporte público, escritórios abertos
- Ambientes silenciosos: Bibliotecas, hospitais, madrugada
- Idiomas não nativos: Texto auxilia na compreensão
- Conexões lentas: Texto carrega mais rápido que mídia
<!-- Imagem informativa -->
<img src="grafico.jpg" alt="Gráfico de barras mostrando crescimento de 25% nas vendas">
<!-- Imagem decorativa -->
<img src="decoracao.jpg" alt="" role="presentation">
<!-- Ícone funcional -->
<button aria-label="Buscar no site">🔍</button><!-- Vídeo com legendas -->
<video controls>
<track kind="captions" src="legendas.vtt" srclang="pt-BR" label="Português" default>
<p>Fallback para navegadores sem suporte</p>
</video>
<!-- Áudio com transcrição -->
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<p>Seu navegador não suporta áudio. <a href="#transcricao">Ver transcrição</a></p>
</audio>/* Skip links */
.skip-link {
position: absolute;
top: -40px;
left: 6px;
}
.skip-link:focus { top: 6px; }
/* Foco visível */
*:focus {
outline: 2px solid #4f46e5;
outline-offset: 2px;
}
/* Contraste adequado */
body { color: #1a202c; background: #ffffff; }// Navegação suave acessível
links.forEach(link => {
link.onclick = (e) => {
e.preventDefault();
document.querySelector(link.getAttribute('href'))
.scrollIntoView({behavior: 'smooth'});
};
});
// Controles de mídia acessíveis
mediaElements.forEach(media => {
media.addEventListener('play', function() {
console.log('Mídia iniciada');
});
});aria-label: Rótulos acessíveis para elementos sem texto visívelrole="presentation": Remove semântica de elementos decorativos- Navegação por landmarks semânticos (
main,nav,section)
- Navegador web moderno (Chrome, Firefox, Safari, Edge)
- Servidor web local (opcional, para mídia externa)
-
Clone ou baixe o repositório:
git clone https://github.com/BrzGab/site-ihc.git cd site-ihc -
Abra o arquivo principal:
- Clique duas vezes em
index.htmlOU - Arraste
index.htmlpara o navegador OU - Botão direito → "Abrir com" → Navegador
- Clique duas vezes em
-
Navegue pelo site:
- Use o menu superior para navegar entre critérios
- Teste a navegação por teclado (Tab, Enter, Setas)
- Acesse
midia-alternativa.htmlse os vídeos não carregarem
-
Usando Python:
# Python 3 python -m http.server 8000 # Python 2 python -m SimpleHTTPServer 8000
-
Usando Node.js (npx):
npx http-server
-
Usando PHP:
php -S localhost:8000
-
Acesse:
http://localhost:8000
- Acesse diretamente: https://brzgab.github.io/site-ihc
- Ativar GitHub Pages:
- Vá em Settings → Pages
- Source: Deploy from branch
- Branch: main → Save
-
Navegação por teclado:
- Use
Tabpara navegar entre elementos Enter/Espaçopara ativar botões/linksShift+Tabpara voltar
- Use
-
Leitores de tela:
- Windows: NVDA (gratuito)
- macOS: VoiceOver (nativo)
- Navegador: Extensões como Screen Reader
-
Ferramentas de validação:
- WAVE Web Accessibility Evaluator
- axe DevTools (extensão do navegador)
- Lighthouse (Chrome DevTools → Accessibility)
-
Teste manual no console:
// Execute no console do navegador testarAcessibilidade();
site-ihc/
├── index.html # Página principal com demonstrações
├── midia-alternativa.html # Mídia simulada (fallback)
├── styles.css # Estilos acessíveis e responsivos
├── script.js # Funcionalidades JavaScript
├── legendas.vtt # Legendas WebVTT
└── README.md # Esta documentação
- Skip links para conteúdo principal
- Navegação por teclado completa
- Indicadores de foco visíveis
- Hierarquia semântica de headings (h1, h2, h3)
- Landmarks ARIA implícitos
- Alt text descritivo para imagens informativas
- Alt vazio para imagens decorativas
- Aria-label para ícones funcionais
- Descrições textuais para gráficos
- Transcrições completas para áudio
- Descrições para vídeo apenas visual
- Legendas sincronizadas (WebVTT)
- Controles de mídia acessíveis
- Fallbacks para conteúdo não suportado
- Contraste de cores adequado (WCAG AA)
- Tipografia legível e escalável
- Layout responsivo
- Espaçamento adequado para touch targets
- HTML5: Estrutura semântica e elementos de mídia
- CSS3: Estilos acessíveis, Grid Layout, Flexbox
- JavaScript ES6+: Interatividade e funcionalidades dinâmicas
- WebVTT: Formato padrão para legendas web
- Web APIs: Intersection Observer, Media APIs
- WCAG 2.2 Level A para critérios 1.1.1, 1.2.1, 1.2.2
- HTML5 válido (W3C Validator)
- CSS3 válido (W3C CSS Validator)
- Acessibilidade testada com leitores de tela
- WAVE: Análise automática de acessibilidade
- axe DevTools: Extensão para desenvolvedores
- Lighthouse: Auditoria do Chrome
- Color Contrast Analyzer: Verificação de contraste
Projeto desenvolvido para fins educacionais - Disciplina de Interação Humano-Computador (IHC) 2025.
Este projeto demonstra a implementação prática de critérios WCAG 2.2, contribuindo para uma web mais inclusiva e acessível para todos.



