Skip to content
WordPress.org
  • Showcase
  • Plugins
  • Themes
  • Hosting
  • News
    • Learn WordPress
    • Documentation
    • Education
    • Forums
    • Developers
    • Blocks
    • Patterns
    • Photos
    • Openverse ↗︎
    • WordPress.tv ↗︎
    • About WordPress
    • Make WordPress
    • Events
    • Five for the Future
    • Enterprise
    • Gutenberg ↗︎
    • Job Board ↗︎
    • Swag Store ↗︎
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Ananyoo Accessible Login

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Ananyoo Accessible Login

By ananyoo
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

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

Designed and developed by Shivaji Mitra of M/S. Anblik — an accessibility consultant based in Kolkata, India, building WCAG-compliant websites since 2003 and showcasing this work at Ananyoo.

Links

  • Plugin home & documentation
  • Live demo
  • More accessibility plugins from Ananyoo — further WordPress accessibility plugins are in active development.
  • Support & contact

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 (optional — off by default) — replace /wp-login.php with a slug you choose (e.g. /my-secret-door); when you enable it, the old URL can return 404 to block automated brute-force scanners.
  • Logo upload + customization — your logo, your dimensions, your alt text, your link target (defaults to your homepage, never wordpress.org).
  • Five layout styles — centered, minimal, split-left, split-right, full background image.
  • Background customization — solid color, image upload, overlay opacity, or one of four CSS-only patterns (dots, grid, waves).
  • Typography control — pick from system, Inter, Poppins, classic sans, serif or monospace; minimum 16 px enforced.
  • Show / hide password toggle — satisfies WCAG 2.2 SC 3.3.8 Accessible Authentication.
  • Caps-lock warning — announces to screen readers via aria-live.
  • 3 px focus ring with 2 px offset — meets the new WCAG 2.2 SC 2.4.11/2.4.13 focus requirements.
  • 44 × 44 default target size (24 × 24 enforced minimum) — meets WCAG 2.2 SC 2.5.8.
  • 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.
  • 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:

  • JAWS, NVDA, VoiceOver (macOS & iOS), TalkBack (Android)
  • Keyboard-only navigation
  • Color Contrast Analyzer
  • Browser zoom up to 400 %
  • Deque AXE
  • Google Lighthouse
  • wave.webaim.org

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.

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.

Screenshots

Ten WCAG-compliant colour palettes — each maintains AA contrast, applied in one click.
Ten WCAG-compliant colour palettes — each maintains AA contrast, applied in one click.
Default Ananyoo Classic palette on the login screen, desktop.
Default Ananyoo Classic palette on the login screen, desktop.
Same login screen at 320 px width — reflows cleanly, no horizontal scroll.
Same login screen at 320 px width — reflows cleanly, no horizontal scroll.
Fine-Tune Colors — adjust every individual colour beyond the presets.
Fine-Tune Colors — adjust every individual colour beyond the presets.
Logo & Branding tab — upload your logo, set its link target.
Logo & Branding tab — upload your logo, set its link target.
Accessibility tab — every WCAG-related toggle in one place.
Accessibility tab — every WCAG-related toggle in one place.
Login URL & Security tab — replace /wp-login.php with your own slug.
Login URL & Security tab — replace /wp-login.php with your own slug.
About tab — full WCAG 2.2 AA conformance statement.
About tab — full WCAG 2.2 AA conformance statement.

Installation

  1. Upload the ananyoo-accessible-login folder to the /wp-content/plugins/ directory, or install via Plugins → Add New → Upload Plugin.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. You 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).
  4. Visit Accessible Login in the admin sidebar to fine-tune colors, logo, layout, custom URL and more.

FAQ

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). The default /wp-login.php URL will return 404 for unauthenticated visitors, which blocks the vast majority of automated brute-force scanners.

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.

Where can I report a bug or request a feature?

Visit https://ananyoo.com/contact-us/.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Ananyoo Accessible Login” is open source software. The following people have contributed to this plugin.

Contributors
  • ananyoo

Translate “Ananyoo Accessible Login” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.0

Released: 2026-05-28

First public release.

  • Full WCAG 2.2 Level AA experience across all four screens — login, lost-password, password-reset and registration — developed and tested with the Deque AXE engine, Google Lighthouse, and the JAWS, NVDA, VoiceOver and TalkBack screen readers.
  • Ten accessible colour palettes plus full per-colour control through the WordPress colour picker, each maintaining AA contrast.
  • Optional custom backend login URL (off by default) with a reserved-word blocklist; when enabled it can return 404 on /wp-login.php for unauthenticated visitors to block automated brute-force scanners.
  • Logo upload with configurable dimensions, alt text and link target; ships with a neutral, locally-served default placeholder logo (no external requests).
  • Five layout styles, background image / overlay / pattern controls, and typography control with a 16 px minimum.
  • Accessible show/hide password toggle (SC 3.3.8), Caps Lock screen-reader warning, ARIA error announcements, a 3 px focus ring with 2 px offset (SC 2.4.11 / 2.4.13), and a configurable 44 x 44 px default target size (SC 2.5.8).
  • Reflows cleanly at 320 px and at 200% / 400% zoom (SC 1.4.4 / 1.4.10); honours prefers-reduced-motion and Windows forced-colors mode.
  • Structured, WCAG-bounded layout controls (corner radius, form width and padding, input height, button weight, focus-indicator width, card-shadow toggle). The plugin does not accept arbitrary CSS, JavaScript or PHP.
  • All dynamic CSS is delivered through the WordPress stylesheet enqueue system; no inline style or script blocks are printed into the login markup.
  • Settings export / import via JSON, reset-to-defaults, a first-run setup wizard, and a user-controlled clean-uninstall option (multisite-aware).
  • Independently audited against WCAG 2.2 AA and remediated; default settings are seeded from a bundled JSON file so a fresh install is accessibility-clean out of the box.
  • Requires WordPress 5.9 or higher.
  • Translation-ready with the ananyoo-accessible-login text domain.

Meta

  • Version 1.0.0
  • Last updated 1 hour ago
  • Active installations Fewer than 10
  • WordPress version 5.9 or higher
  • Tested up to 7.0
  • PHP version 7.4 or higher
  • Tags
    accessibilitycustom loginloginregistrationwcag
  • Advanced View

Ratings

No reviews have been submitted yet.

Your review

See all reviews

Contributors

  • ananyoo

Support

Got something to say? Need help?

View support forum

Donate

Would you like to support the advancement of this plugin?

Donate to this plugin

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Documentation
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org
  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Code is Poetry
The WordPress® trademark is the intellectual property of the WordPress Foundation.