mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 06:06:37 +03:00
See through versioned stylesheets and catch standard-tracked kickers
Paul's codex build carried an element literally named class="kicker" and the detector returned one finding. Two independent blind spots: - The linked stylesheet was styles.css?v=3, and the href resolved as a literal path with the query string in it, so the whole sheet was invisible to every element-level check: 1 finding with the link, 18 with the CSS inlined. Hrefs now strip query and hash before resolving. - The kicker gate demanded letter-spacing >= max(1px, 0.08 * size). The wild's most common recipe, 0.08em at 12px, computes to 0.973px and lost to the absolute floor by a fraction. The floor is now purely proportional (0.06 * size), with a fixture case pinning the exact shape that slipped through. With both fixed, the failed codex build scans at 18 findings including its numbered section kickers (numbered-section-labels), side-tab stripe, and grid background. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
28af30eff0
commit
cfb6274a18
@@ -2523,7 +2523,11 @@ function isKickerCandidate(opts) {
|
||||
|| isSmallCaps;
|
||||
if (!isUppercased) return false;
|
||||
if (!(kickerFontSize > 0 && kickerFontSize <= 14)) return false;
|
||||
const minTrackedSpacing = Math.max(1, kickerFontSize * 0.08);
|
||||
// Proportional only, no absolute floor: the wild's most common recipe is
|
||||
// 0.08em at a sub-13px size, which computes to under 1px and sailed past
|
||||
// the old Math.max(1, ...) floor (observed live: a page whose kickers were
|
||||
// literally class="kicker" produced zero findings).
|
||||
const minTrackedSpacing = kickerFontSize * 0.06;
|
||||
if (!(kickerLetterSpacing >= minTrackedSpacing)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user