Skip to content

fix: Lighthouse CI tests canonical upstream URL#430

Merged
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:fix/lighthouse-canonical-url
Apr 13, 2026
Merged

fix: Lighthouse CI tests canonical upstream URL#430
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:fix/lighthouse-canonical-url

Conversation

@raifdmueller
Copy link
Copy Markdown
Contributor

Summary

Lighthouse CI has been failing on every merge to main since 2026-04-06 (10 consecutive failures). Root cause: `.lighthouserc.json` tests `https://raifdmueller.github.io/Semantic-Anchors/\` — the fork URL, which is a leftover from when development happened in the fork before the move to upstream.

The fork's GH Pages site hasn't been redeployed since 2026-03-27 (verified via HTTP `last-modified` headers):

URL last-modified
`llm-coding.github.io/Semantic-Anchors/` 2026-04-13 21:13 (current)
`raifdmueller.github.io/Semantic-Anchors/` 2026-03-27 12:45 (stale)

So every merge to upstream triggered Lighthouse against a 2+ week old snapshot of the site, producing stale Performance/Accessibility scores that had nothing to do with the actual code changes.

Fix

Point `.lighthouserc.json` at `https://llm-coding.github.io/Semantic-Anchors/\` — the canonical deployed URL that `deploy.yml` actually publishes to.

Test plan

  • After merge, Lighthouse CI runs against the canonical URL
  • Chronic failure streak ends (or surfaces a real perf/a11y issue on the actual site, which would then be a separate fix)

🤖 Generated with Claude Code

The Lighthouse CI job in test.yml has been failing on every merge to
main since at least 2026-04-06 (10 consecutive failures) because
.lighthouserc.json tests https://raifdmueller.github.io/Semantic-Anchors/
— the fork URL, which is a leftover from when development happened in
the fork before the move to upstream.

The fork GH Pages site hasn't been redeployed since 2026-03-27
(confirmed via HTTP last-modified headers), so Lighthouse is testing an
outdated snapshot that doesn't reflect anything recent.

Point the test at https://llm-coding.github.io/Semantic-Anchors/ —
the canonical deployed URL that deploy.yml actually publishes to.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 13, 2026

Warning

Rate limit exceeded

@raifdmueller has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 25 minutes and 49 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 25 minutes and 49 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 46624f52-d889-42f0-87de-b3a8ee7d51a2

📥 Commits

Reviewing files that changed from the base of the PR and between 7e7a690 and 7b28913.

📒 Files selected for processing (1)
  • website/.lighthouserc.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rdmueller rdmueller merged commit ddcf64e into LLM-Coding:main Apr 13, 2026
7 checks passed
raifdmueller added a commit to raifdmueller/Semantic-Anchors that referenced this pull request Apr 14, 2026
Addresses real failures surfaced after PR LLM-Coding#430 pointed Lighthouse at
the canonical deployed URL instead of the stale fork URL.

## Accessibility (0.92 → target 1.0)

### aria-allowed-role + label-content-name-mismatch
Anchor cards used <article role="button" aria-label="Open {title}
details">, which fails two axe rules:
- <article> has implicit role "article"; overriding to "button" is
  invalid per ARIA in HTML spec
- aria-label started with "Open" instead of the visible h3 text, so
  the accessible name didn't match the visible label

Fixed by changing <article> to <div role="button"> and using
aria-labelledby pointing at the h3 id. Accessible name now exactly
matches the visible title.

Event delegation uses the .anchor-card class, not the tag name, so
nothing breaks.

### select-name
#header-role-filter had no associated label. Added aria-label
referencing the existing "All roles" translation string.

### color-contrast
.meta-badge text inherited .anchor-card-meta's gray-500/400 colors,
which only reach ~3.9:1 (light) / ~3.1:1 (dark) on the badge's
gray-100/700 background — below the WCAG AA 4.5:1 threshold for
normal text. Explicitly set gray-700/200 on .meta-badge for ~5.3:1
in both themes.

## Performance (0.75 → target ≥ 0.9)

### cumulative-layout-shift (weight 25)
#page-content started empty and populated asynchronously with the
card grid, causing the single biggest CLS contributor on the page.
Added min-height: calc(100vh - 12rem) to reserve viewport space so
the browser doesn't shift layout when the content arrives.

### unsized-images
Logo images (header + onboarding modal) had no explicit width/height,
so the browser couldn't reserve space and had to reflow when the
image loaded. Added width/height attributes derived from the actual
logo.png aspect ratio (1024×451) and added w-auto so the CSS height
constraint still wins visually.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants