NPM Resource Changed PR-5.4-dev Pending

User tests: Successful: Unsuccessful:

avatar brianteeman
brianteeman
28 Sep 2025

New Features

  • Images in the Images panel are now clickable, matching the behaviour of the Outline panel.
  • Images panel now indicates visually hidden images using an eye icon, similar to the Outline panel.
  • New check for unpronounceable characters in alt text.
  • Anchor-based annotation positioning added using CSS Anchor Positioning API. Some annotations will now (correctly) appear closer to the issue. At this time, only Chromium-based users will benefit from this change.
  • Colour suggestions for contrast issues in tooltips are clickable. Clicking the hex code will update the colour preview within the tooltip and copies the hex code to the clipboard.

Changes and Enhancements

  • Readability scores are now displayed as whole numbers for better readability.
  • Contrast ratios are rounded to one decimal place for better readability.
  • Simple SVGs with known foreground now appear in tooltip contrast tools, even if the background is unknown.
  • SVGs containing are treated as complex; APCA font tables will no longer be displayed when using the APCA algorithm.
  • Improved SVG contrast detection: stroke width accounts for relative units, with thresholds for small and large SVGs.
  • SVG contrast checking expanded to multi-path SVGs, only if all nodes share the same colour, opacity, etc.
  • Small images or tracking pixels (0–1px) are excluded from the Images panel.
  • Broken same-page link checks are excluded from navigation landmarks.
  • Suggested colour hex codes now cover SVGs and input contrast errors.
  • "Good" annotations for links with ARIA will now only be displayed when developer checks are enabled.
  • Colour inputs in tooltips now have a target size of 44×44px.

Bug Fixes

  • Refactored image outline logic to better handle dismissed and decorative images with empty alt attributes.
  • Updated dismiss logic to remove duplicate dismissed issues using a Map.
  • Fixed a miss translation of the string, "Hidden", across all languages.
  • Pulse utility now visible; exclusive scale & opacity pulse applied only to images and headings.
  • Fixed getBestImageSource() function to improve display of images in the control panel.
  • Major refactor and clean up of the annotate() function.
  • Removed nudge() function; additional margin is now dynamically applied for multiple issues; significantly improving performance and minimizing additional page paints.
  • Adjusted z-index for annotation types to prioritize error and warning buttons.
  • Improved fake heading detection to handle inline style, ID, or class tags within or .
  • QA underline check now correctly excludes interactive elements (buttons, links, tabindex).
  • Reduced contrast false positives for text with <1px font size.
  • Performance improvements by eliminating unnecessary DOM and CSS manipulations.
  • Readability improved: long list items treated as sentences using multiple punctuation types, not just periods.
  • Contrast preview area within tooltips now visually hidden if empty. Previously it would display an empty rectangle.
  • SVGs with identical foreground and background are ignored, assuming intentionally hidden.
  • Fixed accessible name computation and ignored aria-hidden="true" nodes.
  • Fixed some SVG contrast warnings not dismissing on first click.
  • Refactored screen-reader-only utility which helps minimize false positives or excessive warnings.

Developer Experience

  • Custom checks can include an optional margin value to override annotation positioning relative to the issue element.

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar brianteeman brianteeman - open - 28 Sep 2025
avatar brianteeman brianteeman - change - 28 Sep 2025
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 28 Sep 2025
Category NPM Change
avatar richard67
richard67 - comment - 29 Sep 2025

As we can see here, 4.3.0 and 4.3.1 have been released yesterday: https://github.com/ryersondmp/sa11y/releases

So for 5.4.0-rc1 and 6.0.0-rc1 that was definitely too late, the packages have already been built, and between rc's and stables we only fix release blockers, and normally we don't do feature updates for dependencies with our patch versions, e.g. 5.4.1 and 6.0.1.

So I think this will have to go into 6.1.

But I will clarify with the maintenance team and report back here.

avatar brianteeman
brianteeman - comment - 29 Sep 2025

As you can see there are a lot of bug fixes in this release so I hope it can be include in a patch release and not have to wait until a minor release

avatar richard67
richard67 - comment - 29 Sep 2025

It could be helpful to know if we have some open issues labelled as bug which would be fixed by this.

avatar brianteeman
brianteeman - comment - 29 Sep 2025

We do not have any as far as I am aware as all bug reports in sa11y would correctly be made upstream

0895149 30 Sep 2025 avatar brianteeman 432
avatar brianteeman brianteeman - change - 30 Sep 2025
Labels Added: NPM Resource Changed PR-5.4-dev
avatar brianteeman
brianteeman - comment - 30 Sep 2025

4.3.2 Minor enhancements

Both QA_IN_PAGE_LINK and LINK_IDENTICAL_NAME checks will exclude links that have:

  • any ARIA role
  • are intentionally hidden with aria-hidden="true" and tabindex="-1"
  • have a disabled attribute

This is to minimize excessive content author warnings/false positives.

avatar adamchaboryk
adamchaboryk - comment - 30 Sep 2025

You beat me to it, @brianteeman — was just about to comment on this thread!

813bd85 1 Oct 2025 avatar brianteeman 433
avatar brianteeman
brianteeman - comment - 1 Oct 2025

4.3.3.Minor enhancements

  • Readability analysis now treats any <p> or <li> that lacks terminal punctuation (., ?, !) as a complete sentence. Some elements appear visually complete due to their block formatting, even without punctuation. This change should improve accuracy of readability score.

Add a Comment

Login with GitHub to post a comment