cmux NEXT: Invite People hides the empty link row from VoiceOver; Copied clears with the link

TE
2h ago
+50-2

Follow-ups from the review of #34656 on the Invite People sheet (listed on #33746):

  • VoiceOver skipped nothing. The invite link row stays laid out with no link so the card keeps its size, but VoiceOver still read the empty label and the disabled Copy Invite Link. Now the row, its label and the button are hidden from accessibility until the chat has a link, and come back when it does.
  • Copied outlived its link. If the link went away while Copy Invite Link read Copied (the last invitee removed), the next link showed with Copied. Loading the shares now clears copied (and its reset timer) when there is no link.
  • zh-Hans used 拷贝 for Copy Invite Link and Copied; the rest of the catalogs use 复制. Now 复制邀请链接 / 已复制.
  • Test: the card test now checks Copy Invite Link has one fixed width that fits Copied and keeps it across the confirmation.

Commit 1 adds the tests (the accessibility and Copied checks fail on base), commit 2 the fix. Design spec: design/chat-multiplayer.md (Invite people); no design change. Localization audit: only the two zh-Hans values changed; no new strings.

Refs #33746

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Updates the Invite People sheet so VoiceOver skips the empty invite-link row, and the Copied confirmation clears when the link disappears.

  • Keeps the row laid out to preserve the card's size while hiding it from accessibility.
  • Updates the Simplified Chinese translations for "Copy Invite Link" and "Copied."
  • Tests accessibility, confirmation reset, and button width across the confirmation state.