Skip to content

♿️(frontend) Announce mic/camera state to screen readers on shortcut toggle#1052

Merged
Ovgodd merged 1 commit intomainfrom
fix/a11y-toggle-sr-annoucement
Mar 3, 2026
Merged

♿️(frontend) Announce mic/camera state to screen readers on shortcut toggle#1052
Ovgodd merged 1 commit intomainfrom
fix/a11y-toggle-sr-annoucement

Conversation

@Ovgodd
Copy link
Collaborator

@Ovgodd Ovgodd commented Mar 2, 2026

Purpose

No SR feedback when toggling mic/camera via keyboard shortcut.

issue : #875

Proposal

Announce mic/camera state to screen readers on shortcut toggle.

  • SR announces "Microphone turned on/off" on Ctrl+D
  • SR announces "Camera turned on/off" on Ctrl+E
  • Improves a11y for keyboard + screen reader users

@Ovgodd Ovgodd requested a review from lebaudantoine March 2, 2026 11:25
@Ovgodd Ovgodd self-assigned this Mar 2, 2026
@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch from 248e2ad to 14e85dd Compare March 2, 2026 11:29
@Ovgodd Ovgodd changed the title ✨(frontend) re-focus toolbar on shortcut when already open ♿️ (frontend) Announce mic/camera state to screen readers on shortcut toggle Mar 2, 2026
@Ovgodd Ovgodd changed the title ♿️ (frontend) Announce mic/camera state to screen readers on shortcut toggle ♿️(frontend) Announce mic/camera state to screen readers on shortcut toggle Mar 2, 2026
@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch from 14e85dd to abba38e Compare March 2, 2026 11:32
@Ovgodd Ovgodd added the a11y label Mar 2, 2026
@Ovgodd Ovgodd marked this pull request as ready for review March 2, 2026 11:33
@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch from abba38e to 452e523 Compare March 2, 2026 11:34
@lebaudantoine
Copy link
Collaborator

@coderabbitai full review

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

✅ Actions performed

Full review triggered.

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

Walkthrough

This pull request adds screen reader announcements for microphone and camera device state changes triggered via keyboard shortcuts. The implementation imports a screen reader utility in the ToggleDevice component to announce state changes, and adds localized strings in English, German, French, and Dutch for "turned on" and "turned off" messages for both camera and microphone devices. A changelog entry documents the feature addition.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: adding screen reader announcements for mic/camera state on keyboard shortcut toggle.
Description check ✅ Passed The description is directly related to the changeset, explaining the accessibility issue and the solution with specific details about what was implemented.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx`:
- Around line 95-102: The handler currently derives the announced state from
!enabled after awaiting toggle(), which can be wrong if toggle fails or races;
change the handler to compute nextState = !enabled before calling toggle, call
await toggle(nextState) (pass the intended state into toggle), and only call
announce(...) after the awaited toggle resolves successfully (handle
errors/no-ops by not announcing). Update references in this handler to use
nextState when building the i18n key (t) and keep announce(..., 'assertive')
only on successful completion.

ℹ️ Review info

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2c7b4be and 452e523.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx
  • src/frontend/src/locales/de/rooms.json
  • src/frontend/src/locales/en/rooms.json
  • src/frontend/src/locales/fr/rooms.json
  • src/frontend/src/locales/nl/rooms.json

@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch from 452e523 to 45cb531 Compare March 2, 2026 15:19
@Ovgodd Ovgodd linked an issue Mar 2, 2026 that may be closed by this pull request
@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch 2 times, most recently from a3ccf90 to 3e6571a Compare March 3, 2026 08:44
announce "Microphone/Camera turned on/off" when toggling via
keyboard shortcut so screen reader users get feedback
@Ovgodd Ovgodd force-pushed the fix/a11y-toggle-sr-annoucement branch from 3e6571a to 1d23cb8 Compare March 3, 2026 08:46
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 3, 2026

@Ovgodd Ovgodd merged commit 1d23cb8 into main Mar 3, 2026
26 checks passed
@lebaudantoine lebaudantoine moved this to Done in LaSuite Meet Mar 4, 2026
@Ovgodd Ovgodd linked an issue Mar 6, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Vocalization of shortcuts

2 participants