test(editor): repair baseline tab selector so dirty/recovery scenarios run (Refs #1377)#1521
Merged
oscharko merged 2 commits intoJun 25, 2026
Conversation
…x (Refs #1377) The outer `.ed-tab` span carries `data-dirty`/`active`; `role='tab'` and the `data-tip`/`aria-selected` affordances live on the inner `.ed-tab-hit` button. Locate the dirty/active state via `.ed-tab:has(.ed-tab-hit[data-tip=...])` so scenarios e/f/g read the correct element. Full suite now green (10/10) against the real packaged app. Refs #1377 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…r note (Refs #1377) Address adversarial accessibility-review notes on the baseline matrix: assert the dirty-close modal labels itself via aria-labelledby (heading association), and correct the scenario-j comment — Alt+ArrowRight reorders the active tab within the tablist rather than switching selection. Suite remains green (10/10). Refs #1377 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27eff2c
into
feat/keiko-agent-native-editor-foundation-and-runtime
12 checks passed
71 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to the merged #1519 that lands two test-only commits the squash-merge raced past. PR #1519 was squash-merged from its first commit (
d62cb464) before the post-open hardening commits synchronized, so the editor baseline matrix shipped on the feat branch with a tab selector that does not match the real DOM.Refs #1377 (Parent Epic #1491)
Problem
tests/e2e/support/editorWorkspace.tsdefinedtab: ".ed-tab[role='tab']", but in the editor DOM the outerspan.ed-tabcarriesdata-dirty/activewhilerole='tab'anddata-tip/aria-selectedlive on the innerbutton.ed-tab-hit. As merged, three baseline scenarios that read the dirty state through that selector fail to find any element:These are exactly the dirty-close and recovery behaviors named in Issue #1377 AC2, so the gate must be repaired for the acceptance criterion to hold.
Changes (test-infrastructure only)
tests/e2e/support/editorWorkspace.ts:tabselector →.ed-tab(the dirty/active-bearing span;role='tab'is on the.ed-tab-hitit wraps).tests/e2e/editor-baseline-1377.spec.ts:tabForlocates the dirty span via.ed-tab:has(.ed-tab-hit[data-tip=...]); adds an explicit dirty-close-dialogaria-labelledbyassertion (adversarial a11y-review note); corrects the scenario-j comment —Alt+ArrowRightreorders the active tab rather than switching selection.No product code, no CI workflow, no dependency, and no other spec is changed.
Verification
The matrix now passes all ten scenarios, including e/f/g, on the current feat base (which also carries the #1520 release-smoke fix).
🤖 Generated with Claude Code