Repository navigation
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Context
Follow-up to #1354 and the homepage performance stack ending in #1369. Track the remaining Lighthouse accessibility and SEO findings separately from performance and the deferred font-rendering investigation.
Baseline
Lighthouse 12.6.1, mobile, September 19, 2026: Accessibility 80 / SEO 58. These scores are the median of three runs; all three runs reported the same failed accessibility and SEO audits.
- Lighthouse summary on #1369
- Audited Cloudflare preview
- Full HTML and JSON reports
- PR head:
8562055b8609f0ea61777a41a3d172328d632f93
The findings below are captured here because CI report artifacts have limited retention. The preview SEO score is not a production SEO score.
Accessibility
-
color-contrast: improve the eight flagged elements. "Get started" and "Add Your Logo" use white on#e6484f(3.88:1); syntax tokens use#637cc1on#14162c(4.38:1) and#954121on#14162c(2.58:1); two installation captions use#979aadon white (2.78:1). The reported text sizes require 4.5:1. Check relevant interaction states as well. -
heading-order: restore a logical heading hierarchy. "Language Manual" is rendered as anh5that skips heading levels. Inspect sibling resource headings too; preserve visual styling independently of heading semantics. -
link-name: name the four footer icon links. GitHub, X, Bluesky, and the forum links currently have no accessible name. Verify meaningful names and keyboard access. -
meta-viewport: allow zoom and remove duplicate viewport declarations. Lighthouse reports two matching tags containingmaximum-scale=1. Remove the zoom restriction and check mobile zoom/reflow. -
target-size: fix the mobile template-card overlap. The ReScript & NextJS and ReScript & ViteJS links are reported as partially obscured, with only 8px of safe width and inadequate separation. Investigate responsive grid sizing and overlap, not just padding; verify usable targets across mobile widths and zoom levels.
SEO
-
robots-txt: investigate the HTML response for robots.txt. The preview report records 75 parsing errors because the response contains homepage HTML beginning with<!DOCTYPE html>, not robots directives. Check static-asset handling and route fallbacks. Serve a valid plain-text robots response with the intended status, content type, rules, and sitemap location; verify preview and production separately. -
is-crawlable: verify production indexability while preserving preview protection. The failed preview audit identifiesx-robots-tag: noindex. This is Cloudflare Pages' default behavior for preview deployments and should remain in place. Confirm that the production homepage is not unintentionally blocked by headers, metadata, or robots rules. Document the preview-only exception when interpreting scores; do not enable indexing of previews to improve Lighthouse.
Verification
- Run fresh mobile and desktop Lighthouse reports against a completed Cloudflare deployment and record before/after reports and scores.
- Resolve the actionable audit failures and document evidence for environment-specific exceptions.
- Add focused regression coverage for accessible link names, viewport configuration, heading structure, and the deployed robots.txt response.
- Manually check keyboard navigation, screen-reader link/heading navigation, and zoom/reflow. A Lighthouse score alone does not establish accessibility compliance.
- Verify production crawlability without removing preview
noindex.
No Lighthouse score thresholds should be introduced as part of this follow-up. Font flashing and JavaScript-based font-loading changes are outside this issue's scope.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Activity