Smallest body text is 12px (base ~12px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Aug 9, 2026
35/100 Sparse
Scores above 25% of 1,252 multi-step funnels we have measured. Among the 959 saas funnels in that group, above 14%.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 11 that apply to a saas 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 84 links seen, 73 walkable, 2 matched, and we walked 3 pages.
the entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionAbout Mermaid | Mermaid
Create diagrams and visualizations using text and code.
About Mermaid
What are you looking for?
📔 Introduction
📊 Diagram Syntax
📚 Ecosystem
⚙️ Deployment and Configuration
🙌 Contributing
📰 Latest News
Diagram Types +8 more, not shown
Just exploring, skip for now
Search Ctrl K
11.16.1
Get started
Ctrl + Enter | Run ▶
Run ▶
Edit this page on GitHub
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 opinionStart free
documentation
logos: Mermaid, Build CI Status, NPM, Coverage Status, CDN Status
Start free
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 opinion92% of measurable text passes WCAG AA. 4+ runs fail.
worst: “Start” at 1.61:1 (16px, #cccccc on #ffffff). needs 4.5: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 ~12px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
Body line-height is 1.2×. 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 8 content images carry alt text.
4 buttons/links have no accessible name (icon-only, no aria-label).
fix Add aria-label to icon-only buttons and links.
12 headings skip a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.
fix Step heading levels one at a time; use CSS for size, not a deeper level.
3 controls have 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 2.6 MB across 77 measurable resources, but 115 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
1 stylesheet/script in <head> block first paint.
fix Defer non-critical JS (defer/async) and inline only critical CSS.
7 images are shipped at more than 2x the width shown.
“book-banner-post-release.DBlRGW2R.jpg” is 2560px wide, displayed at 688px
fix Serve responsive sizes (srcset/sizes) matching the rendered width.
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 Sections, Elements and Playbook match, and found none on this funnel.