Fix

Your page reads like a contract

The pages shoppers most need to understand — delivery, returns, sizing, the fine print — are usually the hardest reading on the whole site. A plain-language summary at the top hands the same facts to the readers the dense version locks out.

Review queue WCAG

Who this locks out

Page text that reads like a contract shuts out people with cognitive differences, dyslexia or ADHD.

  • Shoppers with cognitive differences, for whom dense text is a wall rather than a chore
  • Dyslexic readers, who pay for every long sentence twice — once to decode it, once to understand it
  • Shoppers with ADHD, who lose the thread of a paragraph three clauses in
  • Deaf readers whose first language is British Sign Language, reading English as a second language

The transform

Before

<main id="main-content"><h1>Delivery, returns and international consignments</h1>

After

<main id="main-content"><section class="klarvo-simplified-summary" role="note" aria-labelledby="klarvo-summary-h"><h2 id="klarvo-summary-h">Simplified summary</h2><p>We post orders every weekday. UK delivery takes two to four days. You can return anything within thirty days.</p><p class="klarvo-summary-provenance">Plain-language summary provided by this store.</p></section><h1>Delivery, returns and international consignments</h1>

Detection

How this is tested here

Every scan runs three independent engines and 19 custom checks against your rendered pages, and records which engine flagged what. These are the real rules behind this fix family.

WCAG success criteria this family covers, and the engine rules that detect them. Generated from the engine's own tables — never edited by hand.
Criterion Level Detected by What we do

What Klarvo Access does

Klarvo measures the reading grade of your main text, drafts a plain-language summary, audits the draft against your own page text, and sends it to your review queue — it is never applied automatically, and only words you approve are served.

Review queue

Generated with a proposed value, then queued for you to approve, edit or reject. It is never applied silently, because this one is a judgement call.

An automated finding is evidence, not a certificate. Conformance is certified only by the professional audit — how that works.

Do it yourself

Fixing this by hand

What dense text costs your store

Open your own delivery page and read it as a stranger. The odds are it talks about consignments being dispatched, goods being deemed accepted, remedies being reserved. The information a shopper needs before they will type in a card number — when it arrives, what it costs, how to send it back — is in there somewhere, wrapped in the register of the supplier contract it was copied from.

For most readers that is friction. For a lot of real customers it is a wall:

  • A shopper with a cognitive disability can read every word and still come away without the one fact they needed — long sentences stack clauses faster than working memory can hold them.
  • A dyslexic reader pays for every sentence twice, once to decode it and once to understand it. Dense text turns a two-minute question into a ten-minute job with no promise of an answer at the end.
  • A reader with ADHD loses the thread three clauses in, restarts the paragraph, loses it again, and leaves.
  • Many Deaf readers grew up with British Sign Language, which is a full language of its own, not English on the hands. Written English is their second language, and legal-register English is the hardest kind of it.

None of these shoppers emails you to say the returns page defeated them. They stop, and the abandoned basket looks like every other abandoned basket.

W3C guidance has a specific, practical answer for exactly this: put a short summary, readable at lower-secondary level, in front of the dense text (technique G86). The dense version can stay — sometimes it must, because precision is the point — but it stops being the only way in.

One thing said plainly before anything else: reading level is WCAG 3.1.5, a Level AAA criterion. It is guidance, not an AA obligation, and it is never reported here as a failure. This family exists because the readers are real, not because a rule demands it.

How it is detected here

None of the three engines in the scan measures reading level — there is no axe rule to point at. This finding is Klarvo’s own deterministic measure, and it works like this:

  • The scan takes the main text of the page: the main or article element, a classic theme’s entry-content wrapper, or — failing those — the body with the navigation, header, footer and asides stripped away. Menus and cookie banners are not prose, so they are not measured.
  • Over that text it computes a Flesch-Kincaid grade, the decades-old readability formula, with pinned constants: 0.39 times the average words per sentence, plus 11.8 times the average syllables per word, minus 15.59. Long sentences and long words are the whole story.
  • A finding fires when the text measures above grade 9 — roughly the reading ability expected at lower-secondary school — and the finding names the exact grade measured, so you can see how far past the line the page sits.
  • Under four hundred characters of main text there is nothing meaningful to measure, so the scan stays honestly silent. Longer pages are measured over their first twenty thousand characters.

Two honest limits. The formula counts, it does not comprehend — it is a heuristic for English text, and a syllable counter is always an approximation. And a number can never tell you what the page ought to say. That is why the measured grade arrives as a best-practice line in your report with the AAA context attached, and why everything that happens next involves a human.

What Klarvo does about it

This family is review tier, with the most conservative mechanism in the product: the machine drafts, and only you publish. Auto-apply does not exist on this path — it is not a setting that defaults to off, it is unreachable by construction. Even a draft that clears every check still lands in your review queue.

The pipeline runs in gates:

  1. The page is fetched and measured again at remediation time. If the text no longer measures above the target — you rewrote it, or the page changed — the honest outcome is no draft at all, not a summary nobody needs.
  2. A generation model drafts the summary: forty to a hundred and twenty words, British English, short sentences, everyday words, and only facts that appear in your page text. It is instructed never to invent, never to advise and never to promise — and to treat your page text as data, not as instructions.
  3. A deterministic pre-check reads the draft. A simplified summary must itself be simple: grade 12 or below on the same formula, forty to a hundred and fifty words, no banned phrasing. A draft that fails is discarded on the spot — it never reaches your queue marked ready. That ceiling is deliberately not the grade 9 that triggers the finding: grade 9 answers “is this page hard enough to deserve a summary?”, and holding the drafts themselves to it discarded good summaries of genuinely dense pages — plain hundred-word drafts of a page measuring past grade 30 land around grade 9 to 10, and a single unavoidable long word tips them over. Nothing is served on the pre-check alone; a draft that clears it still waits for you.
  4. A second, independent audit model — one that did not write the draft — verifies it against your page text alone: every claim supported by the source, nothing material misstated (prices, timescales, policies), and it must read as a summary of this page rather than boilerplate that could sit anywhere. It is told to be conservative: unclear support is a fail, and a draft the audit cannot vouch for is routed to expert eyes instead of being presented as ready.
  5. You approve the words — or rewrite them first. The queue is an editor, not a yes/no button, and only text you approve is ever served.

What serving means, precisely: the WordPress plugin adds one labelled block to the HTML your store sends — a section with role="note", the heading “Simplified summary”, your approved text, and a provenance line reading “Plain-language summary provided by this store.” It is inserted immediately after the opening <main> tag, or after <body> when the page has no main. This is a server-side change to the served page — never an overlay, never a script running in the visitor’s browser.

The block is built defensively. The text is HTML-escaped on the way out, and the plugin refuses anything that looks like markup or runs past two thousand characters — only bounded plain text is ever served. Approving a re-worded version replaces the existing block in place; it is never doubled. A malformed document is left byte-for-byte untouched rather than guessed at. Deactivate the plugin and every applied change reverts.

Then the engine checks the work: it independently re-fetches the live page, confirms your approved text — character for character — is present in what a real visitor receives, and writes that observation into an append-only conformance record. This first release drafts one summary per site, for the scanned primary page.

How to fix it yourself

You do not need software for this. You need ten minutes and a reader’s ruthlessness.

1. Write the summary — forty to a hundred and fifty words. The rules the engine’s pre-check enforces are the same ones that work by hand:

  • One idea per sentence, and most sentences under fifteen words.
  • Everyday words. The register you want is a helpful colleague, not a contract.
  • Only facts that are on the page. If the summary needs a fact the page never states, the page is missing it for everyone.
  • No selling. A summary that says “our amazing hassle-free returns” has stopped being a summary.
Instead ofWrite
Consignments are dispatched within one working dayWe post orders every weekday
Goods may be returned within thirty days of receiptYou can return anything within thirty days
In the event of non-deliveryIf your order does not arrive
Prior to initiating a returnBefore you send anything back

2. Check the grade. Most word processors report a Flesch-Kincaid grade in their readability statistics — aim for grade 9 or below. That is the plain-language target, deliberately stricter than the grade 12 ceiling the engine’s own pre-check enforces on a machine draft. No tool to hand? Read it aloud. Anywhere you draw breath mid-sentence, split the sentence.

3. Place it first, and label it. In the block editor, add a Group block at the very top of the content with a heading and a short paragraph. In a classic theme, the markup is:

<section class="store-summary" role="note" aria-labelledby="store-summary-h">
  <h2 id="store-summary-h">Simplified summary</h2>
  <p>We post orders every weekday. UK delivery takes two to four days.
     You can return anything within thirty days for a full refund.
     Email us if you need help.</p>
</section>

The heading is not decoration: screen-reader users navigate by headings, and it announces what the block is before anyone reads a word of it. To add the block from a child theme rather than editing the page, prepend it through the_content:

add_filter( 'the_content', function ( $content ) {
	if ( ! is_page( 'delivery-and-returns' ) ) {
		return $content;
	}
	$summary = '<section class="store-summary" role="note" aria-labelledby="store-summary-h">'
		. '<h2 id="store-summary-h">' . esc_html__( 'Simplified summary', 'your-child-theme' ) . '</h2>'
		. '<p>' . esc_html__( 'We post orders every weekday. UK delivery takes two to four days. You can return anything within thirty days for a full refund.', 'your-child-theme' ) . '</p>'
		. '</section>';
	return $summary . $content;
} );

4. Then simplify the body itself where you can. The summary is the right tool when the underlying text has to stay precise — some legal and regulated wording does. Everywhere else, W3C technique G153 is the deeper fix: shorter sentences, active voice, concrete words. That version helps every visitor, including the ones merely in a hurry.

How you know it worked

  1. Give the summary — only the summary — to someone who has never seen the page, and ask them the questions the page exists to answer: when does it arrive, what does it cost, how do I send it back. If they answer without scrolling, it works.
  2. View source on the live page and search for the block. It should appear exactly once, immediately after the opening <main> tag, with your approved words inside it. The engine’s re-check looks for precisely this; look once with your own eyes too.
  3. Walk it with a screen reader: VoiceOver (Cmd+F5) or NVDA should reach the “Simplified summary” heading within the first few navigation steps inside the main content.
  4. Edit and re-approve the wording, then view source again: the block must be replaced, not doubled.
  5. Do not expect the measured grade to fall. A hundred plain words cannot outweigh several thousand dense ones, and the summary is not there to move a number — the dense-text finding may honestly remain in your report as best practice. What changed is the part that matters: the reader who was locked out now has a way in, and the live page proves it on every fetch.

Sources: W3C WAI — Understanding SC 3.1.5: Reading Level · W3C WAI — Technique G86: Providing a text summary that can be understood by people with lower secondary education level reading ability · W3C WAI — Technique G153: Making the text easier to read · W3C — Making Content Usable for People with Cognitive and Learning Disabilities · WebAIM — Cognitive Disabilities

FAQ

Questions this raises

Will the summary change how my page looks?

Yes, visibly and on purpose. It is one labelled section at the top of your main content, styled by your own theme, and it appears only after you have approved the exact words. The full text below it stays exactly as you wrote it — the summary sits above the detail, it never replaces it.

Is a hard-to-read page a WCAG failure?

No. The relevant guidance, WCAG 3.1.5 Reading Level, sits at Level AAA — a step above the Level AA target that accessibility law references. Klarvo reports dense text as best practice to act on, never as an AA failure, and the summary follows the direction of that guidance rather than claiming a criterion met.

What stops the AI inventing facts about my store?

Three gates sit between the draft and your customers. A second, independent audit model checks every claim against your page text alone and is instructed to fail anything it cannot support. A deterministic pre-check discards any draft that is not itself plain language. And nothing is served until you approve the words — you can rewrite them first, and only your approved text goes live.

Find out whether your store has this one.

The free scan checks your real pages — home, product, populated basket, hydrated checkout — with all three engines and all 19 Klarvo checks, and tells you exactly what it found and where.