Skip to content

fix(a11y): use native form submission for create actions - #1078

Draft
seonghobae wants to merge 5 commits into
mainfrom
palette-a11y-forms-5185423884916639583
Draft

fix(a11y): use native form submission for create actions#1078
seonghobae wants to merge 5 commits into
mainfrom
palette-a11y-forms-5185423884916639583

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Current exact scope

Draft exact head 666ea85c9af5e2c3ea4d67f32a639261e67e7192 on main@8dc746920c12988f082e914879d95e13c9693535 changes only frontend/src/App.tsx and frontend/src/App.nativeFormSubmission.test.tsx.

The implementation converts the four create-action wrappers to native <form> submission and changes their action buttons to type="submit". Existing async guards (isCreatingProject, isCreatingConnection, isCreatingSnapshot) and disabled states remain the product authority; this PR does not add a second click handler or synthetic submit path.

The focused Vitest/Testing Library regression exercises Enter submission for sidebar project/connection/snapshot creation and the projects-page inline create form, and checks single invocation for the exercised action. This is component-level behavior evidence, not a real-browser accessibility or responsive-layout receipt.

Evidence boundary

Do not claim browser-complete keyboard accessibility from JSDOM alone. A material UI promotion still requires current-head browser evidence covering at least:

  • Enter submission and pointer submission without duplicate requests while an async create is pending;
  • disabled/loading/error behavior and focus retention;
  • narrow/mobile and intermediate widths with no form/button overflow or layout regression;
  • keyboard focus visibility and accessible form/control names;
  • current-head screenshot or equivalent browser-rendered evidence for the moved snapshot button spacing.

The snapshot button now lives inside .field, whose existing layout is column/flex with spacing; the patch also adds an inline marginTop. Treat final spacing as visual evidence pending rather than assuming parity from source alone.

Delivery Gate

  • Intentionality: PASS — native form semantics are used specifically to make the create action keyboard-submittable.
  • Functional completeness: PARTIAL — component-level Enter paths are covered; real-browser duplicate/pending/error behavior is not yet proven.
  • Content fitness: PASS — no new template content or generic CTA was introduced.
  • Resilience: FAIL/PENDING — responsive, loading/error, pointer+keyboard and browser focus evidence is incomplete.
  • Evidence: FAIL/PENDING — exact-head CI/Security/SAST/OSV/Scorecard are queued and no current-head browser screenshot/E2E receipt is present.
  • Distinctiveness: N/A — this change does not establish or alter visual identity.

Remain Draft. Do not transfer predecessor results, use forced clicks as browser evidence, weaken gates, self-approve, or merge until the unchanged exact head has terminal required checks and the material UI evidence above is satisfied.

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch palette-a11y-forms-5185423884916639583

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.

@seonghobae
seonghobae marked this pull request as draft September 4, 2026 02:22
@seonghobae seonghobae changed the title 🎨 Palette: Improve keyboard accessibility for form submission fix(a11y): use native form submission for create actions Sep 4, 2026
Comment thread test_script.js Fixed
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