Body text size
type:Smallest body text is 11px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
ecommerce · Aug 3, 2026
5/100 Sparse
Scores higher than 21% of 577 entry-page captures we have measured.
Walk 43 links seen, 36 walkable, and 0 matched a funnel step. If this funnel continues past the entry page, we did not reach it — everything below is measured from the entry page alone.
Measured by Roentgen 1.18 on 2026-08-03. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 15 that apply to an ecommerce funnel. Per device: desktop 5 · mobile 5.
this funnel’s coverage score across measured re-scans
measuredextracted directly from the live page. a fact, not an opinionthe entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionHair Loss Treatment for Men | Keeps
Keeps offers FDA-approved hair loss medications delivered to your door. Just answer a few questions and our Care Team will help you find the best hair treatment plan.
KEEP YOUR HAIR. REGROW WHAT YOU LOST.
TIME TO TAKE ACTION
Sexual Health
Hair loss treatment got an upgrade Rx
New formulas + fan favorites
Half the cost
Meet the Men of Action
Manage Preferences
GET STARTED
SIGN IN
CART
LEARN MORE
SEE ALL OUR PRODUCTS
PICK MY PLAN
Buy treatment
Submit
Support
$65
$25
$18
$10
$100
$5
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 opinion20% OFF
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 opinion4 of 18 measured checks need work1 could not be measured — not counted either way
Smallest body text is 11px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
Body line-height is 1×. tight enough to hurt readability.
FixSet body line-height to ~1.4-1.6×.
No <main> or <header> or <footer> landmark. screen-reader users cannot jump between regions.
FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).
54 of 81 interactive targets are under 44×44px on mobile.
smallest: “(unnamed)” at 24×24px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
1 paragraph runs past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:1 form field relies on placeholder text as the only label.
FixBack placeholders with a real <label>. placeholder text vanishes on input.
a11y:3 links use generic text (“click here” / “learn more”).
FixMake link text describe its destination out of context.
a11y:The landing page has 2 <h1> elements (expected 1).
FixUse exactly one <h1> as the page’s title.
a11y:1 heading skips a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.
FixStep heading levels one at a time; use CSS for size, not a deeper level.
a11y:No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
FixAdd a first-in-DOM <a href="#main"> that is visible on focus.
a11y:4 stylesheets/scripts in <head> block first paint.
FixDefer non-critical JS (defer/async) and inline only critical CSS.
weight:2 images are shipped at more than 2x the width shown.
FixServe responsive sizes (srcset/sizes) matching the rendered width.
weight:9 elements look clickable but cannot be reached by keyboard.
FixUse <button>/<a>, or add role + tabindex="0" and a key handler.
structure:No autocomplete attributes across 2 fields. browsers cannot autofill.
FixAdd autocomplete="email"/"tel"/"name" to identity fields.
forms:At least 2.3 MB across 110 measurable resources, but 45 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
weight:Text contrast (WCAG AA) · Mobile viewport · Language declared · Image alt text
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.
layers we ran on this funnel that came back empty
measuredextracted directly from the live page. a fact, not an opinionElements — the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text
Playbook match — which funnel play this page runs — measured, evidence-quoted
We ran these passes on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.