Skip to content

Do not classify fixed-position skip links as button blocks - #767

Open
chubes4 wants to merge 2 commits into
trunkfrom
fix/issue-756-skip-link-classification
Open

Do not classify fixed-position skip links as button blocks#767
chubes4 wants to merge 2 commits into
trunkfrom
fix/issue-756-skip-link-classification

Conversation

@chubes4

@chubes4 chubes4 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Root cause

Fixed and absolute fragment-navigation anchors can carry the same visual surface declarations as calls to action. ButtonsPattern therefore promoted skip links to core/button, moving their fixed geometry onto generated button wrappers.

Generic fix

Classify positioned, non-button fragment links as native anchors before button matching in both single-anchor and anchor-row paths. Their valid paragraph carrier is marked display: contents so it does not introduce document flow, while the source anchor retains selectors and focus behavior. Ordinary styled fragment CTAs and explicit role="button" controls continue through core button conversion.

Tests

  • php tests/unit/button-signal-classifier.php (32 assertions)
  • composer test (canonical contracts, unit suite, 258 parity fixtures, package install proof)

Fixture-89 Evidence

Final combined SHA: 50309edbc004370de3f3c2468f013b0eee4fa1ce

  • Visual: 0/10,325,760
  • Native: 170/170
  • Editor: 340/340
  • Core/html/warnings/findings: zero
  • Dimensions: 1280x8067

Fixes #756.

AI assistance

model gpt-5.6-sol using OpenCode analyzed the classifier path, rebuilt the commits with disclosure, implemented the generic repair, and ran verification. Chris Huber is responsible for every line.

chubes4 added 2 commits August 1, 2026 22:23
AI assistance: model gpt-5.6-sol using OpenCode identified the generic positioned-fragment navigation classification repair and added regression coverage. Chris Huber is responsible for every line.
AI assistance: model gpt-5.6-sol using OpenCode implemented the valid zero-flow carrier for positioned fragment links and extended regression coverage. Chris Huber is responsible for every line.
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.

Do not classify fixed-position skip links as button blocks

1 participant