Skip to content

fix(ui): restore drop-zone click-to-open after landmark-only rewrite - #425

Closed
cursor[bot] wants to merge 9 commits into
mainfrom
cursor/bc-57942eb0-6345-4f79-b665-a0e56f142026-c7ea
Closed

fix(ui): restore drop-zone click-to-open after landmark-only rewrite#425
cursor[bot] wants to merge 9 commits into
mainfrom
cursor/bc-57942eb0-6345-4f79-b665-a0e56f142026-c7ea

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Buyer-visible outcome

Click empty space in either upload card to open the matching file picker. Native input, button, and label clicks stay authoritative. Screen readers still get distinct region landmarks.

Why this PR exists

#419 head d14ea48 kept role="region" / aria-label and deleted the reviewed click contract for the third time:

  • DOMContentLoaded registration (batch controls do not exist when the first script parses)
  • closest('input, button, label') guards
  • fileInput.click() / batchFileInput.click()
  • tests/test_saas_ui_contract.py (executable Node DOM harness)

This branch restores that tree and keeps the landmarks.

Contract

  • Empty-space click opens the matching picker once.
  • INPUT, BUTTON, LABEL, and a SPAN inside a LABEL do not synthesize a second activation.
  • Helper text now tells the buyer to click the card or drag a file onto it.
  • Keyboard/AT path remains the native file input and label.

Verification

python3 -m unittest tests.test_saas_ui_contract tests.test_saas_web -v — 76 tests, OK.

Grounding: docs/doctoring/drop-zone-pointer-activation.md (Fitts, 1954; MacKenzie, 1992; WAI-ARIA 1.2; WCAG 2.2).

Do not merge #419 at d14ea48. Land this repair instead, or replay these commits onto the #419 branch without another landmark-only rewrite.

Open in Web View Automation 

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Verdict

#425 is superseded.

#419 at 71c03498 restored the click listeners and Node harness after the d14ea48 landmark-only wipe. #428 (ce7c3e4) overlays click-or-drag copy, labelled role="region" landmarks, and design tokens on that same tree, and teaches closest(...) in .jules/palette.md.

Do not land #425, #419, and #428 in parallel. Keep #425 Draft. Prefer #419 once its current-head checks are green, then #428 for the residual buyer copy/landmark slice.

View PR

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

Copy link
Copy Markdown
Contributor

Closing as superseded by active Cursor successor #428. The exact #425 changed-file set (.jules/palette.md, CHANGELOG, drop-zone doctoring, saas_web.py, and the two upload UI tests) is a subset of #428's current 11-file scope. The #428 production patch preserves #425's DOMContentLoaded registration, window.update*Preview bindings, closest('input, button, label') guards, single/batch click-to-open behavior, helper-copy intent, and named region landmarks, while adding the shared upload-surface design tokens and Storybook/design inventory. #428 also explicitly says not to land #425 in parallel. The remaining requirement is to reconcile #428 with the four later repairs on current #419 head 114205060aace6f1509e96f2fdfa303301e3a293; keeping #425 open would create a third competing source owner without unique product behavior.

@seonghobae seonghobae closed this Aug 17, 2026
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