Skip to content

๐ŸŽจ Palette: [Accessibility] Improve collapsible section in Overview Stats#71

Closed
seonghobae wants to merge 1 commit into
mainfrom
palette-a11y-overview-stats-18417779644745569749
Closed

๐ŸŽจ Palette: [Accessibility] Improve collapsible section in Overview Stats#71
seonghobae wants to merge 1 commit into
mainfrom
palette-a11y-overview-stats-18417779644745569749

Conversation

@seonghobae

Copy link
Copy Markdown

What

Added accessibility attributes (aria-expanded, aria-controls, aria-hidden) to the collapsible "What do these numbers mean?" section in the Overview Stats component.

Why

To ensure screen readers can correctly identify the button as an expand/collapse toggle, know its current state, and understand which content block it controls. It also hides decorative visual icons from screen readers to reduce unnecessary noise.

Before/After

  • Before: Button was just a <button> with visual icons and text. Screen readers couldn't tell if it was expanded or what it controlled.
  • After: Button is semantically linked to the content container, state is announced properly, and visual-only arrows/labels are hidden from screen readers.

Accessibility

  • Added aria-expanded and aria-controls to the toggle button.
  • Added id to the content div to link with aria-controls.
  • Added aria-hidden="true" to the purely decorative arrow and the "click to expand" instruction to eliminate duplicative noise.

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

Added `aria-expanded` and `aria-controls` to the toggle button, `id` to the content container, and `aria-hidden` to purely decorative elements to improve screen reader experience.
@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 Jun 10, 2026

Copy link
Copy Markdown

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

Run ID: f1ad4714-6dde-4511-ad6e-6efee571c3bb

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 220b497 and a2fafa1.

๐Ÿ“’ Files selected for processing (2)
  • .Jules/palette.md
  • packages/web/src/components/dashboard/overview-stats.tsx

๐Ÿ“ Walkthrough

Summary by CodeRabbit

๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

  • ๊ฐœ์„  ์‚ฌํ•ญ
    • ๋Œ€์‹œ๋ณด๋“œ ๊ฐœ์š” ํ†ต๊ณ„์˜ ํ† ๊ธ€ ๋ฒ„ํŠผ ์ ‘๊ทผ์„ฑ ๊ฐœ์„ ์œผ๋กœ ์Šคํฌ๋ฆฐ๋ฆฌ๋” ์‚ฌ์šฉ์ž์˜ ์ด์šฉ์„ฑ ํ–ฅ์ƒ
    • ๋ฒ„ํŠผ ์ƒํƒœ ์ •๋ณด ๋ช…ํ™•ํ™” ๋ฐ ๊ด€๋ จ ์ฝ˜ํ…์ธ  ์˜์—ญ ์—ฐ๊ฒฐ ๊ฐœ์„ 

Walkthrough

OverviewStats ์ปดํฌ๋„ŒํŠธ์˜ ํ† ๊ธ€ ๋ฒ„ํŠผ์— ARIA ์ ‘๊ทผ์„ฑ ์†์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์— aria-expanded์™€ aria-controls ์†์„ฑ์„ ์—ฐ๊ฒฐํ•˜๊ณ , ๋ฒ„ํŠผ ๋‚ด ์‹œ๊ฐ์  ํ‘œ์‹œ ์š”์†Œ๋ฅผ aria-hidden์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์Šคํฌ๋ฆฐ๋ฆฌ๋”์™€ ์‹œ๊ฐ์  ํ‘œ์‹œ๋ฅผ ๋ถ„๋ฆฌํ–ˆ์œผ๋ฉฐ, ์„ค๋ช… ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€์‘ํ•˜๋Š” id๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Changes

Toggle ๋ฒ„ํŠผ ARIA ์ ‘๊ทผ์„ฑ ๊ฐœ์„ 

Layer / File(s) Summary
Toggle ๋ฒ„ํŠผ ARIA ๋ ˆ์ด๋ธ”๋ง ๋ฐ ์„ค๋ช… ์ปจํ…Œ์ด๋„ˆ ์—ฐ๊ฒฐ
packages/web/src/components/dashboard/overview-stats.tsx
ํ† ๊ธ€ ๋ฒ„ํŠผ์— aria-expanded์™€ aria-controls="overview-stats-explanation" ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™•์žฅ ์ƒํƒœ์™€ ์ œ์–ด ๋Œ€์ƒ์„ ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํŠผ ๋‚ด๋ถ€์˜ ํ™”์‚ดํ‘œ/์•ˆ๋‚ด ๋ฌธ๊ตฌ๋ฅผ aria-hidden์œผ๋กœ ๊ฐ์‹ธ ์Šคํฌ๋ฆฐ๋ฆฌ๋” ๋…ธ์ถœ์„ ์ œ์–ดํ–ˆ์œผ๋ฉฐ, ์„ค๋ช… ์ปจํ…Œ์ด๋„ˆ์— id="overview-stats-explanation"๋ฅผ ๋ถ€์—ฌํ•ด ARIA ๊ด€๊ณ„๋ฅผ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์†Œ์š” ์‹œ๊ฐ„

๐ŸŽฏ 1 (Trivial) | โฑ๏ธ ~3๋ถ„

Poem

๐Ÿฐ ์ž‘์€ ๋ฒ„ํŠผ, ํฐ ๋ชฉ์†Œ๋ฆฌ๋กœ
ARIA ์†์„ฑ ๋ฌผ์”ฌ ๋‚˜๊ณ ,
์Šคํฌ๋ฆฐ๋ฆฌ๋” ์นœ๊ตฌ๋“ค ๋ฐ˜๊ฒจ์ฃผ๋„ค!
์ ‘๊ทผ์„ฑ ๋งˆ๋ฒ•, ์™„์„ฑ๋์–ด์š”. โœจ

๐Ÿšฅ Pre-merge checks | โœ… 5
โœ… Passed checks (5 passed)
Check name Status Explanation
Title check โœ… Passed ์ œ๋ชฉ์€ ์ ‘๊ทผ์„ฑ ๊ฐœ์„ ์ด๋ผ๋Š” PR์˜ ์ฃผ์š” ๋ชฉ์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ณ€๊ฒฝ์‚ฌํ•ญ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
Description check โœ… Passed ์„ค๋ช…์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์˜ ๋ชฉ์ , ๊ตฌํ˜„ ๋‚ด์šฉ, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋Œ€ํšจ๊ณผ๋ฅผ ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์–ด PR์˜ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
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.

โœ๏ธ Tip: You can configure your own custom pre-merge checks in the settings.

โœจ 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-a11y-overview-stats-18417779644745569749
โœจ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch palette-a11y-overview-stats-18417779644745569749

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


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

@seonghobae

Copy link
Copy Markdown
Author

์ตœ์‹  upstream/main ๊ธฐ์ค€์œผ๋กœ ์ด PR ๋ธŒ๋žœ์น˜(palette-a11y-overview-stats-18417779644745569749)๋Š” 95๊ฐœ ํŒŒ์ผ์˜ stale diff๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ .claude agent/skill ํŒŒ์ผ ์‚ญ์ œ์™€ ์˜ค๋ž˜๋œ lockfile/env/code ๋ณ€๊ฒฝ์ด ์„ž์—ฌ ์žˆ์–ด ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ upstream์— ์˜ฌ๋ฆฌ๋ฉด ์ด๋ฏธ ๋ฐ˜์˜๋œ ๋ณ€๊ฒฝ์„ ๋˜๋Œ๋ฆด ์œ„ํ—˜์ด ํฝ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ๋Š” upstream #30 โ†’ upstream #21 ์ˆœ์„œ๋กœ ์ •๋ฆฌ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด PR์˜ ์•„์ด๋””์–ด๊ฐ€ ์—ฌ์ „ํžˆ ํ•„์š”ํ•˜๋ฉด ์ตœ์‹  upstream/main์—์„œ ๋‹จ์ผ ๋ชฉ์  ๋ธŒ๋žœ์น˜๋กœ ๊นจ๋—ํ•˜๊ฒŒ ๋‹ค์‹œ ์ถ”์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. stale PR๋กœ ๋‹ซ์Šต๋‹ˆ๋‹ค.

@seonghobae seonghobae closed this Jun 19, 2026
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