Skip to content

jawadmalikdev/accessibility-checker

 
 

Repository files navigation

=== Equalize Digital Accessibility Checker - Audit Your Website for WCAG, ADA, and Section 508 Accessibility Errors ===
Contributors: equalizedigital, alh0319, stevejonesdev
Tags: accessibility, accessible, wcag, ada, WP accessibility, section 508, aoda, a11y, audit, readability, content analysis
Requires at least: 5.0.0
Tested up to: 6.4.1
Stable tag: 1.6.9
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html


Audit and check your website for accessibility before you hit publish. In-post accessibility scanner and guidance for WCAG compliance. No API or per page fees.

== Description ==

[Plugin Website](https://equalizedigital.com/accessibility-checker/) | [Documentation](https://equalizedigital.com/accessibility-checker/documentation/) | [Compare Free to Pro](https://equalizedigital.com/accessibility-checker/features/#comparison) | [Get Pro](https://equalizedigital.com/accessibility-checker/pricing/) | [WP Accessibility Meetup](https://equalizedigital.com/wordpress-accessibility-meetup/) | [WP Accessibility Facebook Group](https://www.facebook.com/groups/wordpress.accessibility)

### Make Your Website Accessible with Accessibility Checker 

Equalize Digital's Accessibility Checker provides accessibility error and warning notifications right on your post and/or page edit screen. 

Accessibility Checker automatically scans your content each time you save a draft or hit publish, giving you real-time feedback on your post's or page's accessibility. Receive a visual overview of how your content stacks up against more than 40 different accessibility checks created to meet Web Content Accessibility Guidelines (WCAG) 2.1 success criteria. 

For each error or warning flagged, Accessibility Checker lists the code that triggered the error or warning. Each item is identified as an error or warning depending upon its severity, so that you can prioritize your fixes. Thorough documentation is available to guide you on how to fix accessibility problems on your website and personalized accessibility remediation assistance and accessibility consulting is available if desired.

### Ensure Ongoing ADA, Section 508, AODA, & WCAG Compliance

For already accessible websites, Accessibility Checker is an excellent tool for ensuring ongoing compliance and accessibility. 

The in-page tests help content managers and contributors confirm they have entered their content in an accessible manner. There's no need to be an accessibility expert or memorize long lists of WCAG success criteria - Accessibility Checker provides an easy to understand accessibility checklist and reading level checks so that you can ensure you're not adding accessibility problems as new content is added. 

Content area scans are visible on each post's or page's edit screen as you type - no need to go elsewhere on your site to view results or visit a third-party website. These scans allow your team to create accessibile websites from the start, reducing the need for costly retroactive remediation.

### A Vital Part of Your WordPress Accessibility Strategy

Accessibility Checker is the best automated tool to run along with your manual accessibility tests. It's perfect for **small business websites**, **large enterprise organizations**, and everything in between. Whether you're running a small brochure website, an **eCommerce** store with thousands of products, or a **multi-site** network for a university, Accessibility Checker is the right tool for your website.

* **No limits on pages scanned.** Have hundreds of blog posts or pages on your website? No problem! 
* **Coded and tested by accessibility experts.** Equalize Digital is a corporate member of the International Association of Accessibility Professionals and experts at building accessible WordPress websites.
* **WCAG 2.1 A, AA, & AAA guidance.** Flags errors and warnings for accessibility problems according to WCAG 2.1.
* **Readability analysis & auto insertion of simplified summary.** Includes a Flesch Kincaid grade level analysis and place to enter a simplified summary to meet WCAG Success Criterion 3.1.5 Reading Level.
* **Ignore feature.** Easily close errors or warnings that have been assessed manually and determined to be not relevant. Optionally, document a reason/notes with each ignore. Logs username and date/time when errors/warnings are ignored.
* **Accessibility statement.** Draft accessibility statement that you can modify for your organization and publish on your website to share your accessibility efforts with the public.
* **Footer accessibility statement.** One-click to insert an accessibility statement in your footer.
* **Detailed documentation.** Thorough help articles and instructions for fixing problems - the perfect resource for learning more about accessibility.
* **[Pro] Bulk scanning.** Scan all posts and pages in bulk rather than one-by-one for an overview of your entire site's accessibility.
* **[Pro] Scan additional post types.** Add the Accessibility Checker in-post accessibility audit to any post type present on your website.
* **[Pro] Admin columns.** Quickly seeing the accessibility status of posts and pages at a glance by adding accessibility status columns.
* **[Pro] Centralized Open Issues list.** See all existing issues in one place for fast-track accessibility remediation.
* **[Pro] Ignore Log.** See all items that have been ignored on the website, by whom, and when, in one central place. Reopen errors or warnings that have been incorrectly ignored.
* **[Pro] User restrictions on Ignore.** Limit which user roles can ignore errors and warnings - allows for greater admin control and management of accessibility review.
* **[Pro] Rename Simplified Summary.** Rename the simplified summary heading to something that makes more sense for your audience and brand.

### How It Works

To get started with Accessibility Checker or learn more about how it works, please reference our [Getting Started Quick Guide](https://equalizedigital.com/accessibility-checker/getting-started-quick-guide/) or watch this quick video demonstration of the software. Please note that the video demonstration does show some features that are only available in the paid version.

[youtube https://www.youtube.com/watch?v=ncAfP06dPpU]

### Our Support Team is Here to Help You

The Equalize Digital team aims to provide regular support for Accessibility Checker on the WordPress.org forums. If you have a question about the plugin or its use, please post in the support forum, and we will do our best to help you in a timely manner. Our support hours are Monday-Friday, 9:00 AM to 5:00 PM U.S. central time. Please understand that we do prioritize support for purchasers of Accessibility Checker Pro.

If you need one-on-one email support, please consider purchasing [Accessibility Checker Pro](https://equalizedigital.com/accessibility-checker/pricing/). Accessibility Checker Pro customers receive unlimited personal support on plugin usage and features. 

Join our [WordPress Accessibility Facebook group](https://www.facebook.com/groups/wordpress.accessibility) for community support and to connect with other developers, designers, and content creators who are working to make their websites more accessible. This is a great place to get free WP accessibility remediation assistance from others in the community.

For paid Accessibility Checker customers on a small business plan or above, we provide two accessibility [office hour
](https://equalizedigital.com/accessibility-checker/pricing/#common-pre-sale-questions) calls each month to address your remediation queries. This is an invaluable resource for those who need direct assistance and expert insights when making their sites more accessible.

### Multi-platform Accessibility

Accessibility Checker supports a variety of WordPress editors and can scan and identify issues no matter how you're building your site. Accessibility Checker has been tested and confirmed compatible with:

* Gutenberg Block Editor
* The Classic Editor
* Advanced Custom Fields
* Beaver Builder
* Divi
* Elementor
* Oxygen
* **[Pro]** WooCommerce

### Learn Accessibility

Want to learn more about accessibility and stay on-top of accessibility best practices? Attend an official WordPress Accessibility Meetup!

These free virtual meetups are held twice per month via Zoom and are live captioned. [Learn more about WP Accessibility Meetup](https://equalizedigital.com/wordpress-accessibility-meetup/)

### About Us

[Equalize Digital](https://equalizedigital.com) is a Certified B Corporation, WordPress VIP Agency Partner, and corporate member of the International Association of Accessibility Professionals (IAAP), striving to create a world where all people have equal access to products and tools on web, regardless of ability. Our team has been building custom WordPress websites, themes, and plugins since 2010 and working on government, higher ed, and enterprise websites since 2016. We created Accessibility Checker after hearing from our clients about the challenges that they face in maintating accessibility on their websites. We're continually working to improve Accessibility Checker and are proud to give back to the WordPress community through education and support.

== Installation ==

Getting started with Accessibility Checker is as easy as installing and activating the plugin, then configuring a few basic settings.  

### Installing Accessibility Checker Within WordPress
1. Visit the plugins page within your dashboard and select ‘Add New’.
2. Search for ‘Accessibility Checker’;
3. On the Accessibility Checker plugin, click or activate the 'Install' button.
4. Activate Accessibility Checker from your Plugins page.
5. Follow the ‘after activation’ steps listed below.

### Installing Accessibility Checker Manually

1.Upload the unzipped ‘accessibility-checker’ folder to the /wp-content/plugins/ directory on your website via FTP.
2. Activate Accessibility Checker from your Plugins page.
3. Follow the ‘after activation’ steps listed below.

### After Activation
After activating the plugin, go to the Accessibility Checker settings page in your WordPress admin (found at '/wp-admin/admin.php?page=accessibility_checker_settings') to configure the plugin settings.

Current settings in the free plugin include:
* Ability to control when the plugin prompts for a Simplified Summary.
* Ability to set the position of the Simplified Summary, if using, above or below content or manually with a function in a page template.
* Ability to turn off Accessibility Checker for posts or pages as desired.
* Set a username and password to allow scanning functionality on password-protected sites.

== Frequently Asked Questions ==

= Does this plugin make my website accessible? =

No. Despite what other plugins, integrations, or overlay products might tell you, there is **NO** way for any automated tool or plugin to ensure your website is fully accessible. True accessibility can only be achieved through a combination of automated scans and manual review, and if you read the 'fine print' for any of the accessibility overlays or plugins on the market, you'll see that they do not guarantee your website will be accessible.

Accessibility Checker does not make your website accessible, but it is a valuable tool to help you make your website accessible, the right way.

= Is this an accessibility overlay or tool bar like AccessiBe, Userway, AudioEye, etc.? =

No. Accessibility Checker is a testing tool that scans for problems and presents reports in the admin dashboard. It does not "fix" problems or add any overlays, toolbars, or widgets to the front end of your website. It will not use JavaScript to modify how screen reader and other assistive technology users are able to engage with your website.

Accessibility Checker is the kind of accessibility tool that accessibility consultants and people with disability support - one that helps you identify issues so that you can make your website accessible the right way.

= Does Accessibility Checker scan all of my content? =

Accessibility Checker Free scans blog posts and pages, including the header, content area, sidebar, and footer on those pages. There is no limit to the number of pages or posts that you can scan with Accessibility Checker or the number of times any one page or post can be scanned. So, if your website only contains standard posts and pages, then YES, Accessibility Checker will scan all of your content. If you have custom post types (such as a portfolio, team member pages, or WooCommerce products), the free version of the plugin will not scan these posts.

For bulk full-site scanning or to check custom post types for accessibility, please upgrade to [Accessibility Checker Pro](https:my.equalizedigital.com).

= How do I know how to fix accessibility problems on my website? =

Every error and warning in Accessibility Checker has an 'i' icon to the right of the error or warning name on the details tab. If you click these 'i' icons, you'll be directed to a help article that clearly explains what the error or warning is, what its impact on accessibility is, and how to fix or resolve it. Generally, these help articles will provide sufficient information to point you in the right direction, but if you still have questions, open a support ticket on WordPress.org and we'll do our best to help you.

= Can you help me fix accessibility problems on my website? =

Yes! If you need need accessibility fixes custom coded for your site, we offer website accessibility remediation to help bring your current site into compliance. [Learn more about Website Accessibility Remediation](https://equalizedigital.com/services/website-accessibility-remediation/)

= What if there are accessibility errors in my theme or a plugin that I cannot fix? =

If Accessibility Checker is identifying errors in your theme or a plugin and you're not sure how to fix them, the best bet is to reach out to the theme or plugin developer for assistance. If that does not work, we may be able to help.  There is more guidance about how to handle problems in your theme or plugins at:
* [What to do if a Plugin You’re Using has Accessibility Errors](https://equalizedigital.com/accessibility-checker/errors-in-plugin/)
* [What to do if There are Accessibility Errors in Your Theme](https://equalizedigital.com/accessibility-checker/errors-in-theme/)

= Will this slow down my website? =

Accessibility Checker does not load anything on the front end of your website so it has zero speed impact for your website visitors.

= Do I have to connect to any third-party APIs? =

No, Accessibility Checker runs completely on your server and does not require you to connect to any external APIs or services for scans. This can save you thousands of dollars per year in accessibility scanning fees and is privacy-focused, ensuring that your website data stays completely under your control.

== Screenshots ==

1. Accessibility Checker Summary tab on a page with numerous errors and warnings.
2. Accessibility problems can be viewed on the front end of the website, as shown on the NASA website.
3. Accessibility Checker Details tab showing errors, warnings, and passed checks.
4. Expanded error example 'Image Empty Alternative Text' showing the code for 7 items that caused the error to be flagged.
5. Ignore comment box and button to ignore the error.
6. Example of an ignored error, including the username and date/time the error was ignored. Ignored errors and warnings can be reopened if ignored incorrectly.
7. Accessibility Checker Readability Tab checks the grade level of the content and allows for the insertion of a simplified summary to meet WCAG AAA accessibility.
8. Accessibility Checker Summary tab on a page with no accessibility error or warnings and an included simplified summary.

== Changelog ==

= 1.6.9 =
Added: functionality to handle loopback environments

= 1.6.8 =
Updated: system info to stop showing edac_authorization_username & edac_authorization_username
Updated: system info to show edacp_authorization_username & edacp_authorization_username for pro users

= 1.6.7 =
Updated: logic for Link to MS Office file
Updated: last full-site scan label and date format

= 1.6.6 =
Added: ability to force refresh welcome screen report

= 1.6.5 =
Fixed: function edac_password_protected_notice_text to call from the admin notices class

= 1.6.4 =
Fixed: password protected admin noticed function call

= 1.6.3 =
Added: email opt-in to welcome page
Added: support for formatting numbers and percentages in PHP installs that were build without the intl library
Added: the see history button for audit history add-on
Updated: admin notices to load from a custom class

= 1.6.2 =
Added: check for WordPress Playground

= 1.6.1 =
Updated: passed percentage calculation
Updated: frontend highlighting disable styles to be compatible with optimization plugins
Fixed: average issue density percentage not accounting for site ID and ignores
Updated: body density to receive HTML rather than the dom object
Updated: empty link check logic
Added: minor coding standards improvements

= 1.6.0 =
Added: dashboard reports widget
Added: frontend highlighting page scan trigger
Added: enhancements to the Low-quality Alternative Text check
Fixed: adherence to coding standards
Fixed: frontend highlighting responsiveness on mobile
Fixed: frontend highlighting's broken ARIA reference
Fixed: Issue Density bug when creating a new post
Fixed: a bug on the reports dashboard widget and welcome page when no post types are selected in the settings
Fixed: settings page tab order bug
Updated: scanning process to exclude the admin bar and the query monitor
Updated: improvements to the Ambiguous Anchor check
Updated: the Browser.php class has been restructured to load via Composer
Updated: the TextStatistics class is now loaded through Composer
Updated: text domain and internationalization on user-facing strings
Updated: reports dashboard widget and welcome page now have improved refresh and caching
Updated: the date format on the reports dashboard widget and the welcome page now respects the site's timezone setting
Updated: Improved performance during the purge of issues after changing the "post types to scan" setting
Removed: CSS output when a user is logged out

= 1.5.6 =
Fixed: reading level ajax timing issue

= 1.5.5 =
Fixed: frontend highlighting description panel close button JavaScript error
Fixed: frontend highlighting no issues detected JavaScript error
Fixed: frontend highlighting panel close button bug

= 1.5.4 =
Updated: welcome page data caching for better performance
Removed: dashboard reports widget

= 1.5.3 =
Updated: prevent enqueue scripts from running if global post is not defined

= 1.5.2 =
Fixed: missing class
Removed: Freemius

= 1.5.1 =
Updated: button screen reader text

= 1.5.0 =
Added: site wide summary
Added: accessibility checker dashboard widget
Updated: welcome page
Updated: frontend highlighting accessibility

= 1.4.4 =
Removed: unused class

= 1.4.3 =
Updated: frontend highlighting to allow ignored items accessed via the view on page button
Updated: frontend highlighting panel logic to match selected post types in the settings
Updated: frontend highlighting button size and placement improvements
Updated: frontend highlighting number of issues output
Updated: frontend highlighting scroll-to improvements
Fixed: Freemius icon output
Updated: demo video

= 1.4.2 =
Added: frontend highlighting loading message
Removed: frontend highlighting ignored issues
Removed: frontend highlighting from customizer
Fixed: frontend highlighting link styles
Updated: frontend highlighting to allow elements that violate multiple rules
Fixed: frontend highlighting elements not highlighting after closing the controls panel
Fixed: frontend highlighting not finding images due to extra whitespace
Updated: ambiguous text check to ignore svgs and icons
Updated: animated gif check include animated webP images
Updated: animated gif check to disregard URL parameters
Fixed: undefined array key "query"
Fixed: Reading level icon logic

= 1.4.1 =
Updated: Freemius SDK to the latest version

= 1.4.0 =
Added: frontend issue highlighting
Updated: simple html dom to use strict on seek call to fix issue with too much recursion with complicated CSS
Added: description and warning for Post Types to be Checked

= 1.3.28 =
Fixed: enqueue error on empty post types

= 1.3.27 =
Fixed: uninstall delete data

= 1.3.26 =
Fixed: database creation bug
Fixed: simplified summary output

= 1.3.25 =
Fixed: video is present duplicating issues
Updated: Missing subheadings word count
Updated: prompt for simplified summary aded never option
Fixed: minor coding standards
Updated: Freemius SDK to version 2.5.8

= 1.3.24 =
Added: user_agent to file_get_html context
Added: follow_location to file_get_html context to prevent scanning of offsite links
Added: querystring check to file_get_html url to prevent malformed urls when the cache breaker string is appended
Updated: get CSS via wp_remote_get

= 1.3.23 =
Added: GAAD Admin Notice

= 1.3.22 =
Fixed: conflict with full site editor
Fixed: bug with the Image Empty Alternative Text check not detecting images
Fixed: bug with ignore button not working on the open issues and the ignore log

= 1.3.21 =
Fixed: issue of reading level & simplified summary mismatching
Updated: password protected admin notice to be dismissable
Updated: position of password protected notice on single post
Fixed: issue with summary panel not showing if password protected

= 1.3.20 =
Updated: freemius to the latest version

= 1.3.19 =
Updated: color contrast failure check

= 1.3.18 =
Updated: system info custom post type output

= 1.3.17 =
Fixed: license constant conflict

= 1.3.16 =
Fixed: issue with ignored issues being removed on post save
Fixed: issue with escaped html displaying on simplified summary
Fixed: Ignored items label

= 1.3.15 =
Remove: license tab
Updated: license checks

= 1.3.14 =
Added: security fixes

= 1.3.13 =
Fixed: nonce plugin update conflict

= 1.3.12 =
Added: added security check to system info download

= 1.3.11 =
Updated: quick edit save to check if _inline_edit array key is set

= 1.3.10 =
Added: image column to details panel to display issue image
Updated: details rule name to an H3 and added hidden h4 for each issue
Added: aria-label to details expand button
Added: space between number and error name in error details list
Added: aria-expanded and aria-controls to buttons on details panel

= 1.3.9 =
Added: filter edac_no_verify_ssl to bypass SSL validation. Use: add_filter( 'edac_no_verify_ssl', '__return_true' );
Fixed: undefined variable error color contrast failure check

= 1.3.8 =
Updated: database index on postid for better performance

= 1.3.7 =
Fixed: issue when restricted websites fail to generate post meta

= 1.3.6 =
Fixed: password protection notice logic

= 1.3.5 =
Fixed: marketing notice logic

= 1.3.4 =
* Updated: ARIA Hidden check to ignore for core spacer block
* Updated: Ambiguous Anchor Text check to disregard spaces and punctuation
* Updated: Footer statement link with 'opens in new window' aria-label
* Updated: Link Opens New Window or Tab check to search for contained phrases rather than equal to phrases
* Added: Support for role attribute to Missing Subheadings and Incorrect Heading Order checks
* Added: Improper Use of Link check
* Updated: Broken Skip or Anchor Link check to exclude error now flagged by the Improper Use of Link check
* Added: Password protection notices

= 1.3.3 =
* Fixed: force color contrast font size value

= 1.3.2 =
* Fixed: minor bug in replace css variables function

= 1.3.1 =
* Fixed: compiled JavaScript to latest version

= 1.3.0 =
* Removed: Admin Notices from plugin settings pages
* Updated: Location of ignore count and made less ambiguous on the details tab
* Fixed: Code snippet wrapping
* Updated: Database check to ensure tables exist
* Added: Rule summary text to rules array

= 1.2.14 =
* Show Open Issues and Ignore Log admin pages to users with ignore permissions bug fix

= 1.2.13 =
* Show Open Issues and Ignore Log admin pages to users with ignore permissions
* Fix bug when post types setting was blank

= 1.2.12 =
* Updates to system info

= 1.2.11 =
* Fix conflict with widgets block editor
* Fix post types setting bug

= 1.2.10 =
* Fix issue with unmatched reading levels

= 1.2.9 =
* Add support for PHP 8
* Make helper icons links less ambiguous

= 1.2.8 =
* Freemius Update

= 1.2.7 =
* Add accessibility statement page template 

= 1.2.6 =
* Minor accessibility updates

= 1.2.5 =
* System info updates

= 1.2.4 =
* Add Oxygen Builder shortcode content to readability scan

= 1.2.3 =
* On save check post types to prevent menu save error

= 1.2.2 =
* Add support for Accessibility New Window Warning Plugin
* Delete issues and meta data when post is added to trash
* Color Contrast and Possible Heading minor bug fixes
* Fixed post type purge bug when saving settings
* Review notification

= 1.2.1 =
* Fixed database version that was preventing the database from being created on activation

= 1.2.0 =
* Improved ambiguous text check to include aria-label and aria-labelledby
* Color contrast adjust ratio based on font size
* Ajax security improvements
* Basic CSS veriable support
* Fast Track
* Added support for Oxygen Builder

= 1.1.3 =
* Code object word break

= 1.1.2 =
* Improve legacy PHP compatibility

= 1.1.1 =
* Added filter for readability score content

= 1.1.0 =
* System info output added to settings

= 1.0.13 =
* Prevent page refresh when using classic editor

= 1.0.12 =
* Improved accuracy of skipped heading level

= 1.0.11 =
* Added informative error code to text justified and check within CSS
* Update missing language attribute to only check the first html tag

= 1.0.10 =
* Text underlined, text small improvements
* Updated deprecated jQuery

= 1.0.9 =
* Updates to missing title check

= 1.0.8 =
* Added support for fullsite scan
* Added actions for log

= 1.0.7 =
* Ensure checks are not run if content not retrieved
* Minor text fixes

= 1.0.6 =
* Check full page for issues
* Check draft posts
* Remove color contrast from error count
* Update missing heading and heading order checks

= 1.0.5 =
* On post validate check that the post is published.

= 1.0.4 =
* Update policy page sanitize logic to allow for undefined value

= 1.0.3 =
* Minor bug fixes to activation redirect and quick edit post updating
* Image map missing alternative text error if only a space is present

= 1.0.2 =
* use uninstall.php instead of register_uninstall_hook
* add option to delete all data on uninstall

= 1.0.1 =
* update requires version
* fix tooltip links
* add filter to get_content function
* update post empty logic

= 1.0.0 =
* Everything is new and shiny.
* We think it's awesome you want to make your website more accessible.
* Check for giphy and tenor animated gifs

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 77.7%
  • JavaScript 12.8%
  • SCSS 9.3%
  • Shell 0.2%