Módulo 7 · Aula 7.6 · Acessibilidade
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 6 h/a | ⭐⭐⭐ | GDevelop 5 | C2, C3, C5 |
Objetivos de aprendizagem
- Reconhecer barreiras comuns em jogos: ver pouco, não distinguir cores, não ouvir, ter dificuldade com uma tecla ou com o mouse, ler devagar.
- Aplicar seis cuidados: texto grande, alto contraste, legendas, tecla trocável, retorno que não depende só de cor e controle por mouse ou teclado.
- Fazer uma tela de opções e salvar as escolhas do jogador.
Pré-requisitos
Aulas 7.2 e 7.3. Aula 6.5 (armazenamento).
Materiais
Computador com o GDevelop; A Feira do Troco; fita adesiva colorida ou papel celofane (para simular visão com pouca nitidez); fones de ouvido.
Conceitos
Acessibilidade não é "modo especial". São escolhas que ajudam muita gente: quem joga sem som na sala, quem esqueceu os óculos, quem tem daltonismo, quem só tem uma mão livre, quem lê devagar. Uma referência gratuita e organizada por nível de esforço é o guia Game Accessibility Guidelines (https://gameaccessibilityguidelines.com, em inglês).
Os seis cuidados da Feira do Troco.
| Cuidado | Barreira que reduz | Como a Feira faz |
|---|---|---|
| Texto grande | ver pouco, ler devagar | opção 1: a fala passa de 22 para 30 px |
| Alto contraste | ver pouco, tela com reflexo | opção 2: caixa preta com borda amarela, fundo liso escuro |
| Legendas dos sons | não ouvir, jogar sem som | opção 3: [moedas tilintando] por 1,5 s |
| Tecla trocável | dificuldade com uma tecla | opção 4: confirmar com Espaço ou Enter |
| Não só cor | daltonismo | acerto é círculo com ✓, erro é quadrado com ✗, e a frase explica |
| Mouse ou teclado | dificuldade com um dos dois | tudo pode ser feito clicando ou só com teclas |
E mais duas: música e brilhos podem ser desligados (opções 5 e 6), e o modo com calma tira o relógio de quem precisa de mais tempo.
Opções salvas. Quem precisa de texto grande não quer ligar toda vez. A Feira salva cada opção no armazenamento "opcoes" quando ela muda e lê tudo quando o título abre (como o progresso do Cajueiral, Aula 6.5).
Projeto pensado para caber. Texto grande só funciona se as falas forem curtas e a caixa tiver espaço. Na primeira versão da Feira, com texto grande, a fala passava da caixa e as escolhas ficavam por cima do texto. Foi preciso reescrever as falas (até uns 40 caracteres por linha) e subir as escolhas. Acessibilidade se planeja no começo, não se cola no fim.
Testar com quem precisa. Os cuidados acima seguem boas práticas, mas não substituem o teste com uma pessoa que tenha a barreira de verdade. Se houver na escola um estudante que queira ajudar, ele é o especialista.
Exemplos
| Problema encontrado em teste (situações comuns) | Cuidado que resolve |
|---|---|
| "não vi que errei, só ficou vermelho" | forma e frase, além da cor |
| "joguei sem som e não sabia que tinha clicado" | legenda e retorno visual |
| "a letra é muito pequena no projetor" | texto grande |
| "a barra de espaço do meu teclado está ruim" | tecla trocável |
Tutorial passo a passo
Parte A. Sentir a barreira (60 min)
- Jogue a Feira com o celofane na frente dos olhos. Depois sem som. Depois só com o mouse. Depois só com o teclado.
- Para cada rodada, anote o que ficou difícil.
- Agora ligue as opções que ajudam e repita. Mudou?
Parte B. Ler a Feira (45 min)
- Título (Eventos): os seis eventos que leem as opções salvas (captura do título).
- Opcoes (Eventos): cada tecla faz
X = 1 - X, salva e toca um clique. - Feira (Eventos): começo da cena com texto grande e contraste (captura 1); legendas (captura 8).
Parte C. Fazer no seu jogo (150 min)
- Crie variáveis globais:
TextoGrande,Contraste,Legendas,TeclaIndice(todas número). - Cena Opcoes com um texto
Listae eventos: teclaNum1→TextoGrande = 1 - TextoGrande; Salvar um valorTextoGrandeno armazenamento"opcoes"com o nome"TextoGrande". Faça igual para as outras. - Texto
Listaque mostra "sim" ou "não": crie a lista globalSimNao=["não", "sim"]e useSimNao[TextoGrande]. - Na primeira cena: No começo da cena e Existência de um grupo
"TextoGrande"em"opcoes"→ Carregar um valor paraTextoGrande. Uma linha por opção. - Na cena do jogo: No começo da cena e
TextoGrande= 1 → Tamanho da Fonte da fala = 30. Teste se cabe! - Contraste: uma segunda animação da caixa de fala, escura com borda clara, e esconder o fundo.
- Tecla trocável: lista global
NomesTecla=["Space", "Return"]e, na condição de tecla, useNomesTecla[TeclaIndice]no lugar do nome da tecla. - Troque um retorno que hoje é só cor por forma + frase.
Parte D. Ficha de acessibilidade (45 min)
- Preencha a ficha: para cada um dos seis cuidados, "tem / não tem / não se aplica", e como foi feito.
Imagens
../../../recursos/imagens/gdevelop/feira-tela-opcoes.png
: tela de opções.../../../recursos/imagens/gdevelop/feira-tela-contraste.png
: texto grande e alto contraste ligados.../../../recursos/imagens/gdevelop/feira-tela-certo.png
: acerto com ícone de forma própria.../../../recursos/imagens/gdevelop/captura-feira-titulo-eventos.png
: leitura das opções salvas.../../../recursos/imagens/gdevelop/captura-feira-eventos-1.png
: texto grande e contraste no começo da Feira.
Indicação da interface
| Item | Texto que aparece no evento |
|---|---|
| ler opção salva | ""TextoGrande" existe no armazenamento "opcoes"" e "Carregue "TextoGrande" do armazenamento "opcoes" e armazene o valor em TextoGrande" |
| salvar | ação Salvar um valor (grupo de armazenamento) |
| tamanho da fonte | "Alterar o tamanho da fonte de Fala: definir como 30" |
| tecla por variável | "A tecla NomesTecla[TeclaIndice] foi pressionada" |
| trocar animação | "Alterar a animação de Caixa: definir como "Contraste"" |
O código completo
Cena Opcoes:
tecla Num1 → TextoGrande = 1 - TextoGrande; Salvar TextoGrande em "opcoes"/"TextoGrande"; som de clique
(igual para Num2 a Num6)
sempre → Lista = "1 Texto grande: " + SimNao[TextoGrande] + NewLine() + ...
tecla Escape → cena Titulo
Cena Titulo:
No começo da cena e "TextoGrande" existe em "opcoes" → Carregar para TextoGrande
(uma linha por opção)
Cena Feira:
No começo da cena e TextoGrande = 1 → tamanho da fonte de Fala = 30
No começo da cena e Contraste = 1 → animação de Caixa = "Contraste"; Ocultar Fundo
LegendaNova ≠ "" e Legendas = 1 → texto de Legenda = LegendaNova; reiniciar o temporizador "Legenda"
sempre → LegendaNova = ""
temporizador "Legenda" ≥ 1,5 s → texto de Legenda = ""Explicação do código
1 - Xliga o que está desligado e desliga o que está ligado (1 - 0 = 1; 1 - 1 = 0).SimNao[TextoGrande]usa o número 0 ou 1 como posição na lista: posição 0 é "não", posição 1 é "sim".- A condição "existe no armazenamento" evita ler um valor que nunca foi salvo, e então vale o padrão das variáveis globais.
- A legenda: cada som pede uma legenda escrevendo
LegendaNova; um evento mais abaixo mostra (se a opção estiver ligada) e outro zera o pedido logo depois. O temporizador apaga a legenda depois de 1,5 s. - As opções são variáveis globais, então valem em todas as cenas.
Resultado esperado
Jogo com tela de opções que funciona, salva e é lida de novo, e ficha de acessibilidade preenchida.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| texto grande sai da caixa | falas longas | falas curtas, caixa maior, ou quebra de linha |
| alto contraste deixa a tela clara | fundo escondido e cor da cena clara | escolher a cor de fundo da cena escura |
| opção volta ao padrão ao abrir o jogo | salvou mas não leu, ou leu antes de salvar | ler no começo da primeira cena |
| ao Visualizar aparece o Relatório de Diagnóstico com "Faltando variáveis de cena" | evento numa cena usa uma variável que só existe em outra cena | criar a variável na cena certa ou tirar o evento (isso aconteceu na Feira, com a legenda na cena Opcoes) |
| a tecla trocada não funciona | nome da tecla escrito errado ("Enter" em vez de "Return") | o GDevelop chama Enter de "Return" e Espaço de "Space" |
Exercício guiado
Um jogo mostra acerto com fundo verde e erro com fundo vermelho, sem mais nada. Cite duas mudanças que fazem uma pessoa com daltonismo entender o resultado. (Resposta: ícones de formas diferentes, como ✓ e ✗; uma frase escrita; um som diferente para cada caso.)
Desafio individual
Acrescente a opção "velocidade do texto" ou "tempo do relógio" (30 ou 60 segundos) na Feira, salva como as outras.
Desafio avançado (opcional)
Deixe as opções acessíveis também pelo mouse: clicar em cada linha da lista liga e desliga.
Critérios de avaliação
- Pelo menos quatro dos seis cuidados funcionando.
- Opções salvas e lidas.
- Ficha de acessibilidade completa e honesta (o que não foi feito aparece como "não tem").
Checklist de conclusão
Extensão
Faça um levantamento na escola (com autorização): quais recursos de acessibilidade os colegas usam no celular? Algum deles faria sentido no seu jogo?