JOOA11Y - The Joomla Accessibility Checker

Jooa11y is an accessibility and quality assurance tool that visually highlights common accessibility and usability issues.

Features

Geared towards content authors, Jooa11y identifies many errors or warnings and provides guidance on on how to fix them. Jooa11y is not a comprehensive code analysis tool - it exclusively highlights content issues.

  • Over 50 test conditions.
  • Free and open source.
  • Included by default in Joomla 4.1
  • Concise tooltips explain issues right on the page.
  • Low tech: No complex API or integrations.
  • Additional (toggleable) checks: Contrast, form labels, readability, links (Advanced).
  • Dark mode.

Keyboard Navigation and Shortcuts

There are several keyboard shortcuts that can be used with Jooa11y.

  • Alt + A(ccessibility) - Toggle the panel
  • Esc - Close the panel
  • Alt + S(kip) - Skip to the next issue
  • Alt + . - Skip to the next issue

States

Jooa11y has three simple states.

Screenshot of panel that shows: 4 accessibility errors and 3 warning detected!

Errors

Accessibility and usability issues are detected. Jooa11y highlights common WCAG 2.1 Level A and AA accessibility issues.

Screenshot of panel that shows: Please review warning.

Warnings

Warns you of potential accessibility or usability issues, and prompts you to manually review an element.

Screenshot of panel that shows: No accessibility errors found.

Pass

No apparent accessibility or usability issues are detected. A "thumbs up" to let you know you're good.

Checks

Jooa11y checks for the following content related issues and warnings.

Errors

  • Images
    • Missing alternative text.
    • Alt text contains a file extension.
    • Alt text contains only placeholder text.
  • Links
    • Generic link text such as "learn more" or "click here".
    • Empty hyperlinks.
    • Links that only contain an icon font without an accessible name or label.
  • Tables
    • Missing table headers.
    • Empty table headers.
    • Table contains semantic headings.
  • Headings
    • Headings that skip levels.
    • Page does not start with a Heading 1 or Heading 2.
    • Empty headings.
    • Missing Heading 1.
  • Poor text contrast.
  • Inputs missing labels.
  • Page language not declared.

Warnings

  • Headings
    • Blockquotes incorrectly used as headings.
    • Headings that are too long (Not a WCAG 2.1 requirement).
    • Bolded text used as headings.
  • Images
    • Hyperlinked images: ensure alt text describes link location.
    • Images containing redundant words in alt text like "image of" or "graphic of".
  • Use of ALL CAPS/Uppercase.
  • Contrast that cannot be programatically determined, such as text with an image background.
  • Closed captions for videos.
  • Transcripts for podcasts and audio content.
  • Check PDF for accessibility or recommend to convert into HTML.
  • Links (Advanced)
    • Links that open in a new tab without warning.
    • Links with identical names should have an equivalent purpose.
    • Links to PDF and other files without warning.

Additional Checks

Jooa11y has four optional checks and a dark mode setting that can be enabled in the "Show Settings" tab. Although these checks are "optional", it does not imply they are not important!

  • Contrast
    • Checks the contrast of various text elements.
  • Form labels
    • Checks all form inputs for a corresponding label.
    • Usability recommendation to remove "Reset" buttons on forms.
  • Links (Advanced)
    • Links that open in a new tab without warning.
    • Links with identical names should have equivalent purpose.
    • Links to PDF and other files without warning.
  • Readability
    • Estimates the readability score of all paragraph and list content.

Outline

The Show Outline button displays the page's heading structure, similar to the table of contents for a book. The page outline gives you a visual idea of how each part is interconnected.

Screenshot of the Page Outline panel with hierarchy issues.
Screenshot of the Page Outline panel with a clean, good heading hierarchy.

Quality Assurance

Creating an inclusive experience requires intention. Content authors have the ability to easily review their work. For example, Jooa11y does not only flag images missing alternative (alt) text, but content authors can also easily review the alt text on images for relevance and quality. Jooa11y has several test conditions to ensure alt and link text follow best practices.

Screenshot of two images. One with a Good button, and the other with an Error button and red border. Long description below.

The first image has a Good button with a tooltip that says: Good, the alt text for this image is: "Large mountains of sand in the Nambia desert. The second image is a flower with a red error border whose tooltip says: Error, non descript or placeholder alt text within the linked image found. Ensure the alt text describes the destination of the link.

Readability

Jooa11y can estimate the readability score from all paragraphs and list content within the main content area. A good readability score is an indication that your writing is understandable and easy to digest. It is based on the average length of sentences and words on your page, using a formula known as the Flesch reading-ease test (Wikipedia).

A "good" reading score is between 60 and 100. Sometimes it may be difficult to achieve a good readability score. Most of your pages may say "difficult". Remember that this feature is only used to estimate the readability of your content. It should only be used as a reference, and not an indication of conformance.

You can enable the readability feature in the settings panel.

Tips to improve score

  • Keep sentences around 15 words on average.
  • Avoid sentences greater than 25 words.
  • Split long sentences up, or use bullet points.
  • Avoid complex words or words with many syllables.

Technical details about readability score

Jooa11y calculates the readability score based on all paragraph (<p> tags) and list content (<li> tags). A low score does not affect the pass or fail state of Jooa11y. This feature works for English content only (at the moment).

Screenshot of the Readability panel within Page Outline. Readability section shows the score out of 100, difficulty, average number of words per sentence, percentage of complex words, and total words.

Acknowledgements

Jooa11y began as a vanilla js fork of the Sa11y library, which was created by Digital Media Projects, Computing and Communication Services (CCS) at Ryerson University in Toronto, Canada.

Sa11y itself began as a fork of Tota11y by Khan Academy

License

Jooa11y is open source software released under the "GPL-2.0-or-later" License. Copyright Open Source Matters, Inc