Text Spacing Audit Workflow for Accessibility Consultants
- Systematic 5-step audit workflow for WCAG 1.4.12 text spacing compliance
- Identifies declared-value issues and layout-resilience issues separately
- Zero software cost using browser dev tools plus a free spacing checker
Table of Contents
A complete WCAG 1.4.12 audit has two layers: declared-value testing (are the CSS values themselves compliant?) and layout-resilience testing (does the layout survive when users force compliant values via browser overrides?). Skipping either layer produces incomplete audits. Here is the full workflow I use for client accessibility audits, timed and templated for consistent delivery.
Step 1 — text element inventory (30-60 minutes)
Walk through every unique page template. List each distinct text role: body, H1, H2, H3, caption, button label, nav item, form label, error message, footer text, disclaimer, tooltip.
For each role, capture: computed font-size, line-height, letter-spacing, word-spacing, and margin-bottom (on paragraphs). Use Chrome DevTools > Computed tab for each element.
Deliverable: a spreadsheet with one row per text role and columns for each CSS property. 15-20 rows typical for a mid-complexity site.
Step 2 — declared values check (15-30 minutes)
For each text role in the inventory, run the values through the spacing checker. Record pass/fail per property.
Common findings at this stage:
- Body line-height below 1.5x (very common — often 1.15 or 1.4)
- Paragraph margin-bottom zero or below 2x font size (CSS resets)
- Button labels with letter-spacing set lower than accessible defaults
- Headings with line-height from font-feature (like Google Fonts auto) not explicitly set
Deliverable: annotated spreadsheet with pass/fail for each cell and a target CSS value for each failing cell.
Step 3 — layout resilience test (45-60 minutes)
Apply the WCAG 1.4.12 override globally in DevTools:
const style = document.createElement('style');
style.textContent = `
* {
line-height: 1.5 !important;
letter-spacing: 0.12em !important;
word-spacing: 0.16em !important;
}
p { margin-bottom: 2em !important; }
`;
document.head.appendChild(style);
Run on every page template. Scroll full page. Photograph or screen-record any of these issues:
- Text clipped by fixed-width containers
- Text overflowing card boundaries
- Horizontal scrollbars appearing where none existed
- Buttons growing too tall
- Navigation wrapping unexpectedly
- Tables getting horizontal scroll
Deliverable: annotated screenshots of each layout failure with page URL and brief description.
Sell Custom Apparel — We Handle Printing & Free ShippingStep 4 — responsive layout resilience (30 minutes)
Repeat Step 3 at mobile viewport widths (375px, 414px, 768px). Mobile breakpoints often have their own spacing issues — tight padding, fixed heights that fail at scaled text, and navigation menus that do not handle increased letter-spacing.
Record failures per viewport. Mobile failures often outnumber desktop failures 2:1.
Step 5 — reporting and remediation prioritization
Structure the report:
- Executive summary: overall compliance level (% of tested elements passing), key risks, estimated remediation time
- Declared-value failures: spreadsheet with specific CSS changes required per text role
- Layout-resilience failures: screenshots with specific containers/pages needing fixes
- Remediation priorities: P0 (blocks multiple pages), P1 (individual page breaks), P2 (cosmetic-only)
- Re-test plan: steps to verify each fix
Client expectations: a medium-complexity site audit takes 4-6 hours total. A full enterprise audit takes 20-40 hours. Charge accordingly.
Time saved by using the right tools
Manual approach (spreadsheet + dev tools only): 6-8 hours for medium site. Automated scan only (axe/Lighthouse): misses 1.4.12 entirely. Combined approach with dedicated spacing checker: 4-5 hours, higher accuracy.
For consultants billing $150-$300/hour, the time savings on 20 audits/year is $6,000-$18,000 in recovered billable hours. The tools are free. The ROI is the hourly rate, not the tool cost.
Add This to Your Audit Stack
Paste CSS values, get pass/fail per property, copy findings to your audit report.
Open Free Spacing CheckerFrequently Asked Questions
Do I need to charge more for a 2.2 audit vs 2.1?
2.2 adds 9 criteria so scope increases modestly. A 2.1 audit of 10 pages might be 6 hours; the same 10 pages for 2.2 would be 7-8 hours. Price accordingly — typically 10-20% uplift.
How do I audit a site behind login?
Get temporary audit credentials from the client. Or have them create a test account with realistic data. Do not audit production credentials — use an isolated test environment if possible.
What if the client refuses to fix layout-resilience issues because "no real user will use that CSS override"?
Document the risk in the report and move on. WCAG compliance is about the standard, not assumed user behavior. If they accept the risk, that is their call. Flag it as accepted non-compliance.
Do automated tools like axe catch layout-resilience issues?
Not well. axe checks declared values and some specific layout issues but does not run the full 1.4.12 layout-resilience test automatically. Manual dev-tools testing is still required for a complete audit.

