teqo-backup/.impeccable/critique/2026-07-24T20-30-52Z__a11-ranking-votos.md

5.6 KiB

target total_score p0_count p1_count timestamp slug
a11-ranking-votos 25 0 2 2026-07-24T20-30-52Z a11-ranking-votos

Critique — A11 posição em votos

Alvos: MunicipalityBaselineCard, MunicipalityList, MunicipalitySortableHead, MunicipalityFilters
Data: 2026-07-24 (pós-simplify)

Design Health Score

# Heuristic Score Key Issue
1 Visibility of System Status 3 Pending/dim ok; sort active mostly chevron — no “ordenado por…” summary
2 Match System / Real World 2 “% da votação” unexplained on list; “Praça” leftovers; seed empty-state
3 User Control and Freedom 3 Limpar is all-or-nothing (sort resets only with full clear)
4 Consistency and Standards 2 Mobile “% da votação” vs desktop “Votos 2022”; card vs table readout order
5 Error Prevention 3 Detail separates dual-% well; list has no equivalent guardrail
6 Recognition Rather Than Recall 2 List % without denominator; definition lives on detail
7 Flexibility and Efficiency 3 Default votos desc is right mesa lens; inactive columns under-afforded
8 Aesthetic and Minimalist Design 3 Restrained desk; quiet secondary lines also hide meaning
9 Error Recovery 2 “—” for missing rank; engineer empty baseline copy
10 Help and Documentation 2 Baseline intro good; list column gives zero definition
Total 25/40 Acceptable — vocabulary/consistency is the drag

Anti-Patterns Verdict

LLM: Mostly earned product familiarity (flat desk, Inter, tabular-nums) — not AI kitsch. Product strangeness is the failure: three labels for one lens (Votos 2022 / % da votação / sort-by-votes).

Deterministic scan: detect.mjs --json on the four files → exit 0, [] (0 findings). No false positives to triage.

Visual overlays: Not available — /campanha auth gate + localhost:3000 browser allowlist blocked live injection. No user-visible overlay.

Overall Impression

Default sort by concentration is the right product move. The biggest opportunity is one shared vocabulary so Mesa CG never wonders whether the loudest number is votes, share, or local % of válidos.

What's Working

  1. Mesa-default votos desc with URL-omitted defaults.
  2. Baseline dual-metric honesty (intro + “métrica distinta…”).
  3. Sort/filter craft: aria-sort, directional aria-labels, min-h-11, feel-the-action pending.

Priority Issues

[P1] Label / metric / sort vocabulary collision

  • Why: Under pressure, header “Votos 2022” vs cell “% da votação” vs mobile Ordenar invites wrong comparisons.
  • Fix: One shared term (e.g. Concentração 2022) across column, Ordenar, and primary readout; secondary = votos · Nº de 435.
  • Suggested command: /impeccable clarify

[P1] Dual-% trap still live on list → detail path

  • Why: List shows unexplained %; detail introduces local % of válidos — disclaimer one click too late.
  • Fix: Column hint/caption: “% da votação estadual do candidato”; keep local dominance secondary.
  • Suggested command: /impeccable clarify

[P2] Card vs table VotePositionReadout hierarchy diverge

  • Why: Same data, different story (table prioritizes share; card is middot soup).
  • Fix: Same stack both layouts: concentration → votos · rank.
  • Suggested command: /impeccable distill

[P2] “Praça” + engineer empty state

  • Why: Remodel is Município; “Rode o seed…” fails closed for staff.
  • Fix: Município language; staff-safe empty (“Sem baseline TSE neste ambiente”).
  • Suggested command: /impeccable harden

[P3] Active sort under-announced for sighted scan

  • Why: Chevron alone is easy to miss in dense headers.
  • Fix: Active weight + optional “Ordenado por concentração 2022…”.
  • Suggested command: /impeccable polish

Persona Red Flags

Alex: Default sort wins; inactive sortable headers lack dormant affordance. Sam: Muted A11 lines risk contrast; card readout is one long SR sentence; no table caption for default metric. Casey: Mobile Ordenar clearer than desktop; territory select painful; “Abrir Praça” CTA. Mesa CG: Ambiguity between % da votação and % dos válidos produces wrong room narrative in seconds.

Cognitive load

6/8 checklist failures (moderate→high for A11 under pressure). Territory ~27 options; staff filter band is a wall of selects.

Minor Observations

  • 2022 ring on baseline is good quiet emphasis.
  • Missing votePosition → “—” vs silent omit of rank line on baseline — inconsistent emptiness.
  • Rank Nº de 435 is immediately legible domain language.

Questions to Consider

  1. If the first question is concentration, why is the loudest glyph a bare % instead of rank-of-435?
  2. Would one word — Concentração — beat another disclaimer sentence?
  3. Should local % dos válidos even share the baseline card with % da votação?
  4. Is “Votos 2022” protecting familiarity while lying about what the eye reads first?