Ananyoo Accessible A to Z Index Plugin

A free accessible A to Z index plugin for WordPress. Categories, tags, any taxonomy or post type under real letter headings, with a live filter. WCAG 2.2 AA, no tracking.

Accessible A to Z Index · WordPress plugin

An A to Z index that every visitor can use.

Most index and tag-cloud plugins print a wall of links and stop there. The Ananyoo Accessible A to Z Index is built the opposite way: a letter bar that is a named landmark, a real heading for every letter, focus that moves when you pick one, a live filter that announces its count, and Previous and Next inside long letters. Index your categories, tags, any taxonomy or any post type - a brand list for a shop, a glossary, a staff directory, or the sitemap page readers actually use - and every colour you choose is checked for contrast before it is saved.

Free · GPLv2 · No tracking · Works with the latest WordPress and PHP

  • Any sourceTaxonomies · Post types
  • 12 of 12Audit checks passed
  • WCAG AABuilt to
  • NoneTrackers · external calls

Why this exists

Index pages are where sitemaps and glossaries go wrong.

An A to Z page looks simple, so nobody audits it. Then the letter bar turns out to be a row of links in a div with no name, the letters are bold text instead of headings, choosing a letter scrolls the page but leaves keyboard focus behind, empty letters are dead links, a search box changes the list in silence, and hundreds of entries sit in one block with no way to page through them. The Accessible A to Z Index fixes every one of those before the page is ever published.

Use cases

One plugin, six pages that usually fail an audit.

Anywhere a site lists things by name, the Accessible A to Z Index gives you the page that passes - and the same block, shortcode or widget does all of them.

Brand or product index for a shop

WooCommerce brands or product categories as one A to Z page. A shopper who knows the brand name finds it in two keystrokes, and the letter bar never shows a dead link.

Indexes: product categories, brands

Glossary for a knowledge base

Every term under its own letter, with the filter for people who remember half the word. Each letter is a real heading, so screen reader users jump straight to it.

Indexes: a glossary post type

Staff or service directory

People, departments or services listed by name, with up to four columns on desktop and one on a phone. Add a second index on the same page and each keeps its own name.

Indexes: team members, services

Sitemap page people actually use

All your pages and posts by title, paged inside long letters so a thousand entries never become one wall of links. Replaces the plain sitemap plugin that fails the audit.

Indexes: pages, posts

Resource or document library

Guides, policies, forms and downloads by title. The visible count and the status message tell every visitor what the filter found.

Indexes: documents, resources

Multilingual and non-Latin sites

Bengali, Hindi, Arabic and Japanese entries group under their own first letter, with 0-9 and Other at the end, so a mixed-language site still reads as one index.

Indexes: any taxonomy or post type

Built on the parts most index plugins skip.

Every feature maps to a real WCAG success criterion - designed by an accessibility consultant, not retrofitted.

A letter bar that is a landmark

The A to Z bar is a navigation landmark with a name you choose, so a page with two indexes stays clear. Empty letters are shown but switched off and announced as "no entries", so the alphabet never jumps around.

WCAG 1.3.1 Info and Relationships · 2.4.1 Bypass Blocks

Headings and focus that behave

Every letter is a real heading at the level you pick - H2, H3 or H4 - so the headings list works. Choosing a letter moves keyboard focus to that heading, and "Back to the letters" returns it.

WCAG 2.4.6 Headings and Labels · 2.4.3 Focus Order

A filter that talks back

Type a few letters and the index narrows as you go. The count of matches is shown under the box and announced through a status region, with a clear button that returns focus to the field.

WCAG 4.1.3 Status Messages

Paging inside long letters

A letter with hundreds of entries gets Previous and Next inside its own row, with "Page x of y" announced and focus kept where it was. A safety cap in Settings keeps very large sources usable.

WCAG 2.1.1 Keyboard · 4.1.2 Name, Role, Value

Colours that cannot break it

Choose heading, text and odd and even row colours in Settings. Every pair is checked for 4.5:1 contrast before it is saved, and a failing pair is rejected with a clear error - so nobody can make the index unreadable.

WCAG 1.4.3 Contrast (Minimum)

Compared

How the Accessible A to Z Index compares with a typical index plugin

These are the twelve checks an accessibility audit runs on an index or sitemap page. The middle column is what audits find most often; the right column is what the Accessible A to Z Index does out of the box, with the WCAG 2.2 success criterion each row is built around.

Ananyoo Accessible A to Z Index compared with a typical index or tag-cloud plugin, check by check.
What an audit checksTypical index pluginAnanyoo Accessible A to Z Index Recommended
Letter navigation is a landmarkWCAG 1.3.1, 2.4.1Fails

A row of links in a div with no name.

Passes

A named navigation landmark per index, so screen reader users can jump to it and tell two indexes apart.

Headings per letterWCAG 2.4.6, 1.3.1Fails

Letters are bold text, not headings.

Passes

Every letter is a real H2, H3 or H4, your choice, so the headings list works.

Focus moves on jumpWCAG 2.4.3Fails

The page scrolls but focus stays on the bar.

Passes

Choosing a letter moves focus to its heading; Back to the letters returns it.

Empty lettersWCAG 4.1.2Fails

Dead links, or letters that vanish.

Passes

Shown but disabled, announced as "no entries"; the alphabet stays in place.

Filter announcedWCAG 4.1.3Fails

The list changes silently.

Passes

A status region announces "12 entries shown"; the count is visible too.

Paging inside a letterWCAG 2.1.1, 4.1.2None

Hundreds of links in one block.

Included

Previous and Next buttons with "Page x of y", focus kept, state announced.

ContrastWCAG 1.4.3, 1.4.11Fails

Any colour can be set.

Passes

Settings reject a colour pair below 4.5:1 with a clear error.

Focus visibleWCAG 2.4.7Fails

Browser default or none.

Passes

A 3 pixel ring on every letter, entry, button and the filter.

High contrast modeWCAG 1.4.11Fails

Borders and icons disappear.

Passes

System colours used in Windows high contrast mode.

Reflow and zoomWCAG 1.4.10Fails

Horizontal scrolling at 320 pixels.

Passes

One column on phones, no horizontal scroll at 400 percent zoom.

Reduced motionWCAG 2.3.3Fails

Ignored.

Passes

Smooth scrolling only when the user allows motion.

PrivacyPhones home

External scripts and fonts loaded.

None

No trackers, no external calls, nothing loaded elsewhere.

Audit checks passedVaries by plugin12 of 12

Tested with JAWS, NVDA, VoiceOver and TalkBack, keyboard only, 400 percent zoom, axe, WAVE and Lighthouse. The typical column describes patterns found in common index and tag-cloud plugins, not one named product.

Add an accessible A to Z index in minutes.

It's live and free on WordPress.org. Install from Plugins → Add New, search for Ananyoo Accessible A to Z Index, add the A to Z Index block to a page, pick what to index, and you have an alphabetical index that passes the audit. It is part of our collection of WordPress accessibility plugins, and pairs perfectly with the WordPress ADA-compliance theme.