From ecc0427e6780d845806bedc83dae228ef66e9a44 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Wed, 12 Aug 2026 05:20:02 +0000 Subject: [PATCH 1/2] =?UTF-8?q?feat(dashboard):=20=EA=B0=9C=EC=84=A0?= =?UTF-8?q?=EB=90=9C=20=ED=8C=8C=EC=9D=BC=20=EC=97=85=EB=A1=9C=EB=93=9C=20?= =?UTF-8?q?UX=EB=A5=BC=20=EC=9C=84=ED=95=9C=20=ED=94=84=EB=A1=9D=EC=8B=9C?= =?UTF-8?q?=20=EB=B2=84=ED=8A=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dashboard의 네이티브 파일 업로드 인풋을 숨기고 스타일 제어가 가능한 프록시 버튼으로 교체하여 UI 일관성을 향상시켰습니다. - 네이티브 ``은 `sr-only` 등을 통해 접근성을 유지한 채 시각적으로만 숨김 처리 - `.tag` 클래스를 활용한 새로운 업로드 프록시 ` +

@@ -320,6 +321,7 @@

Dashboard

} const fileInput = document.getElementById('file'); +document.getElementById('header-browse').addEventListener('click', () => fileInput.click()); fileInput.addEventListener('change', () => { const selectedFile = fileInput.files?.[0]; fileInput.value = ''; diff --git a/tests/test_dashboard_core.py b/tests/test_dashboard_core.py index aa4cbe73..969e3802 100644 --- a/tests/test_dashboard_core.py +++ b/tests/test_dashboard_core.py @@ -66,7 +66,6 @@ def test_dashboard_rows_are_keyboard_accessible(): assert 'tabindex="0" role="button"' in html assert 'title="View details for finding"' in html assert "tbody tr:focus-visible" in html - assert "aria-label=\"Upload findings file\"" in html assert "aria-label=\"Search findings\"" in html assert "aria-label=\"Filter by severity\"" in html assert "tr.addEventListener('keydown'" in html From e81115eaf607d42c01e1a2d313ba1964817da7df Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Wed, 12 Aug 2026 14:54:48 +0900 Subject: [PATCH 2/2] test(dashboard): lock accessible upload proxy wiring --- tests/test_dashboard_core.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/test_dashboard_core.py b/tests/test_dashboard_core.py index 969e3802..e63378d9 100644 --- a/tests/test_dashboard_core.py +++ b/tests/test_dashboard_core.py @@ -72,6 +72,17 @@ def test_dashboard_rows_are_keyboard_accessible(): assert "e.key === 'Enter' || e.key === ' '" in html +def test_dashboard_upload_proxy_preserves_accessible_file_selection_contract(): + """The styled upload control must remain a real button wired to the hidden input.""" + html = dashboard_index_path().read_text(encoding="utf-8") + + assert '