plugin
Utilities

Easy WCAG

Fix live HTML accessibility gaps. Audit what still needs a human. No overlay.

J4 J5 J6
5.03.4K+ downloads v1.1.0
Easy WCAG

System plugin

What Easy WCAG is

After Joomla builds the page, Easy WCAG applies safe accessibility fixes to the HTML sent to the browser: missing lang, image alt, iframe titles, empty controls, new-window hints, form labels, and a skip link when a main landmark exists. It also runs a focused checklist (duplicate IDs, broken ARIA, unnamed controls, heading outline, title and lang) and lets you add your own report, replace, or attribute rules.

Article source stays unchanged. No visitor overlay. No CDN script, so Google PageSpeed stays cleaner than overlay widgets. Super Administrators can open a debug panel on the page they visit. Every fix and checklist item can be switched off. Pair it with Easy Accessibility when visitors need their own text size, contrast, or Read Mode.

Image alt

Adds alt from the filename when the attribute is missing.

Iframe title

Adds a title from the embed host or file name.

Empty controls

Icon-only links and buttons get an aria-label.

New window

Adds rel="noopener noreferrer" and a screen-reader hint.

Form labels

Unlabelled inputs get aria-label from placeholder or name.

Skip to content

Injects a skip link when a main landmark exists and none is present.

html lang

Sets lang from the active site language when it is missing.

Audit reports

Duplicate IDs, broken ARIA refs, unnamed controls, heading outline, title and lang.

Your own rules

Add report, find/replace, regex, or attribute rules in the plugin. Developers can drop in PHP classes.

Super User panel

Logged-in Super Administrators see Fixed, Checklist, Needs review, and Switched off. Visitors never see it.

Fix, Report, or Off

Fix rewrites the live HTML. Report only lists what would change. Off pauses without uninstalling.

Every switch is yours

Turn off any fix or checklist item. Exclude components, URLs, menu items, or simple selectors.

Honest limits

What it is not

Easy WCAG does not claim WCAG AA certification. Pair it with Easy Accessibility for visitor preferences, and with a real review when you need a compliance claim.

  • Does not rewrite heading order or rename IDs
  • Does not fix colour contrast or font sizes
  • Does not invent meaningful alt text beyond the filename
  • Does not claim WCAG AA, and does not replace a visitor preference toolbar

How to read the examples

  1. Demo Live HTML after Easy WCAG runs. Look for data-ewcag when Mark fixes is on. View source for FIXED / REPORT / REVIEW.
  2. Source HTML What was saved in the article, before the plugin ran.
  3. Settings System > Plugins > System - Easy WCAG. Choose Fix, Report only, or Off. Super User debug panel shows the same list on the page.
DemoExample 1 - Image without alt

This image has no alt attribute in the article. Easy WCAG adds one from the filename.

Demo logo

DemoExample 2 - Iframe without title

Iframes need a title for screen readers. This local embed has none in the article. Easy WCAG adds one. No YouTube or third-party player is loaded.

DemoExample 3 - Icon-only link

This home link has no visible text. Easy WCAG adds an aria-label.

DemoExample 4 - New window without rel

Links with target="_blank" get rel="noopener noreferrer" and a screen-reader hint.

JoomlaX website (opens in a new window)

DemoExample 5 - Search input without label

This input has a placeholder only. Easy WCAG adds aria-label from the placeholder.

DemoExample 6 - Duplicate IDs (report only)

Easy WCAG never renames IDs. It reports the duplicate so you can fix the template or module output.

DemoExample 7 - Broken ARIA reference (report only)

aria-describedby points at an id that does not exist. Easy WCAG reports it. It does not invent a target element.

DemoExample 8 - Heading jump (report only)

Heading levels are not rewritten. A jump is reported as a possible structural issue, not a WCAG failure.

Demo section

DemoSkipped heading level
<h2>Demo section</h2>
<h4>Skipped heading level</h4>
DemoExample 9 - Custom attribute rule

A plugin custom rule targets span.ewcag-custom-plain and adds role="status" when it is missing.

Live status

Mobile Menu

Login

Don't have an account yet? Register now!