Pular para o conteúdo
Skillpedia
Diversos41 mil · #4792

screen-reader-testing

Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.

O que ela faz

Esta ferramenta ajuda a testar se sites e aplicativos funcionam bem com leitores de tela, como VoiceOver, NVDA e JAWS. Ela garante que pessoas com deficiência visual possam usar a web.

Quando usar

  • ✓Verificar se um site é compatível com leitores de tela.
  • ✓Corrigir problemas de acessibilidade.
  • ✓Garantir que tecnologias assistivas funcionem corretamente.

Exemplo do que pedir para a IA

“Teste este site para garantir que ele seja acessível para usuários de leitores de tela.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/accessibility-compliance/skills/screen-reader-testing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/accessibility-compliance/skills/screen-reader-testing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta simula o uso de leitores de tela populares em diferentes sistemas operacionais e navegadores. Ela verifica se os elementos da página são lidos corretamente e se a navegação é intuitiva.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill screen-reader-testing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/accessibility-compliance/skills/screen-reader-testing/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Testando com Leitores de Tela

Guia prático para testar aplicações web com leitores de tela para validação abrangente de acessibilidade.

Quando Usar Esta Habilidade

  • Validar compatibilidade com leitores de tela
  • Testar implementações de ARIA
  • Depurar problemas de tecnologia assistiva
  • Verificar acessibilidade de formulários
  • Testar anúncios de conteúdo dinâmico
  • Garantir acessibilidade de navegação

Conceitos Principais

1. Principais Leitores de Tela

Leitor de Tela Plataforma Navegador Uso
VoiceOver macOS/iOS Safari ~15%
NVDA Windows Firefox/Chrome ~31%
JAWS Windows Chrome/IE ~40%
TalkBack Android Chrome ~10%
Narrator Windows Edge ~4%

2. Prioridade de Teste

Minimum Coverage:
1. NVDA + Firefox (Windows)
2. VoiceOver + Safari (macOS)
3. VoiceOver + Safari (iOS)

Comprehensive Coverage:
+ JAWS + Chrome (Windows)
+ TalkBack + Chrome (Android)
+ Narrator + Edge (Windows)

3. Modos do Leitor de Tela

Modo Propósito Quando Usado
Navegação/Virtual Ler conteúdo Leitura padrão
Foco/Formulários Interagir com controles Preencher formulários
Aplicação Widgets personalizados Aplicações ARIA

Antes de testar no macOS, leia configuração, comandos e checklists do VoiceOver.

Para a cobertura necessária do iOS Safari, leia configuração e gestos do VoiceOver touch.

Antes de testar com NVDA, leia configuração, modos, comandos e scripts de teste do NVDA.

Antes de testar com JAWS ou TalkBack, leia configuração e comandos da plataforma.

Cenários Comuns de Teste

1. Diálogo Modal

<!-- Accessible modal structure -->
<div
  role="dialog"
  aria-modal="true"
  aria-labelledby="dialog-title"
  aria-describedby="dialog-desc"
>
  <h2 id="dialog-title">Confirm Delete</h2>
  <p id="dialog-desc">This action cannot be undone.</p>
  <button>Cancel</button>
  <button>Delete</button>
</div>
// Focus management
function openModal(modal) {
  // Store last focused element
  lastFocus = document.activeElement;

  // Move focus to modal
  modal.querySelector("h2").focus();

  // Trap focus
  modal.addEventListener("keydown", trapFocus);
}

function closeModal(modal) {
  // Return focus
  lastFocus.focus();
}

function trapFocus(e) {
  if (e.key === "Tab") {
    const focusable = modal.querySelectorAll(
      'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',
    );
    const first = focusable[0];
    const last = focusable[focusable.length - 1];

    if (e.shiftKey && document.activeElement === first) {
      last.focus();
      e.preventDefault();
    } else if (!e.shiftKey && document.activeElement === last) {
      first.focus();
      e.preventDefault();
    }
  }

  if (e.key === "Escape") {
    closeModal(modal);
  }
}

2. Regiões Dinâmicas (Live Regions)

<!-- Status messages (polite) -->
<div role="status" aria-live="polite" aria-atomic="true">
  <!-- Content updates will be announced after current speech -->
</div>

<!-- Alerts (assertive) -->
<div role="alert" aria-live="assertive">
  <!-- Content updates interrupt current speech -->
</div>

<!-- Progress updates -->
<div
  role="progressbar"
  aria-valuenow="75"
  aria-valuemin="0"
  aria-valuemax="100"
  aria-label="Upload progress"
></div>

<!-- Log (additions only) -->
<div role="log" aria-live="polite" aria-relevant="additions">
  <!-- New messages announced, removals not -->
</div>

3. Interface de Abas (Tabs)

<div role="tablist" aria-label="Product information">
  <button role="tab" id="tab-1" aria-selected="true" aria-controls="panel-1">
    Description
  </button>
  <button
    role="tab"
    id="tab-2"
    aria-selected="false"
    aria-controls="panel-2"
    tabindex="-1"
  >
    Reviews
  </button>
</div>

<div role="tabpanel" id="panel-1" aria-labelledby="tab-1">
  Product description content...
</div>

<div role="tabpanel" id="panel-2" aria-labelledby="tab-2" hidden>
  Reviews content...
</div>
// Navegação por teclado nas abas
tablist.addEventListener("keydown", (e) => {
  const tabs = [...tablist.querySelectorAll('[role="tab"]')];
  const index = tabs.indexOf(document.activeElement);

  let newIndex;

…
Perguntas frequentes

Quais leitores de tela são testados?

Os principais leitores de tela testados são VoiceOver (macOS/iOS), NVDA (Windows), JAWS (Windows), TalkBack (Android) e Narrator (Windows).

O que é 'Modo de Navegação' e 'Modo de Foco'?

O Modo de Navegação é usado para ler o conteúdo da página, enquanto o Modo de Foco é usado para interagir com elementos como botões e campos de formulário.

Por que testar com vários leitores de tela?

Cada leitor de tela pode interpretar o conteúdo de forma ligeiramente diferente, então testar com vários garante uma experiência mais consistente e acessível para todos os usuários.

Detalhes

Descrição original do autor

Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4792
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas