Repository navigation
fix: settle the owner's open calls and keep hover popups reachable - #75
Merged
Merged
Conversation
The owner chose to keep both code and terminal background pairs and scope them (D-039, values unchanged), to name the bright dashed ring once as focus.ring-contrast (D-040) for the twelve components that wrote it out, to keep a loading indicator's label always visible, and to move D-031's CI rules to docs/ci.md. The progress spec no longer suggests a track that fails 3:1. The token inspector and the tooltip hid as soon as the pointer left their trigger, so a pointer could not reach a long, scrolling inspector or cross to a tooltip wider than its trigger. Both now keep the popup while the pointer crosses to it and close 300 ms after it leaves both (WCAG 1.4.13); the inspector stops following the pointer once the pointer is on it. New browser tests fail on a037617 and pass here. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The code review found three regressions in the hover fix. A leave during the first data load now cancels the open, so a late response cannot show a stale panel. The hex preview closes the inspector properly, so returning to the same token reopens it. Pointer movement never hides a panel that holds keyboard focus. Each has a browser regression test. The spec review found three text defects. The tooltip's web guidance now states the 300 ms close delay. D-039 names the ports that map each background instead of claiming every port does. Only the reachable kind of hover popup waits before closing, so D-014's passive preview is unaffected. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The delta reviews found that a pointer leaving during the first data load cancelled a pending keyboard open, and that hovering a hex swatch hid an inspector holding focus, contradicting the new spec text. Pointer handling now leaves the inspector alone while its token or its content holds focus; the spec and changelog say so. Two browser tests cover both paths. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The second code review found that hovering another token replaced a panel holding keyboard focus, dropping focus to the page, and cancelled a focused token's pending open. While a token or its panel holds focus, hovering other tokens now leaves the panel alone. Focus that leaves for the page background closes a panel the pointer is not on. A browser test covers each path. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Review found three more gaps against the hover popup rules. Focus leaving for the page background while the inspector data loads now cancels the pending open. The panel moves again on scroll and resize, beside the pointer or anchored to its token, and its width never exceeds the viewport minus the gutter. The other-token test now hovers a token the panel does not cover. Browser tests cover each path. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The delta reviews found the scroll and resize repositioning incomplete: a keyboard-anchored panel could follow its token out of the viewport, and a panel under the pointer was not moved on resize. Anchored placement now clamps to the 8px gutter, and a hovered panel is clamped where it is. A fixed popup left near the right edge shrank to the space left, so its measured width was wrong after a resize. Placement now measures popups at their natural size; the hex preview, which shares the pointer placement, keeps its 8px gutter the same way. Browser tests cover the token scrolling away, the viewport narrowing and the hovered resize. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The hosted checks found tests/orca-install.test.js tampering with the release export by replacing the text "Terminal background.". D-039's new description removed that text, so the tamper changed nothing and the test failed. terminal.bg is the terminal background ports map, so its description now starts with that sentence again. The test runs only where PowerShell is installed, so the local suite skipped it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
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.
Settles the owner calls left open by #74, and makes hover popups reachable.
Owner decisions
surface.codeandsurface.terminal(pure black) are what a static code block or a terminal pane sits on.code.bgandterminal.bg(#0c0909) fill the inside of an editor and a terminal grid;terminal.bgequals ANSI 0. Values are unchanged, so port artifacts change only in their token digests.focus.ring-contrast. This new composite role is the 1px dashed control ring ininteraction.focus.ring-container. Twelve components wrote it out longhand: four for controls on a fill, eight for invalid fields beside the danger border. They now use the role. Computed outlines are unchanged in all three profiles, and every port classifies the role.docs/ci.md. The decision keeps the choice, reason and status, and AGENTS.md links the new page.Also: the progress spec no longer suggests a track that fails 3:1 (
action.primary.bgonsurface.canvasis about 2:1). The menu-button, toolbar-button and toast action looks stay as declared. The code-editor naming was already settled.Hover popups
The token inspector and the package tooltip hid as soon as the pointer left the trigger. So a pointer could not reach a long, scrolling inspector, or cross to a tooltip wider than its trigger. They now follow
spec/foundations.md(hover popups) and WCAG 1.4.13:Browser tests in
tests/browser/hover-popups.spec.jscover each path. Each test was shown failing on the commit before its fix:a0376173;Checks
npm run test:allsteps, browser part at 6 workers): validate, check,npm test, pinned build,test:dist,ui:consumers,test:uion Chromium and Firefox, the browser matrix (553 passed, 0 failed) and the verification report, check and test all pass.focus.ring-contrast), the loading label,docs/ci.md, and G3 merge remotely.Hosted CI on 604c614 caught a hidden coupling:
tests/orca-install.test.js, which runs only with PowerShell, tampers with the export by replacing the text "Terminal background.", and D-039's new description had removed it.terminal.bg's description starts with that sentence again (d2360af). The test still depends on prose, so it should target a stable value when its owner next edits it.Not run
ui:reportandui:publish-evidencelocally: this host lacks WebKit's system libraries. The full-matrix workflow dispatch covers them.🤖 Generated with Claude Code