Context
Requested by @tobiu on 2026-09-19 while inspecting the native-speed cell-editing recording: the grid View/Body-sized focus outline should not appear. Reproduced in headed Chromium 153 at c27c6648f5c56a39828490eda99627e70ca9bb91, on test/playwright/component/apps/grid-cell-editing/index.html, viewport 1400×900.
Click a cell in the upper grid, then press ArrowRight. The active element stays grid.View. Pointer modality has outline-style: none; keyboard modality paints 2px solid rgb(26,115,232) around the 1398×386.25 View. All three Bodies retain outline-style: none. This is an explicit Neo style, not a browser-default Body ring.
The Problem
The frame encloses the entire scroll viewport, including the large empty area below the records. The operator requests removal of that default presentation. Keyboard focus ownership and navigation must continue to work.
The Architectural Reality
resources/scss/src/grid/View.scss selects .neo-focus-keyboard:focus and supplies a hardcoded blue fallback to --grid-view-focus-outline.
- Pointer modality already suppresses the frame.
- #15195 intentionally centralized focus and key handling on View and kept Bodies as delegates. Its ownership repair remains correct; this follow-up changes the default visual presentation.
The Fix
Change the default View outline presentation in the existing stylesheet, retaining the existing custom-property hook for an explicit application/theme override. Update the adjacent comment and affected focus assertions to describe the new default. Preserve View as the keyboard anchor and existing selection/editor focus cues. No new module or API is needed.
Contract Ledger
| Surface |
Authority |
Delivered behavior |
Compatibility / evidence |
| Default View focus presentation |
Operator direction; grid/View.scss |
No viewport-sized default outline |
Real pointer→keyboard and editor→View paths in both Neo themes |
| Logical focus/key ownership |
#15195; grid.View |
Unchanged View-owned focus, selection and navigation |
Active element, selection, edit terminal and scroll-stability assertions |
--grid-view-focus-outline |
Existing stylesheet hook |
Explicit override remains usable |
Override control, without restoring a default full-View frame |
Acceptance Criteria
Out of Scope
Changing selection semantics, per-Body focus ownership, global application focus styles, column widths, or header-gap appearance.
Related: #15195, #9496, #18762 (where the observation surfaced). This is a standalone visual follow-up.
Decision Record impact: none.
unowned-rationale: operator-requested follow-up, ready for a bounded styling pickup; the author is completing #18954's review loop.
Origin Session ID: 553fd0f7-80d4-4937-884a-7dfcad72e19a
Retrieval Hint: grid whole View keyboard outline neo-focus-keyboard spare viewport
Sweep receipt: live latest-open and A2A recency checked immediately before filing. MC recovered the intentional #15195 ownership/modality decision, not an equivalent open presentation ticket. #9496 is navigation scope; own #18954 is an edit terminal, not this style change. KB lookup was inconclusive; local/history reads confirmed the predecessor.
Context
Requested by @tobiu on 2026-09-19 while inspecting the native-speed cell-editing recording: the grid View/Body-sized focus outline should not appear. Reproduced in headed Chromium 153 at
c27c6648f5c56a39828490eda99627e70ca9bb91, ontest/playwright/component/apps/grid-cell-editing/index.html, viewport 1400×900.Click a cell in the upper grid, then press ArrowRight. The active element stays
grid.View. Pointer modality hasoutline-style: none; keyboard modality paints2px solid rgb(26,115,232)around the 1398×386.25 View. All three Bodies retainoutline-style: none. This is an explicit Neo style, not a browser-default Body ring.The Problem
The frame encloses the entire scroll viewport, including the large empty area below the records. The operator requests removal of that default presentation. Keyboard focus ownership and navigation must continue to work.
The Architectural Reality
resources/scss/src/grid/View.scssselects.neo-focus-keyboard:focusand supplies a hardcoded blue fallback to--grid-view-focus-outline.The Fix
Change the default View outline presentation in the existing stylesheet, retaining the existing custom-property hook for an explicit application/theme override. Update the adjacent comment and affected focus assertions to describe the new default. Preserve View as the keyboard anchor and existing selection/editor focus cues. No new module or API is needed.
Contract Ledger
grid/View.scssgrid.View--grid-view-focus-outlineAcceptance Criteria
Out of Scope
Changing selection semantics, per-Body focus ownership, global application focus styles, column widths, or header-gap appearance.
Related: #15195, #9496, #18762 (where the observation surfaced). This is a standalone visual follow-up. Decision Record impact: none. unowned-rationale: operator-requested follow-up, ready for a bounded styling pickup; the author is completing #18954's review loop. Origin Session ID: 553fd0f7-80d4-4937-884a-7dfcad72e19a Retrieval Hint: grid whole View keyboard outline neo-focus-keyboard spare viewport
Sweep receipt: live latest-open and A2A recency checked immediately before filing. MC recovered the intentional #15195 ownership/modality decision, not an equivalent open presentation ticket. #9496 is navigation scope; own #18954 is an edit terminal, not this style change. KB lookup was inconclusive; local/history reads confirmed the predecessor.