Automattic / Automattic/data-liberation-agent
Portable exports lose initial hidden state of keyboard-revealed skip controls
- Dominant language
- TypeScript
- Stars
- 31
- Forks
- 3
- Avg merge
- 10h 14m
- Merged PRs (30d)
- 81
Description
## Problem
A live source renders keyboard skip controls only when focused. Its portable capture renders the same controls in ordinary layout before focus, changing both visual parity and the interaction contract before conversion begins.
## Reproduction shape
A provider-rendered button has a focus-visible skip label and runtime attributes. In the live browser, before focus it has no visible bounding box; after Tab it becomes visible and focusable. In the portable export, the same button is visible before focus.
## Expected
Portable capture should retain the source browser initial computed state and the focus-visible transition for keyboard skip controls. A downstream converter must not invent that missing state.
## Acceptance
- A capture fixture records pre-focus and post-Tab computed style and bounding geometry for a keyboard skip control.
- The portable artifact matches the live source at rest and after focus.
- Export diagnostics identify an unavailable source runtime/style dependency rather than producing a parity-looking artifact with changed accessibility behavior.
## AI assistance disclosure
GPT-6 Astra via OpenCode was used to compare live and portable browser states, identify the capture-stage ownership boundary, and draft this issue. A human directed scope and review.
Contributor guide
Research direction
No file or test is named. Start by tracing the capture stage and its handoff to portable export, then compare the keyboard skip control before focus and after Tab using computed style, geometry, and runtime attributes. Done means the artifact preserves both states and reports unavailable source runtime or style dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- accessibility, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100