From 144f4d6783b10edbd18327cc0ac5aea32bf78533 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Mon, 7 Sep 2026 05:08:49 +0000 Subject: [PATCH 01/13] =?UTF-8?q?=F0=9F=8E=A8=20UI:=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5=20=EB=B2=84=ED=8A=BC=EC=9D=98=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=EC=84=B1=20=EB=B0=8F=20=EC=8A=A4=ED=83=80=EC=9D=BC=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 네이티브 `` 요소는 브라우저마다 스타일이 다르고 일관되게 꾸미기 어렵습니다. 또한 기존의 `aria-label`은 'label-in-name' 원칙을 시각적으로 따르지 않습니다. 이를 개선하기 위해, 네이티브 입력 필드는 `hidden` 속성으로 숨기고, 기존 `.primary-action` 클래스를 사용하는 네이티브 `

@@ -324,7 +325,9 @@

Dashboard

render(); } +const headerBrowseFindings = document.getElementById('header-browse-findings'); const fileInput = document.getElementById('file'); +headerBrowseFindings.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 75a5809f..be738615 100644 --- a/tests/test_dashboard_core.py +++ b/tests/test_dashboard_core.py @@ -77,7 +77,7 @@ 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 ">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 ea91cc561bc75b577d8c3035715107b9c39e4e95 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Mon, 7 Sep 2026 08:55:36 +0000 Subject: [PATCH 02/13] =?UTF-8?q?=F0=9F=8E=A8=20UI:=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5=20=EB=B2=84=ED=8A=BC=EC=9D=98=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=EC=84=B1=20=EB=B0=8F=20=EC=8A=A4=ED=83=80=EC=9D=BC=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 네이티브 `` 요소는 브라우저마다 스타일이 다르고 일관되게 꾸미기 어렵습니다. 또한 기존의 `aria-label`은 'label-in-name' 원칙을 시각적으로 따르지 않습니다. 이를 개선하기 위해, 네이티브 입력 필드는 `hidden` 속성으로 숨기고, 기존 `.primary-action` 클래스를 사용하는 네이티브 `' in html + ) + assert "const headerBrowseFindings = document.getElementById('header-browse-findings');" in html + assert "const fileInput = document.getElementById('file');" in html + assert "headerBrowseFindings.addEventListener('click', () => fileInput.click());" in html + assert "const selectedFile = fileInput.files?.[0];" in html + assert "fileInput.value = '';" in html + assert "if(!selectedFile) return;" in html