WordPress and Accessibility

Posted November 17th, 2008 by Mike Cherim

Many sites are built using WordPress (WP) as the content management system (CMS). Not just blogs but full-blown ecommerce sites and others. The power and flexibility of WP is evident by these implementations. And speaking of implementations, it was used as the CMS for a site recently built as a Web Content Accessibility Guidelines (WCAG) 2.0 implementation, to the level of AAA (one of two in the world with the other being Vision Australia). To learn more about that, here’s a short summary of the experience. This article is about WordPress’s end of things.

Out of the Box

After downloading and installing WordPress one will note that it’s pretty solid, semantic, and accessible, even with the default theme. However, it’s not perfect, and that’s what this article will focus on. It’s not a critique of the default theme, or any theme for that matter. Instead we will focus on two specific points of concern that run deeper. But before these points are addressed, it should be noted that most of WP’s accessibility does rely on the quality of its themes, plugins, and widgets. In other words, to the careless or ignorant, it’s quite easy to destroy the integral quality of WP via the simple act of making it one’s own.

In this article we will assume you’re access savvy. We will also assume that if you use WP you’ll select and implement a quality theme, plugins, and widgets, and in such a way that the system’s inherent quality isn’t compromised. If you don’t know where to begin, this WordPress theme might help (the one this site is built on). It’s not perfect and it is in need of an update, but compared to many available offerings, it’s a good start (as exemplified by the Access Matters, Paciello Group, Permanent Tangent, JB Visions, and other accessiblistas who have used it). Moreover, it comes with some popular plugins that have been made more accessible.

Easily 99% of WordPress’s accessibility and semantics can be influenced by rather simple theme, plugin, and widget modifications. And since we’re assuming you’re access savvy as stated above, let’s just say you’re all set in that regard. We won’t discuss the myriad user-level things one can do to accommodate people’s needs, nor will we bother discussing what can go wrong (this isn’t a book). We’ll leave that to you and instead focus on two integrated issues that aren’t easy to deal with or are even impossible to address without going into the system’s core files — which isn’t recommended! If these items concern you, dealing with them can be frustrating.

Core Issues

Using WP as a CMS for a basic communication web site, using a perfected theme and add-ons, one can get extremely close to a AAA accessibility rating under the guidance of the WCAG 2.0. That is pretty impressive and a hearty pat on the back goes to the WordPress team. Seriously.


Empty Search

WP’s comment errors such as submitting an empty response are less than elegant. The user is sent to the script file and given a basic text error. That could be and should be done better, but it is basically accessible. Empty search errors, however, are another matter altogether. Search inputs send to PHP_SELF, instead of REQUEST_URI, and on a system like WP, that points to the index page. If the user submits an empty search, instead of being notified, they are whisked away to the site’s index. At LF Legal this one item failed Success Criteria 3.3.1 and 3.3.3:

3.3.1 Error Identification: If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text. (Level A) — Guideline 3.3 Input Assistance

3.3.3 Error Suggestion: If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content. (Level AA) — Guideline 3.3 Input Assistance

As you can see, the first issue defined prevented LF Legal from reaching an A-level rating, at least on the search page. Due to the way the WCAG 2.0 applies, this wouldn’t fail the whole site, even though search is a whole site function.

Jump to the Empty Search Solution.

Entry Pagination Problem

When using the built-in pagination feature provided by WordPress, links are placed at the bottom of the content. To be clear, this shouldn’t be confused with multipage archiving links, like “Older Entries,” this feature applies to individual posts and pages. The pages are broken by placing the <!--nextpage--> tag where the break is wanted.

Under some conditions, if you want to make individual pages navigable by number instead of just offering a “Next Page” link, for example, and if you are making the post or page more than two pages, an accessibility issue can occur. Specifically a lack of link separation. I cannot point to it within the WCAG 2.0, it’s no longer required. But I feel it should be. A lack of link separation to the users who browse sans-styles, without images, or via a text browser like Lynx, makes for a less than suitable condition. It doesn’t need to be that way.

Jump to the Entry Pagination Solution.

What to Do…

The best thing you can do is encourage the folks at WordPress to handle these issues with the next upgrade. If they do it, then you don’t have to worry about it. But it doesn’t mean we’re without solutions.

Empty Search Solution

This is not a high tech solution — that needs to come from the folks at WordPress — but this is a solution all the same. Simply add the whitespace character &#32; to the input value and that’s it. If a user tries to search for nothing, then they will be given their results for their search for “ ” and, in most themes, a chance to continue searching. Ideally one should get a negative but informed result, such as:

Error: You need to enter a search word in the search field.

The whitespace fix, while certainly far from elegant, was accepted by the powers that be, but it could be and should be done better.

Jump back to the Empty Search Problem.

Entry Pagination Solution

Under the conditions described, the only fix that we’re aware of is to use the ePage Links plugin authored by Rich Pedley, created specifically to correct this problem.

Jump back to the Entry Pagination Problem.

Maybe a Fix is Due?

Please bear in mind that some versions may be different and there may be more applicable concerns with older versions. That’s for you to investigate. If not addressed already, these items should be. The ball, as they say, is in WP’s court. In any case, a huge pat on the back still goes to those folks for making such a system that allows this level of accessibility retention. As far as we know that in itself is a rarity — much of what’s out there doesn’t even validate.

Again, a AAA WCAG 2.0 site was made with WordPress. This says a awful lot for WP and how good it is as a platform. Changes needed to be made, but almost everything was done on the theme level as it should be.

17 Responses to: “WordPress and Accessibility”

  1. Rich Pedley responds:
    Posted: November 17th, 2008 at 2:49 pm

    Thanks for mentioning my plugin, again!

    I emailed Mike a few hours before this article was released as I have found a way to at least redirect the user to a search results page if an empty search is submitted. It’ll currently return results as if the user had entered a single space, which isn’t ideal by any means but perhaps better than the default.

    function blank_search($query){
    global $wp_query;
    if (isset($_GET['s']) && $_GET['s']==''){
    $wp_query->set('s',' ');
    return $query;

    (I wrote this as a small quick plugin, but it might be possible to be used in a theme’s function file.)

    I’ve started a thread over on the Wordpress Support forums Search results - or not.

  2. Digital Rant » Blog Archive » WordPress gets high honours responds:
    Posted: November 17th, 2008 at 4:22 pm

    […] I was very impressed to read WordPress’s accessibility out of the box. There are a few issues to iron out before AAA is reached but that’s pretty good going I think you’ll agree! So if you are looking for a blogging engine or a simple CMS go for WordPress. […]

  3. Wordpress UK » WordPress and Accessibility - Accessites.org responds:
    Posted: November 18th, 2008 at 4:00 am

    […] Read the original post: WordPress and Accessibility - Accessites.org This entry was posted on Monday, November 17th, 2008 and is filed under Wordpress News. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. […]

  4. Jared Smith responds:
    Posted: November 18th, 2008 at 8:19 pm

    I just started drafting an article on this topic for the WebAIM site. Thanks for saving me the work.

    You did fail to point out my #1 accessibility complaint about Wordpress - it assigns tabindex to the comment form elements. This means that keyboard users are automatically sent to the BOTTOM of the page when they begin navigating a blog entry. This requires them to navigate all the way back to the top or implement some other way of jumping back to the top of the actual content. A screen reader user may not realize there is content there at all - they may simply think that the page consists of only a comment form.

    WP really needs to remove tabindex from the default templates.

  5. What I’ve been reading - James Padolsey responds:
    Posted: November 19th, 2008 at 4:34 am

    […] Wordpress and Accessibility […]

  6. Wordpress e l’accessibilità | Italian webdesign responds:
    Posted: November 20th, 2008 at 1:38 am

    […] Wordpress and Accessibility […]

  7. Fight Fight Fight! » Blog Archive » WordPress gets high honours responds:
    Posted: November 24th, 2008 at 4:02 pm

    […] I was very impressed to read WordPress’s accessibility out of the box. There are a few issues to iron out before AAA is reached but that’s pretty good going I think you’ll agree! So if you are looking for a blogging engine or a simple CMS go for WordPress. […]

  8. Wordpress и accessibility | Fresh: новости мира юзабилити responds:
    Posted: November 27th, 2008 at 1:05 am

    […] Одной из самых популярных систем для организации standalone блога является CMS WordPress. Во многом эта популярность досталось WordPress за гибкость настроек, удобный интерфейс управления, валидные и семантически правильно свёрстанные шаблоны. Однако, некоторые веб-мастера, устанавливая новые виджеты или создавая свои темы, по неосторожности могут ухудшить доступность веб-страниц блога. В статье рассматриваются некоторые типичные ошибки accessibility и способы их устранения.   […]

  9. Rich Pedley responds:
    Posted: January 3rd, 2009 at 9:25 am

    I’ve got a better search results fix - currently being tested on my site.

  10. A Pretty Simple blog » Blog Archive » Wordpress and accessibility responds:
    Posted: January 20th, 2009 at 6:31 am

    […] I’ll shortly be publishing an article on blogs in the public sector (edit: now available), but for now here’s a link to an interesting article on Wordpress and accessibility. As author Mike Cherim points out, one of the sites named in the WCAG 2.0 implementation (and indeed reaching triple-A standard) was based on Wordpress, suggesting that the platform can produce very accessible results. There are a couple of issues to be aware of, though, so if you’re developing sites with Wordpress you’d better read this. […]

  11. Jojo Esposa Jr. responds:
    Posted: January 23rd, 2009 at 3:56 pm

    Hello there Mike!

    This is Jojo from Philippine Web Accessibility Group (www.pwag.org). Thank you very much for this article. It became a deciding factor why I selected WordPress as a CMS of choice. :-)

    Last year, I was in the process of converting the official website of our school for the deaf in the Philippines, MCCID College of Technology.

    Although I’m quite familiar with WordPress since April 2008 because I use it in my blog, I only began to learn how to create a site using it last December. As a web accessibility advocate, I have to use a CMS that is at least adheres to accessibility. I tried Joomla but they only have one theme they considered to be accessible (Bees). A school for the blind here in our country is slowly converting their site in Drupal but based on their initial experience, they are having difficulty. I tried googling “wordpress and accessibility” and your post came on top. That’s when I accepted WordPress to be the “it”. :-)

    The next thing I need to look for is a theme. I am our school’s founder, training director and sign language teacher/interpreter. I know for a fact that deaf people are more interested in photos and images. They are bored with texts. So I have to look for a theme that shows photos as blog posts instead of texts. That is where I found this remarkable “The Unstandard” theme.

    After using it, I did some tweaking in order to make it accessible like adding a few codes to put ALT texts on images, adding “Skip to Content” link on top, putting dates on every blog posts, etc. It works! Also I rearranged some codes in order to up its DTD level to XHTML 1.0 Strict. It passed both the accessibility and standards validation (click on the bottom footer links to find out).

    I even used Contact Form plugin you created in our “Contact Us” page. It was truly awesome! Although I’m having problem with not receiving the email to my main address (info@mccid.edu.ph) which is a webmail from Google Apps. I don’t know what’s causing it. I tried using my yahoo mail and it worked.

    I cannot relate to your blog post re: empty search problem because I’m using an embedded Google search apps. I don’t have any problems with it.

    I will soon convert the PWAG website (www.pwag.org) into WordPress. I’m just awaiting for the result of the 4th quarter GAWDS Awards because it was nominated along with two other Philippine designed sites which I submitted last November as requested by Mel Pedley. :-)

    Thanks again. :-)

  12. Jojo Esposa responds:
    Posted: February 8th, 2009 at 8:40 am

    Hello Mike!

    The Philippine Web Accessibility Group (PWAG) collaborated with the fledgling group Phil. Web Designers Group in giving assistance to web designers about their usability, accessibility and general concerns. Since October, we have been holding monthly mini-web design conferences. I volunteered to talk about web accessibility since I am PWAG’s current president and no one in our group would take the cudgel of exposing mainstream designers about it.

    Last January, most of the speakers talk about CMS (Content5, Textpattern, etc.) Since most of the attendees use WordPress they requested me to lecture about “WordPress and Accessibility”. Aside from yours, are there any unbiased and independent in-depth study or links about how WordPress fares with accessibility concerns that you may recommend? Thanks again. :-)

Sorry. Comments are closed.

Note: This is the end of the usable page. The image(s) below are preloaded for performance only.