Case study
1 min de leituraMTG Accessible Combat
Magic: The Gathering jogável por teclado e leitor de tela
Reproduzir o sentimento de jogar Magic com a mesma fluidez por teclado e leitor de tela que se tem com mouse, tratando a descrição acessível de cada carta como dado de primeira classe.
Estado, input e projeção
Decisões
Engine de regras desacoplada da UI
A engine recebe ações tipadas (TapLand, CastSpell, Attack, Block) e devolve um próximo estado mais um log estruturado. A UI é uma projeção desse estado; trocar de teclado para mouse para leitor de tela é só mudar a forma de input.
Descrição acessível como dado, não como afterthought
Cada carta carrega um campo accessibleText escrito a mão (não derivado de OCR ou alt-text genérico). Esse campo alimenta aria-label nos slots, o log de combate e as live regions que anunciam mudanças de estado. Mudar a descrição é uma tarefa de conteúdo, não de implementação.
Estado em Zustand, animações em Framer Motion respeitando reduced-motion
Zustand para previsibilidade do snapshot e devtools. Animações que comunicam mudança de fase (untap, upkeep, attack) viram instantâneas para usuários com prefers-reduced-motion: reduce, sem perder o anúncio na live region.
Fallback offline da Scryfall
A primeira execução popula um cache local; a segunda funciona offline. Imutabilidade da carta facilita: um print run não muda depois de impresso.
“Acessibilidade não é uma camada que se aplica depois: é uma decisão de modelagem do estado.”
Tradeoffs
Cobertura de regras vs prazo
Magic tem milhares de interações. Para a demo, o foco é no subset que prova o ponto: combate básico, mana, encantamentos passivos. Replacement effects e layered abilities ficam como roadmap, com testes de aceitação por interação.
Texto acessível não-traduzido
O accessibleText foi escrito em pt-BR primeiro. Traduzir para EN exige cuidado com a terminologia oficial do jogo, e foi adiado para evitar uma camada de tradução automática que estragaria as nuances.
Estado atual
O projeto é um benchmark pessoal: se uma demo de Magic com leitor de tela é viável com este nível de craft, então sites comerciais não têm desculpa.