<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=278116885016877&amp;ev=PageView&amp;noscript=1">

, ,

Feb 18, 2023 | 5 Minute Read

Open Source Vs. Commercial Automated Solutions For Accessibility Testing

Table of Contents

Introduction

There are a plethora of mobile app accessibility automation tools available. But not every tool is infallible when testing for mobile accessibility. This raises several questions:

  • Are Open Source solutions superior to commercial solutions?
  • Should you prefer commercial solutions?
  • Can you use both?

Find the answers to these questions here.

This blog introduces a contrasting perspective to allow the use of different solutions while being realistic. Information about the investigation's method, results, and the conclusion is also collected.

To further shed light on the topic, issues discovered by the Open Source Library AllyUITests compared to the commercial solution Evinced SDK for iOS are used. For Android, the focus will be on the issues uncovered by Native Library AccessibilityTestFramework (ATF) compared to the commercial solution Evinced SDK.

Getting Started With The Method

Leveraging the power of automated tools in testing is rewarding in many ways. But the community is still looking for a silver bullet to act as a complete solution provider.

The SDK is standard for iOS and Android, which is why it was compared with XCUITest, the AllyUITests Library for iOS, Espresso Test, and the ATF Library for Android. The application under test is the Sauce Labs's Catalog page.

Summary Of The Results

The results acquired for both Android and iOS are given below.

Android

The Evinced SDK discovered a total of 89 issues, 40 of which were violations, and 49 were possible issues that required human inspection. On the other hand, ATF found a total of 99 problems. Out of all the issues, 50 were violations, and 49 were possible problems that needed a manual inspection.

A total of 188 problems were discovered. And ATF found ten unique problems that Evinced SDK couldn’t.

iOS

For iOS, the Evinced SDK discovered a total of 74 issues, 40 of which were violations, and 34 were possible issues that required human inspection. The AllyUITests found 418 issues, 45 violations, and 374 warnings.

Both tools discovered 420 problems. AllyUITests found 344 warnings that the Evinced SDK missed. Both Evinced SDK and AllyUITests discovered two issues. As a result, a combined total of 492 issues were identified.

AllyUITests found more problems than Evinced did, but those detected issues were not relevant. An extensive analysis of these issues is given in the anomalies section.

Analyzing The Results

It's easy to observe that the tools report issues differently. For example, AllyUITests and ATF can only find problems, warnings, or nothing. Evinced, on the other hand, can find both actual and possible problems.

This evaluation assumes that Evinced has resolved the problem, even if it requests human verification. Further interpretation is required to understand:

  • How the problems are outlined
  • Ease of readability of the report
  • Presence of screenshots
  • The number of critical issues found

Interpreting Evinced SDK Results

The Evinced SDK can produce two types of reports: a JSON report and an advanced HTML report. Other reporting tools can leverage the JSON report to create meaningful reports in the environments. The JSON report contains a large amount of data to analyze.

The HTML report is comprehensive and includes several accessibility issues in a tabular form. The table has all the information required to troubleshoot and figure out the problem. The report also consists of the following features:

 

Accessibility Problem Category

Accessibility violations can be split into different categories depending on the issue. It includes all current accessibility rules like a tappable area, duplicate name, and accessible name. Clicking on the issue description will also give you a more descriptive understanding.

 

Severity

The severity category includes various problem types and their severity. It contains all current severity levels:

  • Critical
  • Serious
  • Moderate
  • Minor
  • Best Practice
  • Needs Review

The needs review category necessitates human intervention to validate the accuracy of the results.

 

Element

This is a single element for which the Evinced SDK identified at least one accessibility violation. Element type, accessibility label, and accessibility ID data points are also attached to this item.

 

Element Description

This section briefly summarizes the issue in a single sentence. Visual aids can also be used to place elements by looking at the screenshot attached, which shows various problems.

element_description

Interpreting Espresso + ATF Results

The report was compiled by using the Espresso and ATF accessibility libraries. After compilation, Gradle was used for formatting the report. It generates a basic report. Non-technical people will need help understanding the report because it only produces technical exceptions primarily for debugging.

Issues like image view ID, the element's height and width, and whether or not it is clickable, focusable, or selected are all included in the report. It also provides element coordinates and recommendations for fixing accessibility issues. Unfortunately, no screenshots or highlighted text are included in this report.

results

Interpreting XCUI Results

The report was compiled using the XCUI Test Framework and the AllyUITest accessibility library. After compilation, it was formatted using XCPretty to create a basic HTML report with the following information:

  • Accessibility problem
  • The criteria used to identify the problem as an accessibility issue
  • Classification of the problem as either an error or a caution

This report does not include screenshots with the highlighted screen element. Also, no suggestions for fixing the issues are offered in this report.

interpreting_results

Categorizing Problems

When tests are run for the Sauce Labs app’s catalogue page, the issues are grouped into different categories for different tools.

Classification Of Issues In iOS

The problems discovered by the AllyUITest Library and the Evinced Flow SDK can be categorized for easy comparison.

 

Category

Severity

AllyUI Test

Evinced Flow SDK

Hit Area Is Too Small

Medium

92

34

Special Characters

Medium

0

1

Inaccessible Name

Serious

30

6

Label In Type

Trivial

1

1

Duplicate Names/Labels

Minor

294

32

No Element With Header Trait

Minor

1

0

Total

 

418

74

Classification Of Issues In Android

The issues found in Android by the ATF Library and the Evinced Flow SDK can be categorized for easier comparison.

 

Category

Severity

Espresso + ATF Framework

Evinced Flow SDK

Hit Area Is Too Small

Serious

49

49

Inaccessible Label

Serious

50

40

Total

 

99

89

comparative-analysis-of-tools

Comparison Between The Solutions Based on Severity

Based on the report generated by each automated solution, accessibility issues can be categorized according to the severity of the issues.

For Android:

 

Severity

Evinced SDK Android

ATF

Critical

40

50

Moderate

49

49

Total

89

99

For iOS:

 

Severity

Evinced SDK

AllyUITest 

Critical

6

30

Moderate

34

92

Minor

32

294

Best Practices

2

2

Total

74

418

Anomalies

There are a few anomalies in the Evinced SDK and ATF framework. But the features that distinguish AllyUITest from other frameworks are:

Tappable Area

AllyUITests divides this type of problem into two subcategories for a given UI component, including:

  • The interactive element is not tall enough
  • The interactive element is not wide enough

Compared to other tools, this results in twice as many counts. This is because other tools generally state that the tappable area of the element is too small and does not further divide the category into two parts.

Duplicate Names

The experts at Axelerant think that the unusually high number of bugs found in this category could be due to a recently opened issue in which access to hidden elements is being tested.

Conclusion

It is difficult to prioritize one solution over the other as Open Source and commercial tools find similar problems with a few unique issues. Even if AllyUITest, or ATF, finds more bugs than the Evinced SDK, that doesn't mean it's necessarily superior, as the bugs covered by this suite of tests may play to the advantages of Open Source solutions. The Evinced SDK will likely beat Open Source Solutions on different tests. Also, the Evinced SDK has better reporting than native solutions, with easy-to-understand bugs, categories, and screenshots.

Depending on the user's needs and overall strategy, one should pick the preferred tools based on these tests. A hybrid approach involving fully automated solutions and supplementary semi-automated scanners is possible.

For example, if you use the Evinced SDK as part of a fully automated solution, you can use Accessibility Scanner and Accessibility Inspector as semi-automated tools to improve coverage. Alternatively, Open Source solutions like AllyUITest and the ATF libraries can be used for an automated solution and supplement that with the semi-automated Evinced Mobile Analyzer and Accessibility Scanner.

The second option has zero associated costs because it uses entirely free resources. But Evinced SDK requires a payment to be made.

Read more about Accessibility testing here

 
About the Author
Shefali Arya, QA Engineer - L2
About the Author

Shefali Arya, QA Engineer - L2

International culinary enthusiast with wanderlust—and by wanderlust she means she wants to see the whole world.


Back to Top