=== Bulk Alt Text ===
Contributors: snehalpancholi
Tags: alt text, accessibility, images, media, SEO
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Batch-edit missing alt text for all images in your media library.

== Description ==

Bulk Alt Text scans your media library for images missing alt text and presents them in a clean editing interface. Add alt text to individual images or bulk-save dozens at once with a single click.

**Features:**

* Lists only images missing alt text — no noise, no clutter
* Inline editing — no page reloads required
* Individual row "Save" button for quick single updates
* Press Enter in an alt text field to save that row instantly
* "Save Selected" — check the images you want and save together
* "Save All" — save every visible row with one click
* Live count badge showing total images still missing alt text
* Pagination (20 images per page) for large media libraries
* AJAX-powered saves with success/error feedback
* Rows are visually marked when alt text has been saved
* Spinner and loading states during save operations
* Success notices auto-dismiss after 5 seconds
* Fully responsive — works on mobile WordPress admin
* Dark mode compatible
* No jQuery dependency — pure Vanilla JS

== Installation ==

1. Upload the `bulk-alt-text` folder to `/wp-content/plugins/`
2. Activate the plugin via the **Plugins** menu in WordPress
3. Go to **Media > Bulk Alt Text**
4. Edit alt text inline and save individually or in bulk

== Frequently Asked Questions ==

= Does this overwrite existing alt text? =

No. The list only shows images where alt text is empty or missing. Images that already have alt text are not displayed.

= What happens when I save an empty alt text field? =

An empty string is saved. This is valid for decorative images (where alt="" is intentional). If you do not want to mark a decorative image, simply leave the field empty before saving.

= Is this safe on a large media library? =

Yes. The plugin paginates results (20 per page) and caches update-check API calls for 12 hours to avoid overloading the server.

= Will this work on WordPress Multisite? =

Yes, each site in the network has its own media library and the plugin operates on a per-site basis.

== Screenshots ==

1. Main table view showing images missing alt text with inline editing fields.
2. Row marked as done after successfully saving alt text.
3. Bulk save action bar with "Save Selected" and "Save All" buttons.
4. Success notice displayed after saving multiple alt texts.

== Changelog ==

= 1.0.0 =
* Initial release
* Inline editing table for images missing alt text
* Individual, selected, and bulk save via AJAX
* Pagination support
* Responsive and dark-mode compatible admin UI
