UserPrefs gives every visitor control over their experience — font size, contrast, motion, and more. Self-hosted, clean, clear, and honest.
Everything your visitors need to make a website work for them. Nothing they didn't ask for.
Smooth, proportional font scaling from 80% to 200%. Respects your site's design at every step.
A carefully tuned contrast theme — not just an invert filter. Content remains readable and intentional.
Stops animations, transitions, and auto-playing content for visitors with vestibular disorders.
Swaps body text to OpenDyslexic or a system-safe fallback that improves readability for dyslexic users.
Independent controls for line height and letter spacing. WCAG 1.4.12 text spacing support built in.
All preferences stored in the visitor's browser. No data sent to any server. GDPR compliant by design, not by policy.
On paid plans, edit every visible string and link — the title, the branding, the statement link. Your name, your widget.
The widget lives in its own Shadow DOM. Your CSS can't break it. Its CSS can't break yours. Zero conflicts.
Paid plans get automatic placement — no code editing, no template hunting. Verified live instantly.
Free plan is running in under two minutes. Paid plan is a single button click.
Download from WordPress.org or upload directly. Activate. That's it — no API keys required for the free plan.
Go to Settings → UserPrefs. Choose your icon color, position, and — on paid plans — customize every visible string to match your brand. Watch the script tag update in real time.
Free plan: copy your script tag and paste it before </head>. Paid plan: click Auto-Install and walk away. Widget is live.
No manipulation. No feature walls. Free tier is genuinely free, forever.
Agency plan includes 10 domains. Need more? Add individual domains at $9.95/mo (annual) or $11.45/mo (monthly) — billed with your subscription.
| Feature | Free | Single | Agency | Unlimited |
|---|---|---|---|---|
| Accessibility widget | ||||
| Domains included | 1 (locked) | 1 + subdomains | 10 + subdomains | Unlimited |
| Widget customization | ||||
| White-label branding | ||||
| Auto-Install | ||||
| Add-on domains | n/a (unlimited) | |||
| Priority support | ||||
| White-glove onboarding | ||||
| Early plugin access |
We've tested this on real sites — before and after installation — and UserPrefs moves audits from fail to pass. Text resizing, spacing control, motion reduction, and contrast adjustments directly satisfy WCAG 1.4.4, 1.4.12, 2.3.3, and 1.4.3 criteria that a huge number of sites fail right out of the box. That's not a style upgrade. That's real compliance work.
What we won't claim is that it fixes structural accessibility problems — broken semantic HTML, missing alt text, or keyboard navigation gaps are code issues that no overlay can paper over. But for the criteria UserPrefs addresses, it delivers. If your site is reasonably built and failing an audit because of text scaling, spacing, or motion — UserPrefs is very likely the difference between fail and pass.
The widget is hosted and maintained by Wandzilak Web Design at userprefs.wandzilakwebdesign.com. The plugin outputs a single script tag that loads it. This means you always get the latest version automatically — no plugin updates required for widget improvements.
No. Visitor preferences are stored in their own browser (localStorage). Nothing is sent to our servers. We do not collect, store, or sell any visitor data. There is no analytics, no fingerprinting, and no third-party calls from within the widget itself.
Free gives you the full widget with all preference controls, deployed on your domain. Paid plans unlock customization — your icon color, position, widget title, branding text, statement links — plus one-click Auto-Install that places the script for you. On paid plans, the widget can say your name, not ours.
Yes — the script tag works on any platform. Shopify, Webflow, Ghost, static HTML — if you can add a script to your page, UserPrefs works. The WordPress plugin is just a convenient configuration and deployment wrapper. Paid plan holders can use their license key on any platform by placing the configured script tag manually.
Yes. Cancel through PayPal at any time. Your subscription remains active through the end of your billing period. After cancellation, your widget reverts to the free tier automatically — it keeps working, just without your custom configuration. No hostage situations.
We give a five-day grace period before reverting to free tier. PayPal will typically retry automatically. If it resolves within that window, nothing changes on your site. We'll email you if we detect a payment issue.
Free forever. Upgrade when it's right. Built by a solo studio that has been doing this since 2008.