From 232777a1e0e81b56960613b6b681a8c92ad220f7 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Mon, 5 Oct 2026 20:56:49 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20explicit=20?= =?UTF-8?q?visual=20required=20indicator=20to=20document=20field?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💡 What: Added an explicit `(required)` to the document input field label. 🎯 Why: To improve form accessibility by explicitly indicating the required status of the file upload field, complying with WCAG and the `ViewerUiRequiredFieldAccessibilityTest` pattern. ♿ Accessibility: Provides clear, textual feedback to users and screen readers that the document field is mandatory. --- .jules/palette.md | 4 ++++ .../com/clearfolio/viewer/controller/ViewerUiController.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.jules/palette.md b/.jules/palette.md index a34ea59b2..ffb206135 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -13,3 +13,7 @@ ## 2026-07-13 - Async Table Actions UX **Learning:** Adding explicit loading and disabled states to table action buttons that invoke asynchronous processes helps prevent redundant API calls and visually assures the user that their request is being handled. **Action:** Consistently apply `disabled` state and `Loading...` text changes to inline table action buttons linked to async workflows, and carefully preserve underlying DOM structures with `Array.from(btn.childNodes)` during the loading cycle to avoid rendering regressions. + +## 2026-10-05 - Required field visually explicit indicator +**Learning:** Depending exclusively on implicit input `required` attributes and custom CSS pseudo-class required styling triggers accessibility violation alerts in automated accessibility test cases (e.g., `ViewerUiRequiredFieldAccessibilityTest`). Form fields MUST include an explicit textual indicator that they are required directly within the `