Skip to content

🎨 Palette: 에세이 채점 λ¦¬ν¬νŠΈμ—μ„œ 빈 μƒνƒœ(Empty state) μ ‘κ·Όμ„± ν–₯상 - #806

Merged
seonghobae merged 2 commits into
mainfrom
palette-empty-state-a11y-15105712639584487714
Aug 12, 2026
Merged

🎨 Palette: 에세이 채점 λ¦¬ν¬νŠΈμ—μ„œ 빈 μƒνƒœ(Empty state) μ ‘κ·Όμ„± ν–₯상#806
seonghobae merged 2 commits into
mainfrom
palette-empty-state-a11y-15105712639584487714

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

πŸ’‘ What: validation_report_html.py의 _identifier_list λ Œλ”λ§ ν•¨μˆ˜μ—μ„œ 빈 μƒνƒœ(empty state)λ₯Ό ν‘œμ‹œν•˜λŠ” νƒœκ·Έλ₯Ό 기쑴의 단락 νƒœκ·Έ(<p>)μ—μ„œ ARIA Live Region 역할을 ν•˜λŠ” <div role="status">둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. ν•¨κ»˜ κ΄€λ ¨λœ ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ μ˜ˆμƒ λ°˜ν™˜κ°’λ„ μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€.
🎯 Why: 빈 μƒνƒœλ₯Ό λ‹¨μˆœνžˆ ν…μŠ€νŠΈ ν˜•νƒœμ˜ <p> νƒœκ·Έλ‘œ ν‘œμ‹œν•˜λ©΄, 쑰건뢀 λ Œλ”λ§ μ‹œ 슀크린 리더가 이λ₯Ό 쑰용히 κ±΄λ„ˆλ›°μ–΄ μ‹œκ° μž₯애인 μ‚¬μš©μžλŠ” 데이터가 λΉ„μ–΄μžˆλŠ” 것인지 μ•„λ‹ˆλ©΄ μ»΄ν¬λ„ŒνŠΈ 자체λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν•œ 것인지 ν˜Όλ™ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β™Ώ Accessibility: role="status"λ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ 보쑰 기술이 이λ₯Ό 라이브 μ˜μ—­μœΌλ‘œ μΈμ‹ν•˜μ—¬ μ‚¬μš©μžμ˜ μž‘μ—… 흐름을 λ°©ν•΄ν•˜μ§€ μ•Šκ³ λ„ 값이 λ“±λ‘λ˜μ§€ μ•Šμ•˜μŒμ„ λŠ₯동적이고 λͺ…ν™•ν•˜κ²Œ μ•ˆλ‚΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 이미 λ‹€λ₯Έ 리포트 μ»΄ν¬λ„ŒνŠΈμ—μ„œ μ€€μˆ˜λ˜κ³  μžˆλŠ” .empty-state ARIA ν‘œμ€€μ„ μΌκ΄€λ˜κ²Œ μ μš©ν•œ κ²ƒμž…λ‹ˆλ‹€.


PR created automatically by Jules for task 15105712639584487714 started by @seonghobae

Summary by CodeRabbit

  • Bug Fixes
    • Improved the empty identifier-list status element for more consistent accessibility and layout behavior.
    • Preserved status semantics, accessibility attributes, styling, and safe message rendering.

HTML 리포트의 빈 μƒνƒœ μ»¨ν…Œμ΄λ„ˆ νƒœκ·Έλ₯Ό `<p>`μ—μ„œ `<div role="status">`둜 λ³€κ²½ν•˜μ—¬ 슀크린 리더와 같은 보쑰 기술이 데이터가 μ—†μŒμ„ λŠ₯λ™μ μœΌλ‘œ μ•Œλ¦΄ 수 μžˆλ„λ‘ κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
@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 Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6f656106-77fd-4624-965a-981df6b261d6

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 6394888 and a68cf56.

πŸ“’ Files selected for processing (2)
  • python/fast_mlsirm/scoring/essay/validation_report_html.py
  • tests/test_scoring_essay_validation_report_html.py

πŸ“ Walkthrough

Walkthrough

The empty identifier message now renders as a <div> status region. The test expects the new element while preserving role="status" and aria-atomic="true".

Changes

Identifier status markup

Layer / File(s) Summary
Update empty-state markup and expectation
python/fast_mlsirm/scoring/essay/validation_report_html.py, tests/test_scoring_essay_validation_report_html.py
The renderer uses a <div> for the empty identifier status. The test verifies the updated element and preserved accessibility attributes.

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

Possibly related PRs

πŸš₯ Pre-merge checks | βœ… 5
βœ… Passed checks (5 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check βœ… Passed The title clearly describes the accessibility improvement to the empty state in the essay grading report.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
πŸ“ Generate docstrings
  • Create stacked PR
  • Commit on current branch
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch palette-empty-state-a11y-15105712639584487714

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.

@seonghobae
seonghobae merged commit cd364bb into main Aug 12, 2026
35 checks passed
@seonghobae
seonghobae deleted the palette-empty-state-a11y-15105712639584487714 branch August 12, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant