Skip to content

🎨 Palette: Improve HTML Report Table Accessibility and Data Readability - #312

Closed
seonghobae wants to merge 1 commit into
mainfrom
palette/html-report-table-accessibility-5751038696920746185
Closed

🎨 Palette: Improve HTML Report Table Accessibility and Data Readability#312
seonghobae wants to merge 1 commit into
mainfrom
palette/html-report-table-accessibility-5751038696920746185

Conversation

@seonghobae

@seonghobae seonghobae commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

💡 What: The UX enhancement changes the first column in report tables from <td> to <th scope="row">, and adds font-variant-numeric: tabular-nums; to table data cells.
🎯 Why: Standard table bodies with identifying first columns using <td> can cause degraded context for screen reader users. The default non-tabular numeric fonts also misalign decimal numbers vertically, making them harder to read in large matrices.
📸 Before/After: Tables now announce properly in screen readers, and numerical output aligns on the axes.
♿ Accessibility: Improves programmatic table semantics and visual readability for dyscalculia or cognitive processing of large data sets.


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

Summary by CodeRabbit

  • 접근성 개선
    • HTML 리포트 표의 첫 번째 열이 행 제목으로 인식되도록 개선했습니다.
  • 가독성 개선
    • 숫자 데이터가 열 단위로 정렬되어 더 쉽게 비교됩니다.
    • 표의 제목 셀과 데이터 셀 스타일을 조정해 시각적 일관성을 높였습니다.

…ow" and tabular-nums

Changed the first column of the data tables in HTML reports to use `<th scope="row">` to improve screen reader accessibility. Also added `font-variant-numeric: tabular-nums;` to table cells to ensure better vertical alignment of numbers. Updated CSS selectors to maintain existing border styles and fix missing base styles.
@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.

Copilot AI review requested due to automatic review settings July 27, 2026 02:50
@coderabbitai

coderabbitai Bot commented Jul 27, 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0d750225-b56e-4d9b-8ea9-8804715d8759

📥 Commits

Reviewing files that changed from the base of the PR and between a3123a2 and d93a06c.

📒 Files selected for processing (2)
  • .jules/palette.md
  • python/fast_mlsirm/report.py

📝 Walkthrough

Walkthrough

HTML 리포트 테이블의 첫 번째 열을 행 헤더로 렌더링하고, 헤더·본문 셀 스타일을 세분화했습니다. 숫자 정렬을 위한 CSS와 관련 접근성 지침도 추가되었습니다.

Changes

HTML 리포트 테이블 접근성

Layer / File(s) Summary
행 헤더 마크업
python/fast_mlsirm/report.py
각 행의 첫 번째 열을 <th scope="row">로 렌더링하고 나머지 열은 <td>로 유지합니다.
셀 스타일 및 적용 지침
python/fast_mlsirm/report.py, .jules/palette.md
thead th, tbody th, td 선택자를 구분하고 tabular-nums 및 본문 행 헤더의 일반 글꼴 굵기를 적용하며 관련 지침을 문서화합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: copilot

🚥 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 HTML 리포트 테이블의 접근성과 가독성 개선이라는 변경 내용을 정확히 요약합니다.
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/html-report-table-accessibility-5751038696920746185

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

Copilot AI 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.

Pull request overview

This PR improves the generated HTML report tables by upgrading the first column of each <tbody> row to a proper row header (<th scope="row">) for better screen-reader context, and by applying tabular numeric glyphs to improve visual alignment in dense numeric tables.

Changes:

  • Update HTML table body rendering to emit <th scope="row"> for the first (identifying) column in each row.
  • Refine table CSS selectors to distinguish header (thead th) vs row headers (tbody th) and apply font-variant-numeric: tabular-nums; for aligned numeric output.
  • Document the accessibility/readability pattern in .jules/palette.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
python/fast_mlsirm/report.py Emits row headers for first-column cells and updates table CSS to support the new semantics and numeric alignment.
.jules/palette.md Records the table accessibility/readability guidance for future report HTML changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +320 to 327
cells = ""
for i, column in enumerate(columns):
value = escape(_format_value(row.get(column, '')))
if i == 0:
cells += f'<th scope="row">{value}</th>'
else:
cells += f"<td>{value}</td>"
body_rows.append(f"<tr>{cells}</tr>")
Comment on lines +705 to 708
tbody tr:last-child th,
tr:last-child td {
border-bottom: 0;
}

Copy link
Copy Markdown
Contributor Author

중복 정리: report.py 테이블 접근성+가독성 개선으로, 리뷰 대기 중인 #187 과 동일 대상·동일 취지입니다. 그룹당 대표 1건만 남기는 백로그 정리 방침에 따라 닫습니다. 필요 시 재오픈 가능합니다.


Generated by Claude Code

@google-labs-jules

Copy link
Copy Markdown

중복 정리: report.py 테이블 접근성+가독성 개선으로, 리뷰 대기 중인 #187 과 동일 대상·동일 취지입니다. 그룹당 대표 1건만 남기는 백로그 정리 방침에 따라 닫습니다. 필요 시 재오픈 가능합니다.


Generated by Claude Code

알겠습니다. 해당 작업이 #187과 중복되어 닫혔음을 확인하였으며, 이 과업에 대한 진행을 중단하겠습니다.

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.

2 participants