Accessibility testing ensures that software, websites, or digital content are usable by individuals with physical, sensory, cognitive, or developmental impairments.
Its goal is to identify and remove barriers that hinder effective use, promoting inclusivity and enabling everyone to engage with and benefit from digital products.
In this article, let's explore the importance of accessibility testing and provides a comprehensive guide to performing it for your application.
Accessibility testing rose along with the demand for inclusivity in product development. For example, almost all cars with a stick-shift system are designed for right handed people who account for 90% of the world population, leaving out the left-handed.
Recently, many car manufacturers have replaced the stick-shift design with an interactive touch screen, reflecting a user-centric approach. With new technology comes the need for accessibility testing to evaluate its quality.
The software industry underwent the same trend. Several technologies designed for accessibility in software include:
Accessibility standards have been established long before the Internet, but have been revised to also apply to web-based products. These standards ensure that individuals with disabilities have equal access to information, services, and opportunities provided by digital platforms. It has positive economic and societal impacts by challenging old stereotypes and promoting a more accepting mindset.
Several notable accessibility standards in software development and software testing include:
There are many country-specific regulations that accessibility testers should know to include in their test plan, ensuring that their applications are compliant with the law.
More than just legal compliance, incorporating accessibility testing best practices aligns your strategy with social responsibility values.
Social responsibility means a lot to all parties. It is a unique way to promote a healthy brand image while providing great value to an underserved user base, and research shows that corporate social responsibility does impact employee satisfaction. It instills employees with a sense of purpose in creating inclusive products and applications.
Accessibility testing future-proofs your software and encourages innovation to accommodate for the ever-evolving standards as well as the need for customization.
Through accessibility development and accessibility testing, you create products and services that are usable by everyone.
Here's an example of accessibility testing: a job portal discovered that 10% of its users faced accessibility issues. Testing revealed problems like:
To enhance the user experience and address these issues, the portal's developers decided to adopt accessibility testing.
To ensure accessibility, it’s crucial to understand “focus” and “focus indicator” in web development.
These concepts are key to accessibility design. Here’s how they’re tested:
<nav role="navigation">
<ul>
<li><a href="#" aria-label="Home">Home</a></li>
<li><a href="#" aria-label="About">About</a></li>
<li><a href="#" aria-label="Services">Services</a></li>
<li><a href="#" aria-label="Contact">Contact</a></li>
</ul>
</nav>
Accessibility testing has two main approaches: manual and automated.
With some configuration and basic computer skills, you can perform accessibility testing yourself.
You can enable high contrast mode to highlight the content of the website. Simply go to high contrast mode through the search box or settings. Select the high contrast theme from the drop-down menu. You should see your screen turning into one similar to an inverted color screen like this:
Alt text is only displayed when the image is not loaded properly. To do this, testers must temporarily disable image loading to see if the content remains readable.
In Google Chrome, go to Settings > Privacy and Settings > Site Settings. Upon scrolling down you should see the “Image” tab. Click on it and you’ll see under the Default Behavior section there is a “Don’t allow sites to show images”. This will disable images and replace them with alt text.
In Internet Explorer, you can uncheck "show pictures" in the advanced settings, while in Firefox, type "about:config" in the search bar and adjust the value of "permission.default.image." from 0 to 1, with 0 being the default usual images and 1 means blocking image loading.
This type of test focuses on accessing the website using only the keyboard, without relying on mouse interaction.
Try navigating through the website using the "Tab" key to move the focus between links and interactive elements. Use "Tab" + "Shift" to move the focus backward to where you were previously.
After browsing around the web with your keyboard, you should have a better understanding if the functionality and content can be accessed and operated using keyboard navigation alone, benefiting users who may have difficulty using a mouse.
You can verify if the content remains readable and does not become distorted or lose functionality on the website with the font size set to "large" or increased in size.
Most users use the Ctrl and +/- shortcut to quickly zoom in/out on Windows or the ⌘ with +/- for Mac. In some cases, the images or letters don’t enlarge even when you zoom in, which can be quite a frustrating experience for any user interacting with the site.
Katalon is a modern, comprehensive AI-powered automation solution designed to automate tests for web, API, desktop, and mobile apps, all in 1 place. It is a powerful tool to create, execute, and manage your testing activities with low-code features such as Record-and-Playback where you can record your activities and turn that sequence into a test script, or use the prebuilt list of keywords to craft a test script with just a few drag-and-drops.
You can easily automate accessibility testing at scale by combining Katalon’s low-code automation features with Axe’s accessibility testing tool thanks to the Axe-core library integrated in Katalon Studio.
To automate accessibility testing in Katalon, first download our free Katalon Studio along with the axe-core library. After you have successfully logged in to Katalon, navigate to the menu: Project > Settings > Library Management.
After you added the axe-core library .jar file, you can run your accessibility test with a custom keyword. Go to File > New > Package to create a Keyword Package. We’ll name it “accessibility”
Next go to File > New > Keyword to create a Keyword called AxeKatalon. It’ll be placed in the package you’ve just created.
Add the script below to your keyword file.
import com.kms.katalon.core.util.KeywordUtil import java.text.SimpleDateFormat import com.kms.katalon.core.configuration.RunConfiguration import com.kms.katalon.core.webui.driver.DriverFactory import com.deque.html.axecore.selenium.AxeBuilder; import com.deque.html.axecore.selenium.AxeReporter; import com.deque.html.axecore.selenium.ResultType; import com.deque.html.axecore.results.Results; import com.deque.html.axecore.results.Rule; import static com.deque.html.axecore.selenium.AxeReporter.getReadableAxeResults; @Keyword def checkAccessibility() { Results results = new AxeBuilder().analyze(DriverFactory.getWebDriver()) List<Rule> violations = results.getViolations() if(violations.size() == 0){ KeywordUtil.logInfo("No Violation Found") } String AxeReportPath = RunConfiguration.getReportFolder()+ File.separator String timeStamp = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new java.util.Date()) String AxeViolationReportPath=AxeReportPath + "AccessibilityViolations_" + timeStamp AxeReporter.writeResultsToJsonFile(AxeViolationReportPath,results) KeywordUtil.logInfo("Violation Report Path"+ AxeViolationReportPath) if(getReadableAxeResults(ResultType.Violations.getKey(),DriverFactory.getWebDriver(),violations) ){ AxeReporter.writeResultsToTextFile(AxeViolationReportPath, AxeReporter.getAxeResultString()) } } }
You now have an entire keyword that can be reused across any test cases you want! You can add the keyword as a test step in your test case. The other steps used in this case (Open Browser, Navigate to URL, etc.) are all built-in keywords, and you can immediately access them at the Built-in Keywords folder.
It takes a few minutes to craft a test case that can be automatically executed on any browser that Katalon Studio supports (Chrome, Mozilla Firefox, Edge Chromium, Safari). You can use this keyword for different pages on the website depending on your navigation flow.
After you execute the test, the accessibility test reports are generated in TXT and JSON format in the Katalon Studio report folder.
Start Testing With Katalon Today
1. What are the four principles of accessibility testing?
The four principles of accessibility testing, based on WCAG, are: Perceivable, Operable, Understandable, and Robust. These ensure content is accessible to all users, including those with disabilities.
2. Which tool is best for accessibility testing?
Popular tools include Axe, WAVE, Lighthouse, and JAWS. The best tool depends on your specific requirements and whether you need automated or manual testing features.
3. What is WCAG AAA?
WCAG AAA is the highest level of compliance in the Web Content Accessibility Guidelines, ensuring maximum accessibility for all users, including those with severe disabilities.
4. What is the difference between accessibility testing and usability testing?
Accessibility testing focuses on ensuring the product is usable for people with disabilities, while usability testing evaluates how user-friendly and efficient a product is for all users.
5. Is accessibility testing functional or nonfunctional?
Accessibility testing is nonfunctional, as it assesses how usable the system is for individuals with disabilities rather than evaluating core functionality.
6. What is the basic of accessibility testing?
The basics include ensuring compatibility with screen readers, keyboard navigation, appropriate color contrast, and alt text for images to make content accessible.
7. How to do accessibility testing manually?
Manual accessibility testing involves checking keyboard navigation, validating screen reader compatibility, verifying alt text, and reviewing WCAG compliance through hands-on interaction with the website.
8. What are the three different testing approaches?
The three testing approaches are manual testing, automated testing using tools, and hybrid testing, which combines both methods for thorough analysis.