Skip to content

fix(public): net the live site against WCAG 2.2 tap-target drift without blocking PRs - #152

Merged
nish3451 merged 36 commits into
mainfrom
fix/lane1-public-tap-targets-live-net
Aug 19, 2026
Merged

fix(public): net the live site against WCAG 2.2 tap-target drift without blocking PRs#152
nish3451 merged 36 commits into
mainfrom
fix/lane1-public-tap-targets-live-net

Conversation

@nish3451

Copy link
Copy Markdown
Collaborator

What

The WCAG 2.2 SC 2.5.8 24px tap-target fix has been merged in source twice (PR #22 footer, PR #25 in-content) and scripts/test-public-link-targets.mjs guards the worktree stylesheet (77 checks green on main). But the live site still serves the pre-fix June-20 bundle: rendered in-content links are ~17px, so the backlog item keeps re-opening.

This PR lands the live detector the same way #84 landed the soft-404 net:

  • scripts/check-public-live-tap-targets.mjs — fetches the deployed https://tinystudio.in/styles.css and re-asserts the five link rules the local suite requires (.top-nav a, .plain-list a, .product-links a, .rail-item strong a, .footer-links a: block-level box, min-height: 24px, ≥4px vertical padding). A non-2xx response or a stylesheet missing a rule fails loudly (the CodeRabbit P1 from fix(public): guard the live site against WCAG 2.2 tap-target drift (closes in-content link backlog item) #66); only a network-level failure skips; SKIP_LIVE_CHECKS=1 honored like sibling live checks.
  • npm run site:check-live now runs both live checks.
  • .github/workflows/live-site-check.yml gains a nightly + manual-dispatch live-tap-targets job.

Deliberately not part of npm test/npm ci — blocking chains stay green on repo state alone (PR #84); the nightly workflow is the staleness alarm.

Verify

  • node --check scripts/check-public-live-tap-targets.mjs clean
  • Against the current live stylesheet: 19 checks, 11 failures, exit 1 (the point of the net — public/ is compliant, the deployment is not; the red run is the signal to re-deploy from origin/main, not a reason to disable)
  • node scripts/test-public-link-targets.mjs → 77 checks, 0 failures (blocking chain untouched)
  • node scripts/test-public-soft-404.mjs → 19 checks, 0 failures
  • node scripts/test-deploy-public-site-workflow.mjs → 10 checks, 0 failures; node scripts/test-pages-release.mjs → 38 checks, 0 failures
  • git diff --check clean

Supersedes the stale, conflicting PR #107 (same change shape, now out of date against main's third live-check job).

Resolve

Once the Pages token is provisioned (the documented release-lane blocker), re-deploy from origin/main and this check must report 0 failures.

nish3451 and others added 2 commits August 14, 2026 17:32
…out blocking PRs

PR #22 (footer) and #25 (in-content) brought every link in public/styles.css
up to the WCAG 2.2 SC 2.5.8 24px minimum, and scripts/test-public-link-targets.mjs
guards the worktree sheet, but the backlog item keeps re-opening because the
live site still serves the pre-fix stylesheet (June-20 bundle), so rendered
in-content links are ~17px. PR #66 wired a live guard into the blocking
npm test/ci chain, but PR #84 established that the blocking chains must stay
green on repo state alone.

Land the detector the same way #84 landed the soft-404 net:
- scripts/check-public-live-tap-targets.mjs: fetches the deployed
  https://tinystudio.in/styles.css and re-asserts the five link rules the
  local suite requires (.top-nav a, .plain-list a, .product-links a,
  .rail-item strong a, .footer-links a: block-level box, min-height 24px,
  >= 4px vertical padding). A non-2xx response or a stylesheet that misses a
  rule fails loudly (the CodeRabbit P1 on #66); only a network-level failure
  skips, and SKIP_LIVE_CHECKS=1 is honored like the sibling live checks.
- npm run site:check-live entry point now runs both live checks.
- .github/workflows/live-site-check.yml gains a nightly + manual-dispatch
  live-tap-targets job.

Verify: node --check clean; against the current live stylesheet the check
reports 11 failures and exits 1 (the point of the net: public/ is compliant,
the deployment is not - the red run is the signal to re-deploy from
origin/main); npm test stays green (blocking chain untouched); git diff
--check clean.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nish3451, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 45 minutes

Limit details: You’ve used the included review currently available.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: d9c03bfa-16b3-4d7f-aed2-859402e08197

📥 Commits

Reviewing files that changed from the base of the PR and between d2ab2e2 and 20aa629.

📒 Files selected for processing (4)
  • .github/workflows/live-site-check.yml
  • .lane/reports/fix/lane1-public-tap-targets-live-net.md
  • package.json
  • scripts/check-public-live-tap-targets.mjs

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@nish3451
nish3451 merged commit be092b0 into main Aug 19, 2026
2 checks passed
nish3451 added a commit that referenced this pull request Aug 19, 2026
PR #152 landed a live-tap-targets job in live-site-check.yml at the same
place this branch adds live-social-preview. Kept both as separate jobs with
the same scaffolding; YAML re-validated.
nish3451 added a commit that referenced this pull request Aug 19, 2026
Workflow header comment conflicted with the WCAG tap-target wording PR #152
landed; merged both descriptions. package.json took main ci/test chains plus
this PR site:check-live-heading-hierarchy script.
nish3451 added a commit that referenced this pull request Aug 22, 2026
… live check now green (#221)

PR #22 fixed only footer links; PR #25 (b0f5f06) brought the in-content
links (top-nav, plain-list, product-links, rail-item strong a) up to the
WCAG 2.2 24px minimum and is merged on main. Static guard: 77 checks,
0 failures. Live guard: 32 checks, 0 failures — the stale-deployment
gap from the PR #152 lane is closed.

Co-authored-by: minimax-vps <minimax-vps@MiniMax.local>
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
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.

1 participant