feat(fediverse): alt text for images (accessibility → AS2 attachment name)
Media federated to the fediverse now carries a description (AS2 name on the
attachment), which Mastodon shows and screen readers read. The cover gets an alt
field in the editor; inline images keep their own <img alt="…">. Also used as the
cover's on-site alt.
- src/config/database.js — posts.cover_alt column.
- src/services/ActivityPubService.js — buildNote carries alt per media URL (cover_alt
+ inline <img alt>) and emits it as the attachment
name (and on the image fallback).
- src/routes/posts.js — capture/store cover_alt on create/save and pass it to the
federation hooks.
- src/services/Scheduler.js — carry cover_alt when a scheduled post goes live.
- src/views/pages/post-edit.ejs — "Alt text (description)" field under the cover URL.
- src/views/pages/post.ejs — the on-page cover <img> uses cover_alt.
- src/services/i18n.js — pedit.f_cover_alt + pedit.cover_alt_placeholder (nl/en/de).
- test/media-alt.test.js — cover alt, inline alt, and no-alt = no name.
- CHANGELOG(.nl/.de).md — "Alt text for images" under Unreleased.
Co-Authored-By: Claude <noreply@…>