8 min

Prompts de acessibilidade para revisões de UI em React e Flutter

Prompts de acessibilidade para revisões de UI em React e Flutter: prompts copiáveis e passos simples para testar teclado, ordem de foco, rótulos, contraste e leitores de tela.

Prompts de acessibilidade para revisões de UI em React e Flutter

O que as pessoas deixam passar quando tentam tornar uma UI acessível

A maioria dos problemas de acessibilidade não é uma questão de “grande redesign”. São detalhes pequenos que decidem se alguém consegue usar sua UI ou não.

O que normalmente quebra primeiro é surpreendentemente consistente. Uma página pode parecer OK, passar numa checagem visual rápida e ainda assim ser difícil de usar apenas com teclado ou com um leitor de tela.

Aqui estão os primeiros pontos onde as UIs costumam falhar:

  • Acesso por teclado: você não consegue alcançar controles essenciais, ou fica preso numa modal
  • Ordem de foco e estados de foco: o foco pula, ou você não consegue ver onde está
  • Rótulos e nomes: inputs e botões têm nomes acessíveis pouco claros ou ausentes
  • Anúncios: atualizações dinâmicas acontecem, mas leitores de tela não são avisados
  • Contraste e clareza: textos, ícones e estados de erro ficam difíceis de enxergar

A parte complicada é o quão fácil é regredir. Uma mudança “pequena”, como trocar um botão por um ícone, envolver um card em um manipulador de gesto ou adicionar um dropdown customizado, pode remover suporte por teclado, quebrar a ordem de foco ou eliminar um rótulo sem que ninguém perceba.

Um cenário comum: um formulário React recebe um novo ícone “limpar” dentro de um input. Parece útil, mas o ícone não é focável, não tem nome e rouba eventos de clique. Agora usuários de teclado não conseguem ativá-lo, e usuários de leitor de tela escutam um controle sem rótulo.

Este post traz duas coisas: prompts copiáveis que você pode usar com seu código UI (React e Flutter) e um fluxo de revisão repetível que dá para rodar em minutos. O objetivo não é a perfeição no dia 1 — é detectar os problemas que bloqueiam usuários reais.

Se você constrói telas de produto mas não é especialista em acessibilidade, isto é para você. Também funciona para times que usam ferramentas de criação por chat como Koder.ai, onde mudanças na UI podem acontecer rápido e você precisa de checagens rápidas e consistentes. Se quer um ponto de partida prático, esses prompts de acessibilidade para revisões de UI em React e Flutter foram feitos para serem reaproveitados toda vez que você entregar uma interface.

As 5 verificações que pegam a maioria dos problemas rápido

Se você só tem 15 minutos para revisar uma tela, essas verificações encontram os problemas que mais frequentemente bloqueiam pessoas. Funcionam tanto para React quanto para Flutter e encaixam bem nos prompts de acessibilidade para revisões de UI.

1) Dá para usar só com teclado?

Tente percorrer a página sem mouse. Use Tab e Shift+Tab para navegar, Enter e Space para ativar, e setas quando um widget parecer um menu, abas ou uma lista.

Um sinal rápido: se você fica preso dentro de uma modal, ou não consegue alcançar um controle chave (como “Fechar”), algo está errado.

2) A ordem do foco faz sentido e o foco é visível?

Ao usar Tab, o foco deve seguir o layout visual (de cima para baixo, da esquerda para a direita) e nunca saltar para áreas ocultas. O foco também precisa ser óbvio. Se o design usa contornos sutis, confirme que continuam visíveis em fundos claros e escuros.

3) Os controles têm nomes claros?

Um leitor de tela deve anunciar um nome útil para cada elemento interativo. “Botão” não basta. Ícones precisam de label acessível e campos de formulário precisam de um rótulo conectado mesmo quando placeholders desaparecem.

4) Contraste e tamanho do texto estão OK?

Cheque textos pequenos, textos desabilitados e textos em botões coloridos. Teste também o zoom: aumente o tamanho da fonte e garanta que o layout não sobreponha nem corte conteúdo importante.

5) As mudanças são anunciadas claramente?

Quando algo muda (erro, carregando, sucesso), os usuários não devem ficar adivinhando. Use texto de erro inline perto do campo, anuncie erros de formulário e deixe estados de carregamento claros.

Se você cria telas em Koder.ai, peça para ele “verificar fluxo apenas por teclado, ordem de foco e rótulos para leitor de tela nesta página”, e então revise o resultado com os passos acima.

Defina o escopo da revisão antes de começar a mudar a UI

O trabalho de acessibilidade anda mais rápido quando você decide o que será revisado e o que significa “bom o suficiente” antes de tocar em componentes. Um escopo enxuto também torna os prompts de acessibilidade para revisões de UI mais úteis, porque o modelo pode focar em telas reais e em interações reais.

Escolha as jornadas que importam

Comece com 2 a 4 jornadas de usuário críticas, não com o produto inteiro. Boas escolhas são aquelas que as pessoas precisam completar para obter valor e que podem travar o usuário se falharem.

Para a maioria dos apps, é algo como login, um fluxo principal de “criar ou comprar” (checkout, reserva, envio) e uma área de conta como configurações ou perfil.

Anote as telas exatas em cada jornada (mesmo que sejam só 5 a 8 telas). Inclua estados “entre” como mensagens de erro, estados vazios, carregamento e diálogos de confirmação. É aí que ordem de foco e saída do leitor de tela frequentemente quebram.

Um exemplo concreto: se você está construindo uma pequena tela de CRM em Koder.ai, delimite para “entrar -> abrir Contatos -> adicionar contato -> salvar -> ver mensagem de sucesso.” Esse único fluxo toca formulários, validação, diálogos e anúncios.

Decida o que significa “passar”

Mantenha na prática. Mire em expectativas do tipo WCAG AA, mas traduza isso para checagens simples que você aplica rápido: teclado funciona ponta a ponta, foco é visível e lógico, nomes e rótulos fazem sentido e contraste é legível.

Use um formato simples de nota pass/fail para não perder tempo discutindo. Para cada tela, registre:

  • Check: (teclado, ordem de foco, rótulos, contraste, anúncios)
  • Resultado: Pass ou Fail
  • Evidência: uma frase descrevendo o que aconteceu
  • Palpite de correção: o que provavelmente precisa mudar (componente, prop, estilo)
  • Reteste: o que tentar depois da correção

Isso mantém a revisão consistente entre React e Flutter e facilita passar issues para outra pessoa sem reexplicar o problema.

Prompts copiáveis para componentes React (teclado, rótulos, roles)

Quando pedir uma revisão de acessibilidade, os ganhos mais rápidos vêm de ser específico: qual componente, qual ação do usuário e como é o “bom”. Esses prompts funcionam melhor quando você cola o código do componente mais uma breve descrição do que a UI deve fazer.

Se você usa um construtor por chat como Koder.ai, adicione o prompt logo depois de gerar uma tela ou componente para que problemas sejam corrigidos antes de se espalharem pelo app.

Review this React component for keyboard navigation issues. 
- Can every interactive element be reached with Tab and activated with Enter/Space?
- List the exact problems you see in the code.
- Propose fixes with small code edits.

Check focus order and focus visibility.
- Describe the expected focus order for a keyboard-only user.
- Point out where focus could get lost (modals, menus, drawers).
- Tell me exactly where to add :focus-visible styles (which elements, which CSS).

Find missing accessible names.
- Identify inputs, buttons, and icons without clear labels.
- Suggest label + htmlFor, aria-label, aria-labelledby, or visible text.
- If there is helper/error text, connect it with aria-describedby.

Identify interactive elements that are not buttons/links.
- Find div/span with onClick, custom dropdowns, and clickable cards.
- Suggest correct semantics (button/a) or add role, tabIndex, and keyboard handlers.

List screen reader announcements that will be confusing.
- Predict what a screen reader will announce for key controls.
- Rewrite UI text to be shorter and clearer.
- Suggest aria-live usage for status changes (loading, errors, saved).

Antes de enviar um prompt, inclua estes detalhes para obter correções acionáveis, não conselhos genéricos:

  • O que é o componente (por exemplo: “formulário de login”, “alternador de preços”, “modal de configurações”).
  • O caminho por teclado que os usuários devem seguir (ponto de início e fim).
  • Qual biblioteca de UI é usada (MUI, Chakra, Radix, componentes customizados).
  • Estados a testar (carregando, erro, desabilitado, resultados vazios).
  • Um objetivo de usuário concreto (por exemplo: “mudar plano e confirmar”).

Prompts copiáveis para widgets Flutter (Semantics, foco, gestos)

Ganhe créditos ao compartilhar
Ganhe créditos ao compartilhar o Koder.ai ou convidar colegas para construir e revisar junto.

Se quiser resultados consistentes, cole um trecho do widget (ou a tela inteira) e peça checagens específicas. Esses prompts funcionam melhor quando você inclui: a árvore de widgets, como a tela é acessada e quaisquer gestos customizados.

Prompts que você pode colar na sua revisão

Review this Flutter widget tree for keyboard navigation and focus traversal.
Call out focus traps, missing focus order, and places where Tab/Shift+Tab will feel confusing.
Suggest exact widget changes (Focus, FocusTraversalGroup, Shortcuts, Actions).
Check this screen for missing Semantics labels, hints, and tap targets.
Point to the exact widgets that need Semantics(label/hint), tooltip, or exclusion.
Also flag controls under 48x48 logical pixels and suggest fixes.
Find custom gestures that break accessibility (GestureDetector/Listener).
Replace them with accessible widgets or add keyboard + semantics support.
If a gesture is required, describe how a keyboard user triggers the same action.
Audit error messages and validation on this form.
What should be announced to a screen reader, and when?
Suggest how to expose errors via Semantics and focus movement after submit.
Propose a consistent focus highlight style across screens.
It should be obvious on dark/light themes and work with keyboard navigation.
Show a small code example using FocusTheme/ThemeData.

Correções rápidas que o assistente deve sugerir

Espere respostas que mencionem padrões concretos:

  • Envolver o conteúdo principal em FocusTraversalGroup e definir FocusTraversalOrder apenas quando necessário.
  • Usar Semantics (ou MergeSemantics) para controles compostos e evitar rótulos duplicados.
  • Preferir InkWell, IconButton, ListTile, SwitchListTile em vez de GestureDetector bruto quando possível.
  • Adicionar Shortcuts + Actions para entradas não-texto (por exemplo, Enter para ativar, Escape para fechar).

Um exemplo mínimo para fazer um card customizado se comportar como um botão:

Semantics(
  button: true,
  label: 'Add payment method',
  hint: 'Opens the add card screen',
  child: Focus(
    child: InkWell(
      onTap: onPressed,
      child: Card(child: child),
    ),
  ),
)

Passo a passo: um fluxo simples de revisão de teclado e foco

Uma revisão rápida de teclado e foco encontra problemas que também impactam leitores de tela e dispositivos de switch. Faça em um fluxo de páginas real (não em um único botão) e mantenha notas para poder checar o mesmo caminho depois.

O fluxo de 5 passos

Comece escolhendo um “caminho feliz” que um usuário faria, como entrar, abrir configurações e salvar.

  1. Faça todo o fluxo só com o teclado. Deixe o mouse de lado. Use Tab e Shift+Tab para navegar, Enter e Space para ativar, e setas quando fizer sentido. Se qualquer coisa exigir clique ou swipe, marque.
  2. Garanta que o foco seja sempre óbvio. Toda vez que o foco se mover, você deve ver imediatamente onde ele está. Fique atento a contornos finos que somem em fundos escuros, anéis de foco removidos por CSS ou widgets Flutter que parecem “ativos” mas não mostram foco.
  3. Cheque se a ordem corresponde ao que você vê. O foco deve seguir o layout visual e a ordem de leitura. Sinais de alerta comuns: pular para um rodapé, ficar preso numa barra lateral ou pular um campo porque ele não é focável.
  4. Teste sobreposições. Abra menus, diálogos e gavetas. O foco deve ir para dentro da sobreposição, ficar preso lá enquanto estiver aberta e voltar para um lugar sensato ao fechar. Escape deve fechar quando apropriado.
  5. Reteste após cada mudança. Corrija um problema e rode o mesmo caminho de novo. Anote o que melhorou e o que piorou, especialmente mudanças na ordem de foco e novos “becos sem saída.”

O que registrar enquanto avança

Mantenha simples: nome da página, o que você apertou, o que aconteceu e o que você esperava. Esse pequeno log facilita confirmar que um refactor em React ou a troca de um widget em Flutter não quebrou silenciosamente o acesso por teclado.

Nomes, rótulos e anúncios amigáveis para leitores de tela

Leitores de tela não “veem” sua UI. Eles dependem de nomes, roles e mensagens curtas que expliquem o que mudou. Se o nome falta ou é vago, o app vira adivinhação.

Comece pelos campos de formulário. Todo input precisa de um rótulo real que permaneça mesmo quando o campo estiver preenchido. Placeholders são dicas, não rótulos, e frequentemente desaparecem assim que o usuário digita.

Ações só com ícone são outro erro comum. Um ícone de lixeira, um lápis ou um menu de três pontos precisa de um nome significativo que descreva o resultado, não a forma. “Excluir projeto” é melhor que “Botão” ou “Lixeira”.

Cabeçalhos e rótulos de seção importam porque viram o índice da página. Use headings para refletir a estrutura, não apenas o estilo. Um usuário de leitor de tela vai pular por headings para encontrar “Faturamento” ou “Membros da equipe”, então esses rótulos devem corresponder ao conteúdo da seção.

Mensagens de erro devem ser específicas e acionáveis. “Entrada inválida” não basta. Diga o que deu errado e o que fazer a seguir, por exemplo: “Senha precisa ter pelo menos 12 caracteres” ou “Endereço de email sem @”.

Prompts copiáveis (React e Flutter)

Use estes prompts ao revisar uma tela (ou ao pedir para uma ferramenta como Koder.ai atualizar componentes):

  • “Percorra esta tela e garanta que cada input de texto tenha um rótulo visível e que o nome acessível corresponda a ele (React: label + htmlFor, aria-labelledby; Flutter: InputDecoration.labelText).”
  • “Encontre botões só com ícone e dê a cada um um nome acessível que explique a ação (React: aria-label; Flutter: Tooltip ou Semantics(label: ...)).”
  • “Cheque headings: use níveis de heading apropriados no React e títulos de seção claros no Flutter para que a estrutura seja lida corretamente.”
  • “Reescreva erros de validação para dizer o que aconteceu e como consertar, e garanta que o erro seja anunciado quando aparecer.”

Anúncios para atualizações dinâmicas

Muitas telas mudam sem recarregar a página: salvar perfil, adicionar item, carregar resultados. Garanta que essas atualizações sejam anunciadas.

Para React, prefira uma região aria-live (polite para “Salvo”, assertive para erros críticos). Para Flutter, use Semantics e torne mensagens de status visíveis (por exemplo, um banner ou SnackBar) para que sejam lidas, não apenas mostradas. Um teste rápido: acione “Salvar” e confirme que você escuta uma mensagem curta como “Alterações salvas” sem que o foco saia do botão.

Checagens de contraste e clareza visual que não demoram

Escale seu ritmo de construção
Amplie sua capacidade para iterações e ciclos de revisão frequentes quando precisar.

Você pega a maioria dos problemas de contraste e clareza em minutos se focar nos lugares onde as pessoas realmente têm dificuldade: texto pequeno, ícones, anéis de foco e cores de status. Essa é uma parte prática dos prompts de acessibilidade para revisões de UI porque é fácil verificar e fácil consertar.

Uma passada de contraste em 10 minutos

Comece escaneando uma tela em 100% e depois em 200% de zoom. Se algo ficar difícil de ler, geralmente é um problema de contraste, peso ou espaçamento — não do usuário.

Cheque estes cinco pontos primeiro:

  • Texto do corpo, legendas e textos auxiliares (especialmente cinza claro em branco)
  • Estados desabilitados (devem parecer desabilitados, mas ainda legíveis)
  • Ícones sem rótulos (um ícone apagado é invisível para muitos usuários)
  • Indicadores de foco (anel/contorno deve se destacar do fundo)
  • Mensagens de erro e sucesso (texto e ícone, não apenas cor)

Uma regra prática: se você precisa apertar os olhos, seus usuários também vão precisar. Se estiver em dúvida sobre um par de cores, troque temporariamente o texto para preto puro ou branco puro. Se a legibilidade melhorar muito, o contraste estava baixo.

Visibilidade do foco é frequentemente esquecida. Garanta que o contorno de foco seja grosso o suficiente para notar e não da mesma cor do fundo. Se tiver um estado “selecionado” em uma lista, ele deve ser diferente mesmo em escala de cinza, por exemplo com um ícone, sublinhado ou borda clara.

Clareza móvel: alvos e temas

No mobile, clareza visual também é questão de toque. Botões e ações só com ícone devem ter áreas de toque generosas e espaçamento suficiente para evitar toques errados.

Faça uma varredura rápida de temas: ative modo escuro e, se o app suportar, configurações de alto contraste. Re-cheque textos em superfícies, divisórias e anéis de foco. Um bug comum é o anel de foco sumir no modo escuro ou um ícone “inativo” ficar quase da mesma cor que o fundo.

Se você está gerando UI rápido em uma ferramenta como Koder.ai, adicione um passo extra: peça um “pass de contraste e anel de foco” logo após o primeiro layout, antes de polir visuais.

Erros comuns que voltam sempre

A maioria dos bugs de acessibilidade se repete porque parecem pequenos ajustes de UI, não comportamento do produto. Ao rodar prompts de acessibilidade para revisões de UI em React e Flutter, observe esses padrões primeiro.

Placeholder não é rótulo. Um placeholder some assim que alguém digita e muitos leitores de tela não o tratam como nome do campo. Use um rótulo visível real (ou um nome acessível explícito) para que o input faça sentido vazio, preenchido e em erro.

Estilos de foco removidos porque “ficam feios”. Isso costuma deixar usuários de teclado perdidos. Se mudar o contorno padrão, substitua por algo igualmente claro: um anel forte, alteração de fundo e contraste suficiente com a página.

Outro recurrente são falsos botões. Em React é tentador usar uma div com onClick e em Flutter um Container com GestureDetector. Sem semântica apropriada, o suporte por teclado e leitores de tela sofre. Controles nativos (button, a, TextButton, ElevatedButton) já trazem foco, role, estado desabilitado e comportamento de ativação.

Bugs de foco em diálogos e formulários são sutis e dolorosos. Após fechar um modal ou salvar um formulário, o foco muitas vezes pula para o topo da página ou some. Isso acontece quando não se restaura o foco ao controle que abriu o diálogo ou quando a ação de salvar rerenderiza a tela e derruba o foco. O usuário então precisa recomeçar para achar onde estava.

Uso excessivo de ARIA (ou Semantics no Flutter) também pode quebrar coisas. Adicionar roles e rótulos por toda parte pode conflitar com o que o elemento nativo já provê, levando a anúncios duplicados ou nomes errados.

Uma checagem rápida de problemas repetidos que você pode pedir na revisão:

  • Confirme que cada input tem um rótulo persistente, não só um placeholder
  • Confirme que cada elemento interativo é um controle real com role correto
  • Confirme que o foco é sempre visível e nunca removido sem um substituto
  • Confirme que o foco retorna ao gatilho após diálogos, toasts e saves
  • Confirme que ARIA/Semantics só adiciona o que controles nativos não podem

Se você gera UI por chat (por exemplo em Koder.ai), inclua isso como critérios de aceitação no prompt para que o primeiro rascunho já evite armadilhas comuns.

Exemplo prático: uma tela, ponta a ponta

Transforme prompts em telas reais
Gere formulários, diálogos e fluxos em Koder.ai e corrija foco e rótulos antes que se espalhem.

Imagine uma tela simples de Configurações: um formulário de perfil (Nome, Email), dois toggles (Notificações por email, Modo escuro), um botão “Salvar alterações” e um toast que aparece após salvar.

Comece pelo teclado. A ordem esperada do foco deve corresponder à ordem visual, de cima para baixo e da esquerda para a direita. Tabbing não deve pular para o toast, o rodapé ou um menu oculto.

Uma checagem rápida que funciona para a maioria dos prompts de acessibilidade para revisões de UI:

  • Pressione Tab do topo: foco em Nome, depois Email, depois toggle Notificações por email, depois toggle Modo escuro, depois Salvar alterações.
  • Use Shift+Tab para voltar e confirme que inverte limpo.
  • Nos toggles, Space deve alternar. Setas não devem aprisionar o foco.
  • No Salvar alterações, Enter deve submeter e o foco não deve sumir após o submit.
  • Quando o toast aparecer, o foco deve permanecer onde estava, a menos que o toast exija ação (por exemplo, “Desfazer”).

Agora cheque o que um leitor de tela anuncia. Cada controle precisa de nome claro, role e estado. Por exemplo: “Nome, campo de texto, obrigatório” e “Notificações por email, switch, ligado”. Se o campo Email tiver um erro, ele deve ser anunciado ao entrar no campo e quando o erro aparece (por exemplo: “Email, campo de texto, inválido, Digite um endereço de email válido”). O botão Salvar deve ser lido como “Salvar alterações, botão” e ser desabilitado apenas quando você também comunicar o motivo.

Para contraste, cheque texto normal, placeholder e mensagens de erro. Também cheque o anel de foco: deve ser fácil de ver em fundo claro e escuro. Estados de erro não devem depender só do vermelho. Adicione um ícone, texto claro ou ambos.

Transforme o que encontrar numa lista curta de correções:

  • Corrigir ordem de foco para corresponder ao layout.
  • Adicionar nomes acessíveis faltantes para toggles e ícones.
  • Anunciar erros junto ao campo (não só como banner).
  • Melhorar estilos de foco e textos de placeholder/erro de baixo contraste.
  • Tornar o toast não bloqueante, ou focável apenas quando incluir ações.

Se você está construindo em Koder.ai, cole a descrição da tela e suas descobertas no chat e peça para atualizar a UI React ou Flutter para corresponder ao comportamento esperado por teclado e leitor de tela.

Próximos passos: reaproveite essa checklist e incorpore ao seu fluxo

Se quiser que os prompts de acessibilidade para revisões de UI deem resultado a longo prazo, trate-os como hábito repetível, não como faxina pontual. O objetivo é rodar o mesmo pequeno conjunto de checagens sempre que você adicionar uma nova tela ou componente.

Mantenha uma única “definição de pronto” para mudanças de UI. Antes de qualquer coisa ser liberada, faça uma passada rápida cobrindo teclado, foco, nomes e contraste. Leva minutos quando feito com frequência.

Aqui está uma checklist rápida que você pode rodar em quase qualquer UI:

  • Teclado: é possível alcançar e usar cada elemento interativo sem mouse?
  • Foco: o foco é visível e se move em ordem lógica?
  • Rótulos: cada campo e botão tem nome claro (incluindo ícones)?
  • Anúncios: mudanças de estado são anunciadas (erros, carregamento, sucesso)?
  • Contraste: o texto é legível e estados desabilitados ainda são compreensíveis?

Salve seus melhores prompts como templates. Uma forma simples é manter um “prompt de revisão React” e um “prompt de revisão Flutter” que você cole ao fim de cada pedido de mudança. Depois acrescente uma linha descrevendo o novo componente e qualquer comportamento especial (modal, stepper, lista com scroll infinito).

Rerun as mesmas checagens em cada novo componente antes do release, mesmo que pareça repetitivo. Problemas de acessibilidade costumam entrar por pequenas edições: um novo botão só com ícone, um dropdown customizado, uma mensagem toast ou um foco preso em diálogo.

Se você constrói com Koder.ai, cole os prompts no chat e peça por correções específicas, não por melhorias genéricas. Use o modo de planejamento para revisar impacto antes de aplicar mudanças. Faça um snapshot antes da passagem de acessibilidade e use rollback se uma correção quebrar layout ou comportamento. Assim fica mais seguro iterar em ordem de foco e semântica sem medo.

Depois da sua passagem de acessibilidade, trate isso como um gate de release: exporte o código-fonte para seu workflow de repositório, ou faça o deploy e hospede o app conectando um domínio customizado quando estiver satisfeito com os resultados.

Perguntas frequentes

Quais telas devo analisar primeiro em termos de acessibilidade?

Comece pelas jornadas que as pessoas precisam concluir, como iniciar sessão, enviar um formulário ou alterar configurações. Teste todo o percurso com um teclado antes de analisar detalhes visuais menores.

Como testo uma interface usando apenas o teclado?

Use Tab e Shift+Tab para se mover, Enter e Espaço para ativar controles e as teclas de seta para widgets como menus, abas e grupos de botões de opção. Se não conseguir concluir a tarefa sem um mouse, registre onde o fluxo falha.

O que torna uma ordem de foco lógica?

O foco deve seguir a mesma ordem em que as pessoas leem a tela, normalmente de cima para baixo e da esquerda para a direita. Ele nunca deve saltar para conteúdo oculto, um rodapé ou uma barra lateral sem relação.

Como devo rotular botões e campos de formulário?

Dê a cada controle um rótulo visível e claro sempre que possível. Para ações que usam apenas ícones, use um nome acessível que descreva o resultado, como "Excluir projeto", em vez de nomear o ícone.

Um texto de placeholder pode substituir o rótulo de um formulário?

Um texto de placeholder desaparece quando alguém começa a digitar e muitas vezes não oferece um nome confiável para o campo. Mantenha um rótulo real associado à entrada e use o placeholder apenas para um exemplo ou dica.

O que deve acontecer com o foco em uma janela modal ou caixa de diálogo?

Mova o foco para dentro de uma caixa de diálogo aberta, mantenha o foco do teclado nela enquanto estiver aberta e devolva o foco ao elemento que a acionou quando ela fechar. Permita que Escape feche a caixa de diálogo quando isso corresponder à interação.

Quando meu app deve anunciar alterações para leitores de tela?

Anuncie atualizações relevantes, como erros de validação, status de carregamento e alterações salvas. No React, use uma região aria-live para mensagens curtas de status; no Flutter, exponha o texto de status visível por meio de Semantics e teste se um leitor de tela o lê.

Qual é a forma mais rápida de verificar contraste e clareza visual?

Verifique textos pequenos, textos de ajuda, estados desativados, ícones, mensagens de erro e indicadores de foco nos temas claro e escuro. Amplie também para 200% e procure conteúdo cortado, sobreposições ou controles que fiquem difíceis de usar.

Como evito botões e gestos personalizados inacessíveis?

Use controles nativos primeiro. No React, prefira elementos button e link a divs clicáveis. No Flutter, prefira widgets como IconButton, InkWell, ListTile e SwitchListTile a um GestureDetector bruto quando eles se adequarem à ação.

O que devo incluir em um prompt de revisão de acessibilidade?

Cole a árvore de componentes ou widgets, descreva o objetivo do usuário e o percurso pelo teclado, depois peça problemas específicos e pequenas alterações no código. Inclua estados de carregamento, erro, desativado, caixa de diálogo e vazio para que a revisão cubra os momentos em que a acessibilidade costuma falhar.

Related posts