61% online-accessibility

Code Review | Accessibility Suite by Online ADA

WordPress plugin Accessibility Suite by Online ADA scored 61% from 54 tests.

About plugin

  • Plugin page: online-accessibility
  • Plugin version: 4.9
  • PHP version: 7.4.16
  • WordPress version: 5.9.2
  • First release: Nov 30, 2018
  • Latest release: Jan 7, 2022
  • Number of updates: 127
  • Update frequency: every 8.9 days
  • Top authors: onlineada (100%)

Code review

54 tests

User reviews

8 reviews

Install metrics

1,000+ active / 16,700 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors

Server metrics [RAM: ▼0.84MB] [CPU: ▼324.72ms] Passed 4 tests

A check of server-side resources used by Accessibility Suite by Online ADA
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.59 ▲0.0853.04 ▲4.23
Dashboard /wp-admin3.51 ▲0.1045.52 ▲13.47
Posts /wp-admin/edit.php3.74 ▲0.1039.40 ▲2.75
Add New Post /wp-admin/post-new.php3.34 ▼3.6333.44 ▼1,304.47
Media Library /wp-admin/upload.php3.39 ▲0.0925.44 ▼1.38
Start Audit /wp-admin/post-new.php?post_type=wcag_scan3.6940.60
Guidelines /wp-admin/edit.php?post_type=wcag_scan&page=wcag-guidelines3.4227.53
Scheduled Audits /wp-admin/edit.php?post_status=future&post_type=wcag_scan3.5026.25
Sitemap /wp-admin/edit.php?post_type=wcag_scan&page=sitemap3.3822.96
Getting Started /wp-admin/edit.php?post_type=wcag_scan&page=getting-started3.4124.56
Alt Tag Manager /wp-admin/edit.php?post_type=wcag_scan&page=fix_images3.3830.48
License /wp-admin/edit.php?post_type=wcag_scan&page=license3.3923.71
Community /wp-admin/edit.php?post_type=wcag_scan&page=community3.3923.14
Audit Results /wp-admin/edit.php?post_type=wcag_scan3.5027.48

Server storage [IO: ▲19.12MB] [DB: ▲0.00MB] Passed 3 tests

A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 383 new files
Database: 2 new tables, 3 new options
New tables
wp_oada_scans
wp_oada_false_positives
New WordPress options
accessibility-suite-pro-license-status
_oadaas_sitemap
oadaas-show-activation-message

Browser metrics Passed 4 tests

This is an overview of browser requirements for Accessibility Suite by Online ADA
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,904 ▲15015.92 ▲0.176.27 ▼0.022.22 ▼0.59
Dashboard /wp-admin3,028 ▲1676.24 ▲0.10128.40 ▼13.42206.74 ▲41.41
Posts /wp-admin/edit.php2,822 ▲1343.16 ▼0.0764.62 ▲1.78171.20 ▲27.77
Add New Post /wp-admin/post-new.php1,769 ▲10821.19 ▲5.12406.21 ▲16.50176.74 ▲20.28
Media Library /wp-admin/upload.php1,827 ▲1325.77 ▲0.24123.33 ▼21.23233.51 ▲44.28
Start Audit /wp-admin/post-new.php?post_type=wcag_scan2,2964.1282.33179.41
Guidelines /wp-admin/edit.php?post_type=wcag_scan&page=wcag-guidelines5,9383.1268.92282.82
Scheduled Audits /wp-admin/edit.php?post_status=future&post_type=wcag_scan1,5093.1263.08132.36
Sitemap /wp-admin/edit.php?post_type=wcag_scan&page=sitemap1,1172.4264.95137.40
Getting Started /wp-admin/edit.php?post_type=wcag_scan&page=getting-started1,4492.5557.08176.68
Alt Tag Manager /wp-admin/edit.php?post_type=wcag_scan&page=fix_images1,1152.4254.61141.32
License /wp-admin/edit.php?post_type=wcag_scan&page=license1,1593.1468.57152.61
Community /wp-admin/edit.php?post_type=wcag_scan&page=community1,1532.4253.80137.38
Audit Results /wp-admin/edit.php?post_type=wcag_scan1,5003.1861.63138.65

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
  • Zombie tables were found after uninstall: 2 tables
    • wp_oada_scans
    • wp_oada_false_positives
  • Zombie WordPress options detected upon uninstall: 2 options
    • oadaas-show-activation-message
    • accessibility-suite-pro-license-status

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Good news, no errors were detected

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please take a closer look at the following
  • 14× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
    • > /wp-content/plugins/online-accessibility/templates/free/sitemap.php
    • > /wp-content/plugins/online-accessibility/templates/free/fix-images.php
    • > /wp-content/plugins/online-accessibility/vendor/setasign/fpdf/tutorial/tuto3.php
    • > /wp-content/plugins/online-accessibility/vendor/setasign/fpdf/tutorial/tuto1.php
    • > /wp-content/plugins/online-accessibility/templates/fix-images.php
    • > /wp-content/plugins/online-accessibility/vendor/setasign/fpdf/tutorial/tuto7.php
    • > /wp-content/plugins/online-accessibility/templates/partials/review-valid.php
    • > /wp-content/plugins/online-accessibility/vendor/setasign/fpdf/tutorial/tuto4.php
    • > /wp-content/plugins/online-accessibility/vendor/setasign/fpdf/tutorial/tuto5.php
    • > /wp-content/plugins/online-accessibility/templates/partials/review-invalid.php
  • 67× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Trait 'ONLINE_ADAv4\\Traits\\Singleton' not found in wp-content/plugins/online-accessibility/includes/classes/Services/Updater.php on line 7
    • > PHP Fatal error
      Uncaught Error: Class 'setasign\\Fpdi\\FpdfTpl' not found in wp-content/plugins/online-accessibility/vendor/setasign/fpdi/src/Fpdi.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/online-accessibility/vendor/iio/libmergepdf/tests/IntegrationTest.php:5
    • > PHP Fatal error
      Uncaught Error: Class 'setasign\\Fpdi\\PdfParser\\Type\\PdfType' not found in wp-content/plugins/online-accessibility/vendor/setasign/fpdi/src/PdfParser/Type/PdfHexString.php:18
    • > PHP Fatal error
      Trait 'ONLINE_ADAv4\\Traits\\Singleton' not found in wp-content/plugins/online-accessibility/includes/classes/Api/Admin.php on line 7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function ONLINE_ADA\\get_option() in wp-content/plugins/online-accessibility/templates/alt-text.php:4
    • > PHP Fatal error
      Uncaught Error: Class 'setasign\\Fpdi\\PdfParser\\CrossReference\\AbstractReader' not found in wp-content/plugins/online-accessibility/vendor/setasign/fpdi/src/PdfParser/CrossReference/FixedReader.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/online-accessibility/vendor/iio/libmergepdf/tests/ReadmeIntegration.php:4
    • > PHP Fatal error
      Uncaught Error: Class 'FPDF' not found in wp-content/plugins/online-accessibility/vendor/setasign/fpdi/src/FpdfTpl.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'ONLINE_ADAv4\\Plugin' not found in wp-content/plugins/online-accessibility/templates/partials/banner.php:10

User-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
These are user-side errors you should fix
    • > GET request to /wp-admin/edit.php?post_type=wcag_scan&page=wcag-guidelines
    • > Javascript (severe) in unknown
    /wp-content/plugins/online-accessibility/admin/assets/js/guidelines.js?ver=4.8 9:32 Uncaught TypeError: Cannot read properties of undefined (reading 'embed')

Optimizations

Plugin configuration 76% from 29 tests

readme.txt 81% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that need to be fixed:
  • Donate link: Please fix this invalid url: ""
  • Tags: You are using too many tags: 12 tag instead of maximum 10
  • Plugin Name: You should set the name of your plugin on the first line ( === online-accessibility === )
You can look at the official readme.txt

online-accessibility/index.php 69% from 13 tests

The entry point to "Accessibility Suite by Online ADA" version 4.9 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
  • Description: The description should be shorter than 140 characters (currently 165 characters long)
  • Domain Path: The domain path points to a folder that does not exist ("/languages")
  • Text Domain: Please use dashes and lowercase characters for text domains
  • Main file name: Name the main plugin file the same as the plugin slug ("online-accessibility.php" instead of "index.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
No dangerous file extensions were detected53,396 lines of code in 270 files:
LanguageFilesBlank linesComment linesLines of code
PHP1682,6484,71836,591
CSS86402496,038
JavaScript103,4944,6885,798
HTML597203,240
JSON900742
SVG452481
Markdown91060292
Vuejs Component151187
XML10015
YAML14012

PHP code Passed 2 tests

Analyzing logical lines of code, cyclomatic complexity, and other code metrics
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.36
Average class complexity17.03
▷ Minimum class complexity1.00
▷ Maximum class complexity337.00
Average method complexity3.37
▷ Minimum method complexity1.00
▷ Maximum method complexity29.00
Code structure
Namespaces25
Interfaces3
Traits8
Classes84
▷ Abstract classes33.57%
▷ Concrete classes8196.43%
▷ Final classes22.47%
Methods653
▷ Static methods13120.06%
▷ Public methods52380.09%
▷ Protected methods11417.46%
▷ Private methods162.45%
Functions190
▷ Named functions15682.11%
▷ Anonymous functions3417.89%
Constants55
▷ Global constants1018.18%
▷ Class constants4581.82%
▷ Public constants45100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
11 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
public/img/eye-con.png1.07KB1.06KB▼ 1.00%
admin/assets/images/powered-by-limelight.png1.75KB0.66KB▼ 62.35%
public/img/logo-vert-dark.png6.82KB2.90KB▼ 57.47%
vendor/setasign/fpdf/tutorial/logo.png2.32KB2.26KB▼ 2.57%
public/img/contrast-icon.png1.28KB0.38KB▼ 70.31%