From 78abca6e154f5fca4dacec72edac7422174ade93 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 17:05:49 +0000 Subject: [PATCH] fix: aria-label nos dois X de SplitSection.tsx (closes #129) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Os botões de fechar divisão e remover pessoa usam o mesmo ícone X do lucide-react sem nome acessível — role=button sem fonte de nome, já que lucide-react@1.8.0 marca o svg como aria-hidden quando não recebe filho nem prop de a11y. Rótulos distintos para os dois estados. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01L2ttiXUNPukdqzYnnmuzw7 --- __tests__/unit/a11y-nomes-acessiveis.test.ts | 43 +++++++++++++++++++ components/forms/transaction/SplitSection.tsx | 2 + 2 files changed, 45 insertions(+) create mode 100644 __tests__/unit/a11y-nomes-acessiveis.test.ts diff --git a/__tests__/unit/a11y-nomes-acessiveis.test.ts b/__tests__/unit/a11y-nomes-acessiveis.test.ts new file mode 100644 index 0000000..e3ca82d --- /dev/null +++ b/__tests__/unit/a11y-nomes-acessiveis.test.ts @@ -0,0 +1,43 @@ +import { describe, it, expect } from 'vitest' +import { readFileSync } from 'node:fs' +import { join } from 'node:path' + +// ─── SplitSection — dois "X" idênticos sem nome acessível (#129) ────────── +// +// `lucide-react@1.8.0` (pinado em package.json) marca o do ícone como +// aria-hidden="true" quando não recebe filho nem prop de a11y — sem +// aria-label no