概要
PR #746 のレビューで「aria-live / role="status" を結果領域全体に付けると、入力 1 文字ごとにスクリーンリーダーへ膨大な再アナウンスが走る」ことが指摘され、SamlDecoder は修正済み(live region を変換ステップ 1 行に限定)。
同じパターンの発生源である JwtDecoder に既存の同一問題が残っている。
対象
src/components/tools/JwtDecoder.tsx — デコード結果全体(Header / Payload / Signature セクションを含む div)に role="status" aria-live="polite" が付いている
他ツールにも同パターンがないか grep -rn 'aria-live' src/components/tools/ で横断確認し、該当があれば同時に修正する。
対応方針
SamlDecoder(PR #746 の ebcf2e5)と同じ方針:
- 巨大 div からは live region 属性を外す
- 簡潔な状態表示(バッジ行など小さく安定した要素)のみ
role="status" にする(aria-live 併記は冗長のため不要)
- 既存の a11y E2E が壊れないことを確認
参照
概要
PR #746 のレビューで「
aria-live/role="status"を結果領域全体に付けると、入力 1 文字ごとにスクリーンリーダーへ膨大な再アナウンスが走る」ことが指摘され、SamlDecoder は修正済み(live region を変換ステップ 1 行に限定)。同じパターンの発生源である JwtDecoder に既存の同一問題が残っている。
対象
src/components/tools/JwtDecoder.tsx— デコード結果全体(Header / Payload / Signature セクションを含む div)にrole="status" aria-live="polite"が付いている他ツールにも同パターンがないか
grep -rn 'aria-live' src/components/tools/で横断確認し、該当があれば同時に修正する。対応方針
SamlDecoder(PR #746 の
ebcf2e5)と同じ方針:role="status"にする(aria-live併記は冗長のため不要)参照
.agents/rules/ui-conventions.md2.5 章(PR feat: SAMLデコーダを追加 #746 retro で追加)