Accessible Login transforms the default WordPress login, lost-password, password-reset and registration screens into a fully accessible, mobile-friendly experience that conforms to WCAG 2.2 Level AA out of the box – without sacrificing any of the visual customization power that site owners expect fr
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.9 and PHP 7.4.
SourceWordPress plugins · Nov 14, 2026
01 / Source details
Aboutthistool.
Accessible Login transforms the default WordPress login, lost-password, password-reset and registration screens into a fully accessible, mobile-friendly experience that conforms to WCAG 2.2 Level AA out of the box – without sacrificing any of the visual customization power that site owners expect from a modern login plugin.
Live demo: Try the accessible login demo »
Why this plugin?
This plugin approaches login customization with accessibility as the starting point. Its defaults, palettes and customization options are designed around WCAG 2.2 AA requirements – colour combinations are checked for contrast, focus indicators are preserved, and target sizes are kept within recommended bounds – so that customizing the login screen does not come at the expense of accessibility.
Key features
10 hand-tuned, WCAG 2.2 AA compliant color palettes – pick one during the 1-minute setup wizard and apply it instantly. Or design your own; the plugin never forces a palette on you.
Custom backend login URL with a real block (optional – off by default) – replace /wp-login.php with a slug you choose (e.g. /my-secret-door ). With blocking on, the old URL returns a generic 404 for every logged-out request – all HTTP methods including POST and all actions – so brute-force bots cannot even submit credentials there. Logged-out visits to /wp-admin also return 404 instead of a redirect that would reveal your hidden URL.
Accessible branded login emails – the WordPress password-reset, welcome and password-changed emails become a small accessible HTML template: your logo with alt text, readable 16 px text, and the action link as a large high-contrast button plus a copy-paste address. Every colour is contrast-checked before sending; anything failing falls back to audited colours. On WooCommerce stores, one click applies the same accessible palette to the WooCommerce email settings.
Save-time contrast enforcement – the same WCAG pairs the live checker shows are now enforced when you press Save: a colour change that would break a required pair is rejected with a precise explanation (which pair, measured ratio, required ratio) and the previous colours are kept. The plugin can no longer be saved into an inaccessible state.
Logo upload + customization – your logo, your dimensions, your alt text, your link target (defaults to your homepage, never wordpress.org).
Reflows cleanly at 320 px – no horizontal scrolling on the smallest phones.
prefers-reduced-motion respected – animations disabled for users who request it.
Windows High Contrast / forced-colors mode supported.
Settings export / import – JSON-based, useful for migrating between sites.
Structured layout controls – fine-tune corner radius, form width and padding, input height, button weight, focus-indicator width and a card-shadow toggle. Every value is bounded to a WCAG-safe range; the plugin does not accept arbitrary CSS, JavaScript or PHP.
Real-time contrast checker – every important colour pair is checked live against WCAG (4.5:1 text, 7:1 AAA, 3:1 for borders and focus) as you pick colours, shown with a symbol and words, never colour alone.
Cognitive accessibility boosters (WCAG 2.2 SC 3.3.7 / 3.3.8) – an optional “You are signed in” hold screen with an adjustable 1-5 second delay and a live region, plus a contextual “Need help signing in?” help drawer with your own guidance text.
Accessible password strength meter – strength shown in words (Weak / Fair / Good / Strong) with friendly suggestions, never by colour alone.
Accessibility health check – a dashboard widget scores your login screen out of 100, checking every contrast pair plus text size, target size, field height and focus-ring width.
Front-end login block & shortcode – place the accessible form anywhere with [accessible_login] or the “Accessible Login” block, carrying the same accessible styling and a signed-in state with logout.
WooCommerce styling bridge (optional) – applies the same accessible colours, focus states and target sizes to the WooCommerce “My Account” login and registration forms.
Reset to defaults with a single click.
Semantic versioning + DB schema versioning – safe automatic migrations on upgrade.
Translation-ready – all strings wrapped in __() with the ananyoo-accessible-login text domain.
Accessibility testing
This plugin is tested with the same tools and standards used in commercial accessibility audits:
These tools and assistive technologies are part of the plugin’s development and testing workflow.
About the author
Shivaji Mitra is the proprietor of M/S. Anblik (est. 2003) and an Accessibility Consultant based in Kolkata, India. He specializes in building websites and mobile applications that meet the needs of users with disabilities, in conformance with WCAG guidelines. Find more of his accessibility work at https://ananyoo.com .
Links
Plugin home & documentation
Live demo
More accessibility plugins from Ananyoo – further WordPress accessibility plugins are in active development.
Support & contact
Privacy Policy
This plugin does not collect, store or transmit any personal information about your visitors or your site administrators. All settings are stored in your own WordPress database. No telemetry, no phone-home, no third-party requests.
See it in action
Screenshots & previews.
Ten WCAG-compliant colour palettes - each maintains AA contrast, applied in one click.Default Ananyoo Classic palette on the login screen, desktop.Same login screen at 320 px width - reflows cleanly, no horizontal scroll.Fine-Tune Colors - adjust every individual colour beyond the presets.Logo & Branding tab - upload your logo, set its link target.Accessibility tab - every WCAG-related toggle plus the optional enhancements in one place.Login URL & Security tab - replace /wp-login.php with your own slug.About tab - full WCAG 2.2 AA conformance statement.Real-time contrast checker on the Colors tab - each colour is checked against WCAG live, right next to the field, with a symbol and words, never colour alone.Optional enhancements section - cognitive boosters, password meter, embedding and WooCommerce, each an accessible on/off choice.Accessible password strength meter - strength shown in words (Weak, Fair, Good, Strong) with suggestions, never by colour alone."You are signed in" success hold screen - a clear, announced confirmation before forwarding, with a Continue-now link."Need help signing in?" contextual help drawer - a keyboard-friendly disclosure with plain-language guidance.Accessibility health check - a dashboard widget scoring the login screen out of 100 against WCAG.The accessible login form embedded anywhere with the [accessible_login] shortcode or block.
02 / Source details
Gettingstarted.
01Upload the ananyoo-accessible-login folder to the /wp-content/plugins/ directory, or install via Plugins → Add New → Upload Plugin.
02Activate the plugin through the Plugins menu in WordPress.
03You will see a welcome notice. Click Start the 1-minute setup to pick one of the 10 accessible palettes (or skip to use the default).
04Visit Accessible Login in the admin sidebar to fine-tune colors, logo, layout, custom URL and more.
03 / Source details
Frequently asked questions.
Does this work with my existing theme?
Yes. The plugin only customizes the WordPress login / register / lost-password / reset screens (the screens that live at wp-login.php ), not your public theme.
Will it break if I disable the plugin?
No. Deactivating restores the default WordPress login screen exactly as it was. Your settings are preserved so you can reactivate later. Whether deleting the plugin removes your stored settings depends on your preference – see “What happens to my settings when I delete the plugin?” below.
What happens to my settings when I delete the plugin?
You decide. On the Advanced tab there is a section called “When the plugin is deleted” with two choices:
Keep all data (recommended, default) – settings remain in the database after deletion, so re-installing the plugin restores everything exactly as it was. Best for accidental deletes, updates that route through “delete + re-install”, or temporary troubleshooting.
Remove all data (clean uninstall) – all plugin settings, palette choice, logo reference and any plugin-created rows are permanently deleted on uninstall. Choose this when you are removing the plugin for good or want a clean database.
Your choice is saved with the rest of your settings; change it any time and re-save. On multisite, each site honours its own preference.
Can I really change the login URL?
Yes. On the Login URL & Security tab, set a custom slug (e.g. my-secret-door ). With Block direct access on, /wp-login.php returns a generic 404 for every logged-out request – every HTTP method (including POST, so bots cannot submit credentials there) and every action. Logged-out visits to /wp-admin also return 404 rather than redirecting, because that redirect would hand your hidden login URL to anyone who typed /wp-admin . admin-ajax.php and admin-post.php keep working for the logged-out requests themes and plugins legitimately make, logged-in users are never blocked, and with blocking off both URLs simply work side by side (mirror mode). Every link WordPress generates – lost-password, reset emails, logout, post passwords, privacy confirmations – already points at your custom slug, so nothing legitimate ever needs the old URL.
Does it work with CAPTCHA plugins (reCAPTCHA, Turnstile, hCaptcha)?
Yes. The plugin loads the genuine WordPress login page – it never replaces it – and enhances the standard form through WordPress’s own login hooks. So third-party CAPTCHA plugins that use those same hooks render and validate normally, including when you have set a custom login URL.
For the best accessibility we recommend Cloudflare Turnstile or hCaptcha’s accessible mode, which are generally friendlier to screen-reader and keyboard users than Google reCAPTCHA v2’s “I’m not a robot” checkbox. The choice is entirely yours – the plugin imposes none.
What if I want a completely custom color, not from your palettes?
The palettes are starting points, not jail cells. Every individual color is exposed as its own WordPress color picker on the Colors & Palette tab – change as many or as few as you like.
Is the show/hide password toggle a security risk?
No. It only reveals the password the user themselves typed, in their own browser, after they explicitly click the toggle. WCAG 2.2 SC 3.3.8 recommends this exact pattern for accessible authentication.
How do I migrate settings to another site?
Open Advanced → Export settings , copy the JSON, and paste it into Advanced → Import settings on the other site.
Does it work in multisite / network installs?
Yes. Each site has its own settings, including its own uninstall preference. On a network uninstall, each site’s choice is respected independently – site A can keep its data while site B wipes its data in the same uninstall pass.
How is this different from other custom-login plugins?
It is built with accessibility as the primary design goal rather than an afterthought: defaults, palettes and options are chosen with WCAG 2.2 AA in mind, and the customization controls are bounded so that common accessibility pitfalls (low contrast, hidden focus, tiny targets) are avoided by design.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati