Skip to main content
Beta: Front-End Checklist is currently in beta. Some issues are still being fixed. Thanks for your patience.

Write in plain language

Content uses clear, simple language that is easy to understand for users with cognitive disabilities and non-native speakers.

Utilities
Quick take
Typical fix time 20 min
  • 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)
Why it matters: Plain language helps users with cognitive disabilities, learning differences, attention disorders, non-native speakers, and anyone reading quickly or under stress.

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

AvoidUse Instead
Long sentences (30+ words)Short sentences (15-20 words)
Passive voiceActive voice
Jargon and acronymsCommon words, spell out acronyms
Abstract conceptsConcrete examples
Double negativesPositive 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 stated

UI 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.

Sources

References used to support the guidance in this rule.

Further Reading

Tools and supplementary material for exploring the topic in more depth.

axe DevTools
deque.comTool

Rules that often go hand-in-hand with this one.

Use inclusive language

Content uses inclusive, non-discriminatory language that welcomes all users regardless of ability, gender, race, or background.

Accessibility
Avoid sensory-only instructions

Instructions do not rely solely on sensory characteristics like color, shape, size, location, or sound.

Accessibility
Write at a clear reading level

Analyzes content readability using Flesch-Kincaid

SEO
Fix empty and broken links

All links contain accessible text content and do not lead to broken destinations.

Accessibility

Was this rule helpful?

Your feedback helps improve rule quality. This stays internal for now.

Loading feedback...
0 / 385