Skip to content

fix(ui): stop WorkspaceCalendar's fail-closed placeholder announcing as role=status - #615

Merged
seonghobae merged 1 commit into
mainfrom
fix/calendar-placeholder-status-role
Aug 25, 2026
Merged

fix(ui): stop WorkspaceCalendar's fail-closed placeholder announcing as role=status#615
seonghobae merged 1 commit into
mainfrom
fix/calendar-placeholder-status-role

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • WorkspaceCalendar's resolved empty/fail-closed "Observed calendar events" placeholder carried role="status" like sibling panels' transient loading text does, not their resolved placeholders (RankingsPanel's own empty/unavailable states carry no ARIA role for exactly this reason).
  • Since WorkspaceCalendar mounts inside the Board's collapsed "Advanced review tools" <details> via CalendarPanel, this collided with every other role="status" region on the page whenever the calendar fixture resolves to zero events -- 4 currently-failing App.test.tsx assertions on protected main right now (TestingLibraryElementError: Found multiple elements with the role "status").

Root cause

Confirmed live on origin/main tip (3f473480) directly, unrelated to any in-flight PR -- reproduced by running pnpm exec vitest run src/App.test.tsx against a clean main checkout before making any change.

Fix

Removed role="status" from the one placeholder <p> (frontend/src/components/WorkspaceCalendar.tsx), matching the established convention elsewhere in this file: only the "Loading..." state announces; a settled empty/unavailable placeholder does not.

Test plan

  • pnpm run lint -- clean
  • pnpm run build -- clean
  • pnpm exec vitest run src/App.test.tsx src/components/WorkspaceCalendar.test.tsx -- 95/95 passed (was 4 failing before the fix)
  • pnpm exec vitest run (full suite) -- 356/356 passed

Open in Devin Review

…as role=status

Its resolved empty/unavailable state carried role="status" like sibling
panels' transient loading text does, so mounting it inside the Board's
collapsed Advanced Review Tools details collided with every other status
region on the page (4 failing App.test.tsx assertions). RankingsPanel's
own resolved placeholders carry no ARIA role for the same reason -- only
the "Loading..." state announces.
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 12 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6c619170-10ff-4b4b-9312-e2b59820879b

📥 Commits

Reviewing files that changed from the base of the PR and between 3f47348 and dadf2cc.

📒 Files selected for processing (1)
  • frontend/src/components/WorkspaceCalendar.tsx

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 enabled auto-merge August 25, 2026 09:42

@devin-ai-integration devin-ai-integration 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@seonghobae
seonghobae merged commit a2e58d4 into main Aug 25, 2026
30 of 32 checks passed
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