Skip to content

Avaliação de UI/UX e acessibilidade dos apps (paciente e ACS) #2

Description

@hbgit

Contexto

Os apps apps/patient e apps/acs seguem uma linguagem visual dark, de alto contraste e baixo ruído (ver spec/ui_design.md e os protótipos em spec/ui_acs/ e spec/ui_paciente/). O PRD já define uma baseline formal de acessibilidade em WCAG 2.1 Nível AA (seção 4.3 de spec/PRD_system.md), incluindo contraste mínimo, alvos de toque (48x48 dp, 60x60 dp no botão de pânico) e rótulos semânticos para leitores de tela. Hoje só existem validações automatizadas pontuais nesse sentido — ex. apps/acs/test/login_flow_test.dart e apps/patient/test/patient_app_mvp_test.dart checam rótulo semântico e área mínima de toque em alguns fluxos — mas não existe ainda uma avaliação estruturada de UI/UX e acessibilidade cobrindo os apps como um todo.

Objetivo

@sarahw3b, pedimos que você analise a UI/UX dos dois aplicativos (paciente e ACS), com foco especial em acessibilidade, usando UXtweak (testes de usabilidade / pesquisa com usuários, ex. testes de tarefa e first-click nos fluxos críticos como o botão de emergência e o dashboard de priorização) combinado com ferramentas de auditoria de acessibilidade mais técnicas — por exemplo:

  • Flutter Accessibility Scanner / DevTools (inspeção de árvore semântica, Semantics widgets)
  • Android Accessibility Scanner (para apps/acs e apps/patient em dispositivo/emulador Android)
  • Verificadores de contraste (ex. WebAIM Contrast Checker) aplicados às cores definidas em *_theme.dart
  • Leitores de tela nativos (TalkBack/VoiceOver) para validar a navegação real dos fluxos críticos

Escopo sugerido

  • Contraste e uso de cor: apps/acs/lib/app/acs_theme.dart e apps/patient/lib/app/patient_theme.dart — validar razão de contraste ≥ 4.5:1 (texto) e ≥ 3:1 (elementos não textuais), e confirmar que vermelho/amarelo/verde (sinal clínico de risco, ver CLAUDE.md) nunca são o único indicador — sempre acompanhados de texto/ícone para quem não distingue cor.
  • Alvos de toque: validar 48x48 dp nos botões principais e 60x60 dp no botão de emergência/pânico em apps/patient/lib/app/app.dart e apps/acs/lib/app/app.dart, além dos fluxos ainda não cobertos pelos testes existentes.
  • Rótulos semânticos e navegação por leitor de tela: cobertura de Semantics/labels em todos os fluxos (login, triagem, alerta de urgência, dashboard de priorização, registro de visita), não só os já testados.
  • Foco visível: indicador de foco em campos interativos (critério 2.4.7 do WCAG, citado no PRD).
  • Usabilidade geral: fricção nos fluxos críticos (alerta de urgência do paciente, priorização/registro de visita do ACS) — aqui é onde o UXtweak entra, com testes de tarefa/usabilidade remota.

Entregável esperado

Um relatório (sugestão: novo documento em spec/, ex. spec/ux_accessibility_assessment.md) que:

  1. Compare os achados com a baseline WCAG 2.1 AA já definida na seção 4.3 do PRD (tabela de critérios).
  2. Traga evidências das ferramentas usadas (prints, links de sessão do UXtweak quando aplicável, resultado do scanner de acessibilidade).
  3. Priorize os achados e sugira ajustes concretos de UI quando fizer sentido.

Como contribuir

  • Entregue via Pull Request (documento novo em spec/ e, se for mexer em código de UI, os ajustes junto), em vez de só comentar aqui.
  • Boas práticas de Git:
    • Crie uma branch dedicada (ex. docs/ux-accessibility-assessment), sem commitar direto em main.
    • Commits pequenos e atômicos, com mensagens descritivas — o repositório segue o padrão conventional commits (feat:, fix:, docs:, test:; ver git log para exemplos).
    • Referencie esta issue no PR (ex. Closes #<número>).
    • Rode flutter analyze e flutter test nos apps tocados antes de abrir o PR (a CI roda os dois automaticamente, mas vale conferir localmente).
    • Evite commitar artefatos gerados (.dart_tool/, build/) — já estão no .gitignore.

Referências

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

accessibilityBarrier affecting people with disabilities

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions