Write in plain language
Content uses clear, simple language that is easy to understand for users with cognitive disabilities and non-native speakers.
- Use short sentences and common words
- Define technical terms when first used
- Write in active voice, not passive
- Target reading level appropriate for your audience (often 8th grade)
Rule Details
Plain language makes your content accessible to the widest possible audience.
Code Examples
❌ Complex:
"Users are required to utilize the authentication mechanism
to facilitate access to the aforementioned functionality."
✅ Plain:
"Sign in to use this feature."❌ Passive and wordy:
"The form should be completed by the user before
submission can be processed."
✅ Active and direct:
"Complete the form, then click Submit."❌ Jargon-heavy:
"Leverage the API endpoints to programmatically
interface with our platform's functionality."
✅ Plain:
"Use our API to connect your app to our service."Why It Matters
Plain language helps users with cognitive disabilities, learning differences, attention disorders, non-native speakers, and anyone reading quickly or under stress.
Writing Guidelines
| Avoid | Use Instead |
|---|---|
| Long sentences (30+ words) | Short sentences (15-20 words) |
| Passive voice | Active voice |
| Jargon and acronyms | Common words, spell out acronyms |
| Abstract concepts | Concrete examples |
| Double negatives | Positive statements |
Technical Content
// ❌ Complex error message
const errorMessage = `
Authentication credentials have failed verification
against the identity provider. Please rectify the
supplied parameters and reattempt the operation.
`
// ✅ Plain error message
const errorMessage = `
Your password is incorrect. Please try again
or click "Forgot password" to reset it.
`Structure for Clarity
// ❌ Wall of text
<p>
To complete your purchase you need to add items to your cart
then proceed to checkout where you'll enter your shipping
information and payment details before confirming your order
and receiving a confirmation email with tracking information.
</p>
// ✅ Scannable steps
<ol>
<li>Add items to your cart</li>
<li>Click Checkout</li>
<li>Enter your shipping address</li>
<li>Add payment details</li>
<li>Confirm your order</li>
</ol>
<p>We'll email you a confirmation with tracking info.</p>Defining Technical Terms
function HelpText({ term, definition }: { term: string; definition: string }) {
return (
<span className="term-with-definition">
{term}
<span className="definition" role="definition">
({definition})
</span>
</span>
)
}
// Usage
<p>
Your data is protected with <HelpText
term="encryption"
definition="a way of scrambling data so only you can read it"
/>.
</p>Readability Testing Tools
// Simple readability check: sentence length
function checkSentenceLength(text: string): string[] {
const sentences = text.split(/[.!?]+/)
const warnings: string[] = []
sentences.forEach((sentence, index) => {
const wordCount = sentence.trim().split(/\s+/).length
if (wordCount > 25) {
warnings.push(`Sentence ${index + 1} has ${wordCount} words. Consider splitting.`)
}
})
return warnings
}Checklist for Plain Language
## Content Review Checklist
### Sentences
- [ ] Average sentence length under 20 words
- [ ] One idea per sentence
- [ ] Active voice (subject-verb-object)
### Words
- [ ] Common words over jargon
- [ ] Acronyms spelled out on first use
- [ ] Technical terms defined
### Structure
- [ ] Short paragraphs (2-4 sentences)
- [ ] Headings describe content clearly
- [ ] Lists for 3+ items
- [ ] Most important info first
### Instructions
- [ ] Action verbs at start ("Click", "Enter", "Select")
- [ ] Step-by-step format for processes
- [ ] Expected outcomes statedUI Copy Examples
const uiCopy = {
// ❌ Complex
save: "Persist modifications to server",
// ✅ Plain
save: "Save changes",
// ❌ Complex
logout: "Terminate authenticated session",
// ✅ Plain
logout: "Sign out",
// ❌ Complex
error: "An unexpected exception has occurred",
// ✅ Plain
error: "Something went wrong. Please try again.",
// ❌ Complex
empty: "No applicable records were retrieved",
// ✅ Plain
empty: "No results found"
}Exceptions
- Some exact legal, product, or brand wording cannot be simplified freely, but the surrounding content should still reduce ambiguity and cognitive load where possible.
- A content rule should be judged on the final user-facing wording, not just on individual banned phrases taken out of context.
- If a page has both structural accessibility failures and content clarity issues, fix the failure that prevents users from reaching or perceiving the content first.
Verification
Automated Checks
- Use readability tools (Hemingway Editor, readable.com)
Manual Checks
- Target 8th grade reading level for general content
- Read content aloud—if it sounds awkward, simplify
- Test with users who have different language backgrounds
- Check that instructions are actionable and clear
Use with AI
Copy these prompts to use with your AI assistant, or install the MCP server to use directly from Claude, Cursor, or Windsurf.
Check
Verify implementation
Review content for jargon, complex sentences, and unnecessary technical terms. Verify reading level is appropriate for the audience. Check that instructions are clear and actions are obvious.
Fix
Auto-fix issues
Simplify complex sentences. Define technical terms when first used. Use short paragraphs and bullet points. Write in active voice. Target a reading level appropriate for your broadest audience.
Explain
Learn more
Explain how plain language benefits users with cognitive disabilities, learning differences, attention disorders, non-native speakers, and anyone in a hurry or under stress.
Review
Code review
Review the rendered markup and interactive states that affect Write in plain language. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.