• Skip to content
  • Skip to footer
A Bright Clear Web

A Bright Clear Web

A Bright Clear Web - Simple, effective, accessible websites

  • Home
  • About
  • Websites
  • Writing
  • Learn
  • Blog
  • Contact
You are here: Home / Accessibility / Qualibooth Review: A Robust Real-Time Accessibility Checker

Qualibooth Review: A Robust Real-Time Accessibility Checker

Posted: August 5, 2024 by Claire Brotherton
Leave a Comment

What is QualiBooth?

QualiBooth is an automated accessibility software which scans a website and reports back on any accessibility issues, pinpointing their source and offering suggestions to fix them.

It monitors web pages over real time and updates as accessibility problems are remediated.

How is QualiBooth priced?

QualiBooth offers a 7-day free trial for you to evaluate the software. 

QualiBooth pricing in euros
QualiBooth pricing in dollars

After that period, continued use depends on paying for an appropriate plan, which will depend on the the number of users, sites and pageviews you have. The Standard plan is for 1 user, 1 site and up to 100K page views a month, which costs from €59/month or $69/month. The Advanced plan covers 3 users, 3 sites and up to 1 million page views a month – this costs from €159/month or $179/month. The Premium plan is for 10 users, 5 sites and up to 10 million page views a month and costs from €399/month or $459/month. Finally, there are Custom plans available if you are running an Enterprise level site or sites. Note that all prices exclude VAT.

QualiBooth says of the enterprise plan:

The enterprise plan is tailored to meet the unique requirements of each customer. It provides a higher allocation of page views compared to other plans, unlimited sites and users, and the flexibility to utilize multiple organizations. In addition, our customers benefit from customized accessibility testing conducted by a team of experts, including individuals with disabilities, and receive premium-level support.

For the purposes of this review, I had access to a free trial beyond the 7 day period.

How does QualiBooth work?

Setup

After signing up, you create an organization and then add your first site URL using the Add Site button.

QualiBooth sites not added

When you’ve added the site, you then need to add the QualiBooth tracking script so that it can start monitoring your site for accessibility issues. You get this from the Tracking Code button in your site’s listing. For a WordPress site you can add this script to every page in your theme settings or by using a plugin such as the WPCode plugin.

You need to wait a short time for the tracking code to become active. When it says it is, your website will be scanned by QualiBooth and it will start collecting data.

QualiBooth My Sites showing script status active

Configuration

There are a few configuration options you can use with QualiBooth. You can use tags to specify web pages with particular words in the URL. You can also change the percentage of pages scanned; the default is 100%. In the scanning options you can enable WCAG 2.2 rules or AAA rules. Finally, if you’re a Jira user, you can integrate QualiBooth with Jira and create automatic Jira tickets using your QualiBooth account.

Dashboard

The Dashboard gives an overview of your site(s) in pictorial format. 

QualiBooth Dashboard

First of all, there’s a Site Accessibility Score – out of 100 – based on scans from the last 24 hours. A score of over 85 is high indicating few accessibility problems, a score of 60-85 is medium and a score of under 60 is low, meaning there are more accessibility issues.

The Scan History shows the fluctuation in score over time.

Issues found by severity is a pie chart of the issues found, graded either Critical, High, Medium or Low.

Issues found by violation level shows the issues graded by the violation type of the level in the Web Content Accessibility Guidelines (WCAG) from A to AAA, where A is a must and AAA is a nice to have. Best practice issues are not specified in the guidelines, but are good accessibility practice to follow. Most websites following WCAG aim to meet level AA. Note that AAA issues will only appear here if you’ve chosen to scan for them.

Reports

The Reports section lists all the issues found by QualiBooth by type, severity, violation and count. 

QualiBooth Report for A Bright Clear Web

Clicking on an issue takes you to a list of the URL(s) of any page(s) where the issue was found. 

QualiBooth Issue Images Must Have Alternate Text

From there you can click on the tool button to view the page with the Development Assistant. 

QualiBooth Development Assistant

Scan the page to see the results. In this case, the original issue found on the page (Images must have alternate text) wasn’t found in the scan but other issues were. 

QualiBooth Development Assistant after scan

QualiBooth displays a page score, lawsuit risk and a list of the issues it found.

You can click on the arrow in the Actions column to show more detail, and the individual element to show the exact place on the page the violation occurred.

Elements must meet minimum color contrast ratio thresholds

Elements must meet minimum color contrast ratio thresholds issue detail for LinkedIn button

In this case, the background colour of the LInkedIn social sharing button doesn’t have sufficient contrast with the white text.

Some issues come with examples of good code that you can adapt to remediate that particular issue.

Good code example for colour contrast

Development Assistant

The Development Assistant link opens the home page of your site in the Development Assistant, ready for a scan.

If you’re a WordPress user, I recommend not being logged into your site when you run a scan, as it will pick up accessibility issues related to the ARIA usage on the WordPress admin bar. This is part of WordPress Core and is only an issue for logged in users, which should not include your visitors (unless you have a membership site or similar).

Certain ARIA roles must be contained by particular parents

An additional feature of the Development Assistant is that you can highlight screen reader navigation mode by clicking on the eye icon. 

Qualibooth screen reader navigation

After you’ve enabled the mode, you’ll see arrows on the page indicating the path through the page that a screen reader user would follow. This could help you find an illogical tab order, for example.

QualiBooth screen reader navigation example

What sorts of issues does QualiBooth find?

Here are a few examples of accessibility issues found by QualiBooth. I installed it on my site as well as some test sites.

<ul> and <ol> must only directly contain <li>, <script> or <template> elements

List element has direct children that are not allowed: ul

This error is found in the navigation in the Twenty Twenty-Four theme with the WordPress Theme Test Data added. It occurs because the navigation has been marked up as a list incorrectly. The code shows a <ul> element nested in another <ul>. The correct code should have the second <ul> as a child of the <li> element.

Deque University reference: <ul> and <ol> must only directly contain <li>, <script> or <template> elements

All touch targets must be 24px large, or leave sufficient space

The History link is of insufficent size and not spaced out enough relative to other links

This error occurs in the default content for Twenty Twenty-Four theme when testing against WCAG 2.2. The footer menu items are too small and are too close together to make touch targets of the correct size. The solution would be to make the links bigger with CSS or to increase the space between them.

Deque University reference: All touch targets must be 24px large, or leave sufficient space

Heading levels should only increase by one

Heading order invalid

QualiBooth picked up on a missing heading level in the Hello Elementor theme. The heading level jumped from a Heading 1 (the post title) to a Heading 3 (One Response).

The best solution would be for the comment section in the theme to be coded to have a Heading 2.

According to David Swallow, a skipped heading level doesn’t represent a failure of WCAG, but not skipping heading levels is considered good practice.

Deque University reference: Heading levels should only increase by one

The skip-link target should exist and be focusable

Ensure all skip links have a focusable target

On the page I created in the Hello Elementor theme, it has a skip link but the link points to an element with the id content. No such id exists on the page.

As explained in the issue ”Skip links are not focusable” in some of elementor pages it happens when you use either an Elementor Single Post Template or the Elementor Full Width Page Layout. That strips out the <main id="content"> from the theme which breaks the functionality of the skip links.

Deque University reference: The skip-link target should exist and be focusable

Elements must only use supported ARIA attributes

ARIA attribute is not allowed: aria-selected="true"

The Elementor accordion title has an ARIA role of button but uses the aria-selected="true" property. This is not allowed for this role.

This is an open issue on GitHub: Accordion and Toggle have broken accessibility

Deque University reference: Elements must only use allowed ARIA attributes

Elements must only use permitted ARIA attributes

aria-label attribute cannot be used on a span with no valid role attribute

The issue here is with the Elementor carousel. The bullets for the pagination are marked up with <span> tags which have no ARIA role, so the aria-label attribute they have been given is invalid. This is an issue for the Elementor plugin developers to fix.

Deque University reference: Elements must only use permitted ARIA attributes

All page content should be contained by landmarks

Some page content is not contained by landmarks

QualiBooth picked up on an number of instances of this issue on my site’s homepage. Various sections on the page were not enclosed in semantic HTML elements such as <header>, <main> and <footer> or were lacking ARIA roles indicating their purpose.

This is an issue with the child theme of the Genesis Framework that I’m using, Breakthrough Pro.

Some of the content not marked by landmarks included:

  • Breadcrumbs
  • Post entry-meta
  • Post featured image
  • Blog subscription widget
  • Footer widgets

Deque University reference: All page content must be contained by landmarks

Document should not have more than one banner landmark

Document has more than one banner landmark

I was confused with this error until I used the Firefox Landmarks Extension. This shows that I have 2 banner landmarks, the site header and the post header.

Duplicate banner landmarks - site header and title

This happens because the post heading has been moved out of the loop through the breakthrough_move_page_headers() function in the theme.

Deque University reference: Page must not have more than one banner landmark

Ensures landmarks are unique

The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable

The issue highlighted is that landmarks should have a unique role or role/label/title (i.e. accessible name) combination. As there are multiple <header> elements, each one needs a unique identifier via the aria-label or aria-labelledby attribute. 

Deque University reference: Ensures landmarks are unique

Frames must have an accessible name

The YouTube embed code is lacking a <title> and ARIA attributes

This issue occurred on some of my posts with YouTube embeds, which were lacking a title or appropriate ARIA attributes.

This shouldn’t have happened because YouTube embeds on WordPress have title attributes.

After some investigation, I found that the Jetpack plugin which I use was stripping out the title attribute from the embed code. The solution was to disable the Jetpack shortcode embeds feature.

I also had the same issue with a Vimeo embed. There is a post noting the missing Vimeo block title attribute here. Unfortunately this does not appear to have been fixed in WordPress Core yet.

Deque University reference: Frames must have an accessible name

Scrollable region must have keyboard access

A GitHub gist that is scrollable should have keyboard access

I had this problem on some posts that included GitHub gists. 

One solution would be to include tabindex="0" on the scrollable regions, but as the gists are embedded using Javascript, I’m not sure how to implement this.

Deque University reference: Scrollable region must have keyboard access

ARIA hidden element must not be focusable or contain focusable elements

Focusable content should be disabled or be removed from the DOM

I found that this issue links to the Antispam Bee plugin, which adds a hidden textarea as a honeypot to guard against spam comments.

I raised this issue on the Antispam Bee WordPress support forum, and got this reply:

This code is our “honeypot”. It is hidden for sighted people with the CSS in the style attribute, and hidden to assistive technologies via aria-hidden=”true”. A bot fills out every form markup, including this hidden textarea. If there is content submitted in this field, we know it is spam, because no user (sighted or not) will recognize it, as it is hidden.

This is therefore a false positive, because it is the intention of this code to be hidden for everyone.

Deque University reference: aria-hidden elements do not contain focusable elements

Headings should not be empty

An example of an empty H3 heading

This came up on an older post using the Classic Editor which had created a couple of empty Heading 3s.

The solution was to edit the post to remove them.

Deque University reference: Headings should not be empty

Elements must meet minimum color contrast ratio thresholds

This issue came up in relation to my social sharing buttons: the brand colours for Facebook and LinkedIn didn’t have sufficient contrast with the white text.

Elemtent has insufficient colour contrast of 3.47. Expected contrast ratio of 4.5:1

For the time being, I have removed my social sharing buttons. It will be interesting to see if this has any impact on my pageviews!

Deque University reference: Elements must meet minimum color contrast ratio thresholds

Form elements must have labels

Form element does not have an explicit <label>

I deliberately created an HTML page with some accessibility errors to see if QualiBooth would pick up on them.

It flagged that my form lacked form labels. The code was:

<p>Name: <input /></p><p>Email: <input /></p>
<p>Website: <input /></p>
<p>Comment: <input type="textarea" rows="4" cols="50" /></p>
<p><input type="submit" value="Submit"></p>

This could be made accessible by adding labels to the form, like so:

<p><label for="your-name">Name:</label>
<input type="text" name="your-name" id="your-name">
</p>
<p><label for="email">Email:</label>
<input  type="text" name="email" id="email">
</p>
<p>
<label for="website">Website:</label>
<input  type="text" name="website" id="website">
</p>
<p>
<label for="comment">Comment:</label>
<input type="textarea" rows="4" cols="50"name="comment" id="comment"/>
</p>
<p><input type="submit" value="Submit">
</p>

Deque University reference: Form <input> elements must have labels

Images must have alternate text

Element does not have an alt attribute

QualiBooth picked up on the image lacking alternate text.

This is an easy fix, by modifying the original code

<img src="oranges-1995079.jpg">

to

<img src="oranges-1995079.jpg" alt="oranges and orange flower">

Deque University reference: Images must have alternate text

Links must have discernable text

Element is in tab order and does not have accessible text

This can be corrected by adding the target of the link to the code, from

<li><a href="https://x.com/"></a></li>

to 

<li><a href="https://x.com/">X</a></li>

Deque University reference: Links must have discernable text

Page should contain a level-one heading

Page must have a level-one heading

QualiBooth found that the page lacked a Heading 1. It starts with a Heading 2 instead.

This can be corrected by changing the <h2> to a <h1>.

Deque University reference: Page must contain a level-one heading

<li> elements must be contained in a <ul> or <ol>

List item does not have a <ul> or <ol> parent element

This error occurred because a <li> element was orphaned. It needs to be added into the list of links and given a proper target.

From

<li><a href="#"></a></li>

to 

<ul>
<li><ul><a href="https://www.google.com/">Google</a></li>  
<li><a href="https://www.facebook.com/">Facebook</a></li>  
<li><a href="https://x.com/">X</a>
<li><a href="https://www.instagram.com/">Instagram</a></li>
</ul></li>
<li><a href="https://x.com/">X</a></li>
<li><a href="https://www.linkedin.com/">LinkedIn</a></li> 
</ul>

Deque University reference: <li> elements must be contained in a <ul> or <ol>

<svg> elements with an img role must have an alternative text

<svg> elements with an img role must have an alternative text

This error occurs because the <svg> that was added is missing a title to describe it.

<svg role="img" id="e4eLJ59GRkZ1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 300 300" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"><polygon points="0,-114.769303 33.729852,-46.425158 109.152093,-35.465665 54.576047,17.732832 67.459704,92.850316 0,57.384651 -67.459704,92.850316 -54.576047,17.732832 -109.152093,-35.465665 -33.729852,-46.425158 0,-114.769303" transform="translate(150 154.41688)" fill="#efda04" stroke-width="0"/></svg>

This can be fixed by adding a title attribute to the code after the role="img” part:

<svg role="img" title="A yellow star"

Deque University reference: SVG images and graphics require accessible text

Fixing landmark issues on my site

I decided to make changes to my theme to fix the issues with landmarks that QualiBooth highlighted.

  • I gave the hero section on the home page a role of complementary. The main content of the home page fits in the <main> element.
  • I removed the headings.php file from the theme and the reference to it in functions.php. This had the effect of moving the entry-header and entry-meta into the <main> element on the page. As noted in the article How to use HTML5 sectioning elements to create useful accessible landmarks, a <header> element can sit within a <main> element and not be considered a landmark. This action fixed the duplicate banner landmark and landmark not unique issues I had. I also moved the breadcrumbs to <main>.
  • I gave the subscribe area above the footer widgets an aria-label="Subscribe" and role="region".
  • I gave the footer widgets a role="region" and aria-label="About this site".
  • I added support for featured images on posts and pages. These would be part of the <div> with class entry-content.
  • I made a number of CSS changes to retain the site’s spacing with the updated code.

After I did this, I only got one All page content should be contained by landmarks warning and that was for the skip link. Skip links don’t need to have a landmark, so this is okay.

What limitations does QualiBooth have?

QualiBooth is built on top of the Axe Core library; you can read the full list of accessibility checks QualiBooth makes. According to Deque, with axe-core, you can find on average 57% of WCAG issues automatically.

However, automated accessibility checkers like QualiBooth can’t check for every single accessibility issue. For example, a checker can detect if an image is missing alt text, but if alt text is present, a checker can’t tell if it makes sense in context. You will still need to make manual accessibility checks to ensure your website is compliant.

For more information on this topic, read 12 Issues Automated Web Accessibility Checkers Can’t Detect.

I did find that QualiBooth occasionally showed false positives in the Reports which didn’t show up when I used the Development Assistant.

Summing up

With legislation like the European Accessibility Act coming into effect in June 2025, it is more important than ever to ensure that your website is accessible.

Tools like QualiBooth help greatly in doing the spade work to find accessibility issues. QualiBooth is easy to set up and use, and helps you stay abreast of any accessibility problems with its real-time monitoring. Another plus point is that QualiBooth can scan protected pages and report on them. It also checks for issues that aren’t part of WCAG, but are good accessibility practice.

In terms of value for money, QualiBooth is more suited to small to larger businesses than freelancers like me. QualiBooth could be very helpful in checking the accessibility of sites with hundreds or thousands of pages.

Drawbacks include the fact that only a subset of accessibility issues are tested for, and there is sometimes a lack of information on how to remedy errors. It would also be good to be able to mark an issue is a false positive to stop it recurring in reports.

You can test out QualiBooth by performing a free scan.

Will you try QualiBooth? Let me know in the comments.

Related

Category: Accessibility, Software & Tech, Websites

About Claire Brotherton

Freelance web designer and front end developer based in Edinburgh, Scotland. I love WordPress, code, learning and blogging.

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email. Read my privacy policy.

potted cactus and laptop with code

Footer

Categories

  • Accessibility
  • Blogging & Content Marketing
  • Business
  • Personal
  • Software & Tech
  • Websites
  • WordPress

Top Posts

  • How To Create WordPress Excerpts And Include Links In Them
  • How To Solve WordPress Image Alignment And Text-Wrap Problems
  • Improve Your Divi Website's Reach With Divi Accessibility
  • How To Set Up And Customize Twenty Nineteen Theme
  • Registering a Domain Name with GoDaddy - Step by Step

Let’s Be Social

  • E-mail
  • Facebook
  • LinkedIn
  • Twitter
Copyright © 2014 -2025 A Bright Clear Web
  • Privacy and cookies policy
  • Site map