Skip to content

[codex] fix: restore pending input keyboard activation#3501

Merged
juliusmarminge merged 2 commits into
pingdotgg:mainfrom
StiensWout:staging/fix-pending-user-input-option-keyboard
Jun 22, 2026
Merged

[codex] fix: restore pending input keyboard activation#3501
juliusmarminge merged 2 commits into
pingdotgg:mainfrom
StiensWout:staging/fix-pending-user-input-option-keyboard

Conversation

@StiensWout

@StiensWout StiensWout commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replaces pending user input option rows with native button elements.
  • Preserves the existing selection styling, disabled/responding behavior, click handling, check icon, and number-key shortcut display.
  • Keeps composer form behavior stable with type="button".

Root cause

The option rows used focusable div role="button" elements. They supported pointer selection and number-key shortcuts, but did not get browser-native Enter/Space activation when focused.

Impact

Focused pending input options now use native button activation while preserving the existing pointer and number-key behavior.

Validation

  • Passed: PATH="$HOME/.vite-plus/bin:$PATH" vp check (0 errors; 20 existing unrelated warnings)
  • Passed: PATH="$HOME/.vite-plus/bin:$PATH" vp run typecheck (completed successfully)

Note

Low Risk
Small UI/accessibility change in the chat composer with no auth, data, or API impact.

Overview
Pending user input option rows in ComposerPendingUserInputPanel are now real <button type="button"> elements instead of focusable div role="button" wrappers.

Disabled state uses the native disabled attribute (replacing aria-disabled and an early return in onClick), so focused options get standard Enter/Space activation while pointer clicks, styling, shortcuts, and type="button" inside the composer stay the same.

Reviewed by Cursor Bugbot for commit c09bc6a. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix keyboard activation for pending input options in chat composer

Replaces the <div role="button"> wrapper for each option in ComposerPendingUserInputCard with a native <button type="button">. The disabled attribute now controls focusability and click suppression when isResponding is true, removing the need for manual tabIndex, aria-disabled, and onClick guard logic.

Macroscope summarized c09bc6a.

StiensWout and others added 2 commits June 22, 2026 09:35
Co-authored-by: Codex <codex@openai.com>
…t-option-keyboard

[codex] fix: restore pending input keyboard activation
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: e8d45ee4-f37e-4f8e-b8c8-c98094fd3514

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jun 22, 2026
@macroscopeapp

macroscopeapp Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

This change converts a div acting as a button to a proper semantic button element, improving accessibility without changing functionality. The native disabled attribute replaces manual click handling.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge juliusmarminge merged commit 8b993bc into pingdotgg:main Jun 22, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants