Skip to content

Explain the required-field asterisk: hover tooltip and a legend on create forms - #4623

Open
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1788334207-required-mark-legend
Open

devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1788334207-required-mark-legend

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The orange * next to required labels (RequiredMark, added in #3916) had nothing to point at — no legend, no hover text — so it read as an unexplained footnote marker rather than "required".

  • RequiredMark now wraps the glyph in a design-system Tooltip ("Required", muted variant). The glyph stays aria-hidden and the sr-only "(required)" text is unchanged, so assistive tech behavior is identical; only sighted hover gains the explanation. Applies everywhere the mark is used (Swarm create flow, target composer, User Testing scenario flow, Evaluate suite page).
  • New RequiredLegend (* Required field, muted) rendered once under the "Create an agentic swarm" subtitle. Only wired into the Swarm form for now — the other forms can adopt it the same way if wanted.

Tests: required-mark.test.tsx covers the aria-hidden glyph + sr-only text, tooltip on hover, and the legend text.

Link to Devin session: https://app.devin.ai/sessions/56837586939b4c6e8d37bb9ea8e196ee
Open in Devin Desktop: https://app.devin.ai/desktop/session/56837586939b4c6e8d37bb9ea8e196ee?variant=devin
Requested by: @sophiemarinavo


Summary by cubic

Adds hover tooltips and a legend to the required-field asterisk so the mark now clearly means "required" instead of reading as an unexplained footnote.

  • RequiredMark now shows a muted "Required" tooltip on hover; the aria-hidden glyph and sr-only "(required)" text are unchanged, so screen-reader behavior is identical.
  • Adds RequiredLegend ("* Required field") under the subtitle of the Swarm create flow, eval suite page, and user testing scenario flow.
  • Adds tests covering the hidden glyph, sr-only text, tooltip on hover, and legend text.

Written for commit a8317de. Summary will update on new commits.

Review in cubic


Devin Review

…e swarm form

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@chelojimenez

chelojimenez commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

Devin Review

Comment on lines +33 to 39
</span>
</TooltipTrigger>
<TooltipContent side="top" variant="muted">
Required
</TooltipContent>
</Tooltip>
<span className="sr-only">(required)</span>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🟡 Keyboard misses required-field explanation

On forms without the legend, keyboard navigation cannot focus the TooltipTrigger span. The required-field explanation remains unavailable.

Prompt for agents
Make RequiredMark's explanation available to sighted keyboard users without exposing duplicate or misleading text to assistive technology. The current TooltipTrigger in mcpjam-inspector/client/src/components/shared/required-mark.tsx wraps an aria-hidden, non-focusable span, so Radix can only open it through pointer hover. Account for the existing sr-only “(required)” text and the fact that most RequiredMark call sites do not render RequiredLegend. Add keyboard-focused test coverage as well as the existing hover coverage.
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deliberate trade-off rather than an oversight: making the glyph focusable adds an extra tab stop after every required label (4 on the Swarm form alone), which is worse for keyboard users than the missing hover text. Screen-reader users already get "(required)" via the sr-only span. The legend is the keyboard-visible explanation; extending it to the other forms that use RequiredMark is the cleaner fix, and I've asked Sophie whether she wants that.

@github-actions

github-actions Bot commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

Internal preview

Preview URL: https://mcp-inspector-pr-4623.up.railway.app
Deployed commit: 05175bc
PR head commit: a8317de
Backend target: staging fallback.
Health: ✅ Convex reachable
Access is employee-only in non-production environments.

…ms too

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration devin-ai-integration Bot changed the title Explain the required-field asterisk: hover tooltip and a legend on the swarm form Explain the required-field asterisk: hover tooltip and a legend on create forms Sep 2, 2026

This branch was successfully deployed

1 active deployment
preview-pr-4623 — a8317dea Deployed Sep 2, 2026 by devin-ai-integration[bot] via upsert-preview #16755
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