Skip to content

[Fix] Transcript scroll controls are unnamed for assistive users - #3443

Closed
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/transcript-scroll-name-2kk2pv6m60hba
Closed

roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/transcript-scroll-name-2kk2pv6m60hba

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

​Opened on behalf of Daniel Riccio. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

Keep this PR draft. Visual proof is blocked by the capture step's shared five-minute timeout. A completed accepted proof handoff is missing; do not auto-promote this PR on clean automated review alone.

Related issue

No linked issue; internal Roomote accessibility work.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

The existing arrow button for returning to the latest transcript message has no accessible name on either session or task pages. Assistive users encounter an unnamed action.

What changed

Give the shared button the default accessible name “Scroll to latest message”. Preserve the existing icon, appearance, scroll handler and consumer prop overrides. One attribute; no new state or dependency.

How it was tested

  • Current-develop session and task pages reproduced the critical axe button-name finding on this control.
  • Before the capture timeout, actual semantic snapshots named the changed button; targeted button audits passed at desktop/mobile sizes. Desktop keyboard and mobile pointer activation in a deterministic local overflowing session transcript reached within 5px of the bottom and displayed the latest-message marker.
  • Targeted ESLint, web type checking, diff checks and normal commit/pre-push gates passed.
  • No new attribute-only test was added for this one-line change.

Remaining gap: the bounded visual-proof step timed out before independent proof review completed. Its partial images are not accepted proof and are not embedded. No further capture or proof recovery is currently authorized. This draft preserves the implementation; it is not ready for review under the requested proof standard.

Continuation, if a later instruction authorizes it: check out the exact pushed head, use disposable local transcript records with a unique event prefix to establish overflow, confirm the accessible name on session/task pages, exercise desktop keyboard/mobile pointer navigation, finish the accepted bounded proof handoff, reconcile exact-head checks/review and then reconsider readiness. No external messages or live inference calls are needed for the transcript records. Prior disposable records were deleted.

This does not claim whole-page accessibility or assistive-device parity. Adjacent pre-existing placeholder contrast, scroll-region and avatar ARIA findings are outside this single-control fix.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally — normal fast lint/types/knip pre-push gates passed instead
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset — not run for this one-line fix

Related PRs

@roomote-community

roomote-community Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

No code issues found. See task

Reviewed the accessible-name addition, native Button prop forwarding, and both session/task consumers. The default label reaches the button while preserving consumer overrides and scroll behavior. CI lint, type checking, and Knip passed; tests, app build, and JavaScript/TypeScript CodeQL were still running when checked. The browser-proof gap documented in the PR remains unverified by this code review.

Reviewed 0ccb0be

@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review October 9, 2026 05:45
@roomote-roomote
roomote-roomote Bot marked this pull request as draft October 9, 2026 05:46
@roomote-roomote

Copy link
Copy Markdown
Contributor Author

Draft-state correction at 2026-10-09 05:46 UTC: an authoritative read showed this PR had become non-draft at unchanged head 0ccb0be5ecc3068d1a5573ee8768c1b0e2f52519, despite the explicit keep-draft instruction in the description. The exact-head automated review is clean but explicitly leaves the documented browser-proof gap unverified. I restored draft state. Accepted visual proof remains missing; this PR is not ready for review under its requested proof standard. No further visual capture or proof recovery is authorized for this occurrence, and passing CI/code review must not promote it.

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