Skip to content

fix(a11y): expose required document field text - #663

Draft
seonghobae wants to merge 13 commits into
mainfrom
ux/required-field-indicator-9416769092266147776
Draft

seonghobae wants to merge 13 commits into
mainfrom
ux/required-field-indicator-9416769092266147776

Conversation

@seonghobae

@seonghobae seonghobae commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add explicit Document (required) text to the upload label and preserve the grid-safe span.
  • Retain the focused response regression and the canonical product/technical gap baseline.
  • Restore generated Palette journal metadata and the partial Jackson POM copy to the protected base by ordinary commits.

Current authority

Status: Proposed / Draft. Base 06633a25109c62e24a7015ae04fb9f6e0a246f7e; exact head cd8bb1182e34234a701dc58e99666c93d6c7e8c3; 3 changed files.

Concurrent writer head 97dc021016d97636aabf581c9c0dfacedf13e710 reintroduced a generated journal and a POM-only Jackson delta. The current history preserves that event but removes both non-owner files. Canonical Jackson repair remains #503 at bf121dffff24e771739f50b9e2cc7961459670a2; no dependency fix is claimed in this leaf.

The UI regression still lacks responsive rendering, accessible-name, locale-expansion, keyboard, and browser evidence. Draft remains correct. Overlapping successor #662 must not retire #663 until every valid UI, test, and gap-ledger delta is proven integrated. Fresh exact-head hosted Checks are required; predecessor results are evidence only.

ViewerUiController.java 폼 필드 중 "Document" 라벨에 명시적으로 "(required)" 텍스트를 추가하고,
기존 그리드 기반 레이아웃 내에서 분리되지 않도록 `<span>` 태그로 래핑하여 접근성을 개선함.

관련 학습 내용을 .jules/palette.md에 기록하고, 해당 수정 사항이 올바르게 반영되었는지 검증하는
테스트 클래스(ViewerUiRequiredFieldAccessibilityTest.java)를 추가함.
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 8db1391c-faac-49ab-8910-c6fa748321b6

📥 Commits

Reviewing files that changed from the base of the PR and between 06633a2 and 38b9150.

📒 Files selected for processing (3)
  • .jules/palette.md
  • src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiRequiredFieldAccessibilityTest.java

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

파일 입력 레이블을 Document (required)로 변경하고, 레이블 텍스트를 <span>으로 감쌌습니다. 컨트롤러 UI 테스트는 / 응답과 레이블 마크업을 확인합니다. 지침 문서에 grid 기반 레이블의 마크업 관련 내용을 추가했습니다.

Changes

필수 입력 레이블

Layer / File(s) Summary
레이블 마크업과 응답 검증
.jules/palette.md, src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java, src/test/java/com/clearfolio/viewer/controller/ViewerUiRequiredFieldAccessibilityTest.java
파일 입력 레이블을 Document (required)로 변경하고, 전체 텍스트를 <span>으로 감쌌습니다. 지침 문서에 관련 마크업 내용을 추가했습니다. 테스트는 / 응답 상태와 콘텐츠 유형, 필수 레이블 텍스트 및 <span> 래핑을 확인합니다.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 3cdf1

The document field now visibly indicates that it is required, while retaining its existing required behavior. No concrete merge-blocking risk was found.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 문서 업로드 필드에 필수 입력 텍스트를 노출하는 주요 변경 사항을 정확하게 설명합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

ViewerUiController.java 폼 필드 중 "Document" 라벨에 명시적으로 "(required)" 텍스트를 추가하고,
기존 그리드 기반 레이아웃 내에서 분리되지 않도록 `<span>` 태그로 래핑하여 접근성을 개선함.

관련 학습 내용을 .jules/palette.md에 기록하고, 해당 수정 사항이 올바르게 반영되었는지 검증하는
테스트 클래스(ViewerUiRequiredFieldAccessibilityTest.java)를 추가함.
Flaky한 CI 환경 검증(CodeQL, opencode)을 위해 빈 커밋 추가.
cwl-noema-review[bot]
cwl-noema-review Bot previously approved these changes Oct 1, 2026

@cwl-noema-review cwl-noema-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noema LLM review

The PR successfully implements an accessibility improvement by adding a '(required)' indicator to the document input field. It correctly follows the project's UX standards by wrapping the label content in a <span> to avoid CSS Grid alignment issues, as documented in the updated .jules/palette.md. The change is verified by a new regression test ensuring the exact HTML structure is maintained.

Reviewed changed lines

  • src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java:188 (RIGHT): The change implements the accessibility requirement by adding '(required)' to the label. It correctly uses a wrapper as mandated by the project's UX guidelines to prevent grid alignment issues in .field-label containers, as documented in the updated palette.md.
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiRequiredFieldAccessibilityTest.java:20 (RIGHT): The test provides a necessary regression check by asserting the exact HTML structure (including the wrapper and text) produced by the controller, ensuring that future changes do not accidentally break the accessibility labels or the layout wrapper.
  • .jules/palette.md:18 (RIGHT): The addition correctly documents the learning that text nodes inside grid-based labels must be wrapped in a span to maintain inline flow, providing a standard for future UI developments.

Adversarial validation

  • src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java:188 (RIGHT) falsified: Adding text to a grid-label without a wrapper will cause the '(required)' text to jump to a new grid row/column. — Confirmed implementation of wrapper.
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiRequiredFieldAccessibilityTest.java:20 (RIGHT) falsified: The test might pass even if the is missing if the assertion is too broad (e.g., contains() on just the text). — Exact HTML string matching in test case.
  • Residual risk: None

Findings

  • No blocking findings.
  • Result: APPROVE
  • Head SHA: 38b9150fe8d29e2dfdbb879db5599b2b8c6db191
  • Reviewer credential: noema-review-github-app-refresh
  • Actor: cwl-noema-review[bot]

@seonghobae seonghobae changed the title 🎨 Palette: [UX improvement] 필수 입력 필드에 접근성 레이블 및 명시적 텍스트 추가 fix(a11y): expose required document field text Oct 1, 2026
@seonghobae seonghobae added area: ui-ux Frontend, interaction, design, or user experience enhancement New feature or request priority: medium Normal-priority or P2 work status: draft Draft pull request labels Oct 1, 2026 — with ChatGPT Codex Connector

Copy link
Copy Markdown
Collaborator Author

Current authority — complete-carryover verification in progress

Exact #663 head: 2b49634cfabc00d888ef2e14a23a865f5d4c5f85 (Draft, open, mergeable).

A same-run single-writer review found that Ready successor #662 already carries the complete canonical Jackson owner delta: 2.22.3, SBOM and attribution regeneration, expired OSV-exception removal, cross-artifact regression coverage, CHANGELOG, and product-gap RCA. #663's partial POM/test repair must not become a second owner.

Carryover evidence:

#663 remains open until those successor Checks establish the carryover. No Force Push, destructive rebase, bypass, manual rerun, or synthetic state toggle was used.

seonghobae and others added 5 commits October 2, 2026 06:09
ViewerUiController.java 폼 필드 중 "Document" 라벨에 명시적으로 "(required)" 텍스트를 추가하고,
기존 그리드 기반 레이아웃 내에서 분리되지 않도록 `<span>` 태그로 래핑하여 접근성을 개선함.

관련 학습 내용을 .jules/palette.md에 기록하고, 해당 수정 사항이 올바르게 반영되었는지 검증하는
테스트 클래스(ViewerUiRequiredFieldAccessibilityTest.java)를 추가함.
CVE-2026-68497 취약점 조치를 위해 jackson-bom 버전 업 (2.22.3).
Flaky한 CI 환경 검증(CodeQL, opencode)을 위해 빈 커밋 추가.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ui-ux Frontend, interaction, design, or user experience enhancement New feature or request priority: medium Normal-priority or P2 work status: draft Draft pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant