WordPress accessibility: practical tips for themes, blocks and plugins
WordPress gives you a head start: core is built with accessibility in mind. Most problems come from themes, page builders, plugins and how content is entered. Here's where to look.
Start with the theme
- In the WordPress.org theme directory, filter by the Accessibility Ready tag. Themes with it have passed a review for basics like skip links, keyboard menus, visible focus and contrast.
- Test a theme's demo with a keyboard before you buy or install it. Open the menu, tab through a page, try the search.
- Check the theme doesn't block zoom. Look for user-scalable=no or maximum-scale=1 in the viewport tag.
- Use a child theme for your changes, so a theme update doesn't wipe out your fixes.
Use the block editor well
- Alt text: select an image and fill in “Alternative text” in the block settings, or in the Media Library. Leave it empty only for decorative images.
- Headings: use the Heading block and choose levels in order (H2, then H3). Pick the level for structure, and change the size with typography settings.
- One H1 per page: the page title is usually the H1. Don't add another H1 in the content, and check that your theme doesn't hide the title.
- Lists and tables: use the List and Table blocks rather than typed dashes or columns of text. Turn on the header section for data tables.
- Buttons: write what they do: “Book a table”, not “Click here”.
- Colors: the editor's color controls can create low-contrast text. Check new combinations against a contrast checker.
Page builders and plugins
Page builders, sliders, popups and form plugins add a lot of markup you don't see. Before you add one, check its documentation for accessibility notes, then test the result by keyboard.
- Sliders and carousels need pause buttons and named arrow controls.
- Popups need to be closable with Escape, and must not trap focus.
- Form plugins should output real labels, not placeholder-only fields.
- Remove plugins and themes you don't use: fewer moving parts means fewer surprises after updates.
Menus, PDFs and media
If you post menus, flyers or documents, publish the content as text on a page, not only as an uploaded image or PDF. See accessible restaurant menus and accessible PDFs. For video, add captions; see captions and transcripts.
After every update
Theme, plugin and core updates can change markup. A check that passed last month can fail today. Re-test key templates after major updates, or monitor them automatically.
Practical takeaways
- Choose an Accessibility Ready theme, and test it by keyboard.
- Fill in alt text and use real headings as you write.
- Keep plugins to the ones you need, and test what they add.
- Publish an accessibility statement page with a way to report problems.
What Scanpoof checks, and what needs a person
Found automatically
- Pages with no H1, or headings out of order
- Images with no alt text
- Zoom blocked by the theme's viewport tag
- Contrast failures from block color settings
Needs a person
- Whether alt text is accurate
- Keyboard behavior of menus, sliders and popups
- Plugin output on forms and checkout
Scanpoof also has a WordPress plugin that shows results inside your dashboard.