Smallest body text is 12px (base ~16px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
affiliate · Aug 9, 2026
25/100 Sparse
Scores above 12% of 1,252 multi-step funnels we have measured. Among the 73 affiliate funnels in that group, above 6%.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 10 that apply to an affiliate funnel.
Measured by Roentgen 1.20.1, one of our versioned rulesets. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.
Walk 152 links seen, 141 walkable, 1 matched, and we walked 2 pages.
the entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionAiToolsObserver | AI Tools Discovery, Insights & Trends
Discover AI tools, follow practical AI trends, save useful products, and explore curated insights, comparisons, launches, and real-world use cases.
Become an AI Tools Observer
Latest From Hub
Find AI Tools, Trends, and Use Cases
Rippling Launches AI Spend Console to Cut Enterprise Token Costs
Managing AI Coding Costs at Scale: 4 Proven Levers to Reduce LLM Spend
Cloudflare Open-Sources a Secure Vibe Coding Platform for Non-Coders
Cursor vs Claude Code vs Windsurf: Best AI Coding Tools in 2026
Cloudflare Launches Kitesurf: A Browser Designed for AI Agents, Not Humans
AMD Acquires Taalas to Build Hardwired AI Inference Chips+2 more, not shown
Join as an Observer
structural bands identified on this funnel, cropped from its own capture
measuredextracted directly from the live page. a fact, not an opinion
conversion tactics we could prove are present, with the on-page text that evidences each
measuredextracted directly from the live page. a fact, not an opinionranked list
logos: Chippy interface preview, Clawdi interface preview, Manus interface preview, Ocelot
applicable tactics we checked for and did not see on any step we reached
measuredextracted directly from the live page. a fact, not an opinionAbsence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.
contrast, mobile, typography, accessibility, weight — each with what would fix it
measuredextracted directly from the live page. a fact, not an opinion91% of measurable text passes WCAG AA. 4+ runs fail. 21% of text was unmeasurable (over images/gradients). not counted either way.
worst: “Observe AI.” at 1:1 (48px, #ffffff on #ffffff). needs 3:1
fix Raise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Responsive viewport meta is present.
Smallest body text is 12px (base ~16px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
Body line-height is 1.25×. tight enough to hurt readability.
fix Set body line-height to ~1.4-1.6×.
6 paragraphs run past ~95 characters per line.
fix Cap measure at ~60-75ch for comfortable reading.
html[lang] is set for screen readers.
All 67 content images carry alt text.
1 form field relies on placeholder text as the only label.
fix Back placeholders with a real <label>. placeholder text vanishes on input.
32 buttons/links have no accessible name (icon-only, no aria-label).
fix Add aria-label to icon-only buttons and links.
1 link uses generic text (“click here” / “learn more”).
fix Make link text describe its destination out of context.
No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
fix Add a first-in-DOM <a href="#main"> that is visible on focus.
1 control has an aria-label that does not contain its visible text, so voice-control users cannot activate it by saying what they see.
fix Make the accessible name start with the visible label text.
At least 1.3 MB across 38 measurable resources, but 60 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
4 stylesheets/scripts in <head> block first paint.
fix Defer non-critical JS (defer/async) and inline only critical CSS.
25 images are shipped at more than 2x the width shown.
“cursor-vs-claude-code-vs-windsurf-best-a” is 640px wide, displayed at 272px
fix Serve responsive sizes (srcset/sizes) matching the rendered width.
No <header> or <footer> landmark. screen-reader users cannot jump between regions.
fix Wrap the page in <header>, <main> and <footer> (or matching ARIA roles).
3 fields carry validation attributes (required/pattern/aria-invalid).
palette by on-page usage · type rendered live
measuredextracted directly from the live page. a fact, not an opinionBody copy in their text role, on a surface card.
Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.
We also looked for Elements and Playbook match, and found none on this funnel.