Skip to main content

Auto Add Alt And Title

Give every image something to say.
Latest Version
1.9.4
Requires
Joomla 5+, WordPress 6.5+, PHP 8.1 or newer
Release date
06 October 2026
Made for
Joomla, Wordpress
License
GPL-2.0-or-later
Price
Free
Bulk-fill every missing alt text while you sip your coffee. Titles only when they add something.

What's new in version 1.9.4

  • Security: The diagnosis bypass needs a signed token. Up to 1.9.3 anyone could add ?yc_aat_skip=1 to a URL and get the page without the rewrite. The dashboard diagnosis now signs its own request with the site secret, and the token is valid for five minutes.
  • Changed: The diagnosis waits at most 8 seconds per page instead of 15, so an unreachable homepage no longer holds the settings screen for half a minute.
  • Changed: Installation stops with a clear message on Joomla older than 5.0, before any file is copied.
  • Changed: The update site is called "Auto Add Alt And Title Updates". Existing sites get the new name with this update.
  • Changed: The Joomla and WordPress editions now share one version number. The WordPress edition goes from 0.9.3 to 1.9.4.
  • Fixed: Images that another plugin adds in onAfterRender also get their alt and title. The rewrite now runs as the last onAfterRender handler.
  • Fixed: With a Content Security Policy that uses a nonce (System - HTTP Headers), the client script was blocked. Both script tags now carry the nonce when Joomla provides one.
Auto Add Alt And Title 1

    Description

    Every image on your Joomla site gets a sensible alt text automatically, written into the raw HTML so crawlers and screen readers see it without running any JavaScript. The title attribute works differently, because repeating the alt helps nobody: you get a title only when a caption or link text says something the alt does not already say. Pick where the alt comes from, keep acronyms like NL and FM capitalised, and exclude the images you want left alone.

    Feature request

    What is the next feature for this plugin?

    Submit your idea or vote on existing ones.


      Changelog


      v1.9.4
      Changed
      • The diagnosis waits at most 8 seconds per page instead of 15, so an
      • Installation stops with a clear message on Joomla older than 5.0, before any
      • The update site is called "Auto Add Alt And Title Updates". Existing sites get
      • The Joomla and WordPress editions now share one version number. The WordPress
      Fixed
      • Images that another plugin adds in onAfterRender also get their alt and title.
      • With a Content Security Policy that uses a nonce (System - HTTP Headers), the
      Security
      • The diagnosis bypass needs a signed token. Up to 1.9.3 anyone could add
      v1.9.3
      Changed
      • `LICENSE.txt` now contains the full text of the GNU General Public License
      • The dashboard field has a description that says what the diagnosis measures:
      • Minimum PHP version written as 8.1 instead of 8.1.0. Same requirement.
      Fixed
      • Updates are found again. From 1.6.0 up to and including 1.9.2 the manifest
      v1.9.2
      Changed
      • The rewrite statistics have a `decorative` counter next to `excluded`, so the debug
      Fixed
      • Decorative images keep their loading attributes. Since 1.9.1 `role="presentation"`,
      • Context text is stripped with a quote-aware tag pattern. The plain `<[^>]*>` stopped
      v1.9.1
      Changed
      • The product name replaces the build placeholder in `LICENSE.txt` and
      • The reservation-of-rights sentence that sat next to the GPL line in 21 files
      • `creationDate` in the manifest follows the release date again. It still read
      Fixed
      • The client script now honours the same exclusions as the server. Up to and
      • Images marked as decorative are left alone. `role="presentation"`,
      • The exclusion list is no longer frozen at page load. It used to be collected
      • The attribute branch of the observer skipped the exclusion check altogether,
      v1.9.0
      Added
      • Setting "Words that say nothing": the list behind that gate, in six
      • Setting "Remove these endings": endings that a platform appends to a file
      Changed
      • Licence changed from proprietary to GPL-2.0-or-later, in the manifest, in
      Fixed
      • Alt text derived from a file name is now judged as a whole, not only word by
      • The client script applies the same gate, so an image that only enters the DOM
      v1.8.1
      Fixed
      • The configure button in the install message showed the raw language key
      • User facing strings in the install script fall back to English when a key
      • The update feed now carries the readable product name instead of the
      v1.8.0
      Added
      • The install and update message now carries a button that opens the plugin
      • New language keys `..._INSTALL_CONFIGURE` and
      Fixed
      • The install message no longer claims the plugin was enabled when the
      v1.7.2
      Fixed
      • Regression introduced in 1.7.1: the presence check for an attribute ran on
      v1.7.1
      Added
      • Self-healing of the update site link in the install script. After an
      • Verification and logging on the automatic enabling: the install script now
      Changed
      • The lookup of the enclosing figure or link for each image now uses a binary
      • The figure and link extraction passes are skipped when the page contains no
      Fixed
      • The manifest now declares `script.php` as `<scriptfile>`. Without that
      • Attributes written without a value no longer produce a duplicate attribute.
      v1.7.0
      Added
      • Title enrichment. The title setting is now a mode instead of a switch:
      Changed
      • `enable_title_sync` accepts 0, 1 and 2. Existing installations keep their
      • The dashboard reports the title feature as active for any mode above 0.
      • Rationale: a title identical to the alt adds nothing and can be announced
      • An existing title is still never overwritten, and an image without a