
內容簡介
Accessibility Audio TTS – Text To Speech for Articles 是一款 WordPress 外掛,將文章文字轉換為高品質語音,並提供可存取的音頻播放器。此外掛旨在協助滿足 WCAG 2.2 標準,改善視障、閱讀困難或認知障礙使用者的存取性。
【主要功能】
• 完全符合 WCAG 2.2 標準
• 將文章轉換為自然語音
• 可鍵盤導航的音頻播放器
• 離線音頻播放功能
• 支援 50 多種語言和地區
• 音頻播放器可自訂設計
外掛標籤
開發者團隊
② 後台搜尋「Accessibility Audio TTS – Text To Speech for Articles」→ 直接安裝(推薦)
原文外掛簡介
Turn your WordPress articles into audio your visitors can listen to. Accessibility Audio TTS generates speech with ElevenLabs and adds a player to your posts and pages. Choose a voice and model, generate a recording, and let visitors listen on desktop or mobile.
Created and maintained by Wiktor Słomiński at App4You.dev.
The plugin is free. Speech generation uses your own ElevenLabs account and its credits or paid plan. OpenAI is optional and is used only for text preparation when you enable it. There is no plugin subscription or separate Pro edition.
Hear it before you configure it
Use Live Preview on this page to open a temporary WordPress site with a ready-to-play English narration sample generated with Eleven v4. You can listen and explore the settings without supplying an API key. The demo uses existing recordings; new audio generation is disabled in the preview.
The demo runs in WordPress Playground. Its first load downloads a temporary WordPress environment into your browser. Changes in the demo do not affect your own website. Do not enter real API keys in the demo.
What you can do
Add a Listen player to articles: Generate audio manually or enable automatic processing for selected content types.
Use your own ElevenLabs account: Choose supported models and voices available to your account, including Eleven v3 and v4.
Keep recordings on your server: Finished audio is stored privately and streamed after a WordPress article-access check. Replaying an existing recording does not generate speech again.
Update older recordings: Filter by the recorded model and review a batch before rebuilding it. A working recording remains available until its replacement succeeds.
Offer accessible controls: The player supports keyboard navigation, named controls and visible focus. It works on desktop and mobile.
Prepare text with optional OpenAI assistance: Enable text optimization with a separate OpenAI API key, or leave it off.
Choose how to measure listening: Leave statistics off, count anonymous audio requests, or enable consent-controlled listening events with an optional Google Analytics 4 integration.
Configure privacy information: Find adaptable privacy-policy text and a player-related cookie and storage inventory in Privacy & cookies.
Who is it for?
News publishers, bloggers, educational websites and organizations that want an audio version of written articles. Audio can help visitors who prefer listening or find reading difficult. The plugin does not certify a website’s WCAG or GDPR compliance.
What does it cost?
The WordPress plugin: Free and open source, with all included features available without a plugin subscription.
ElevenLabs: You supply an account and API key. Generation consumes provider credits according to the selected model, voice, text and current plan. Check your ElevenLabs plan and pricing before converting a large archive.
OpenAI: Optional. If text optimization is enabled, OpenAI bills API usage separately under your OpenAI account. A ChatGPT subscription does not include these API charges.
Playback: Playing an already generated recording does not make a new speech-generation request. Your website’s normal hosting, storage and bandwidth costs still apply.
Regeneration: Creating a replacement recording is a new generation and can consume provider credits again.
Start with one short article, listen to the result, and check provider usage before enabling automatic generation or a large batch.
External Services
This plugin connects to external third-party services to provide text-to-speech functionality. Below is a list of all external services used:
OpenAI API
Used for optional text preparation before ElevenLabs speech generation. OpenAI is not a speech provider in this plugin.
Data sent: Article title, prepared body text and applicable image descriptions
When: During configured generation only while OpenAI text correction is enabled; a separate explicit key test uses sample text. Disabling correction stops article text processing even if the key remains saved.
Storage: Requests set store=false. Provider abuse-monitoring logs and account-specific retention rules can still apply; this does not enable Zero Data Retention.
Service provider: OpenAI, L.L.C.
Terms of Use: https://openai.com/policies/terms-of-use
Privacy Policy: https://openai.com/policies/privacy-policy
ElevenLabs API
Used for speech synthesis through the administrator’s ElevenLabs account.
Data sent: Article title, prepared text, applicable image descriptions and voice/model settings
When: During configured manual, REST/CLI or background generation. Cloud processing of password-protected/non-public posts additionally requires the restricted-content privacy setting.
Service provider: ElevenLabs, Inc.
Terms of Use: https://elevenlabs.io/terms-of-use
Privacy Policy: https://elevenlabs.io/privacy-policy
OpenAI API
Used for optional usage and cost reporting while OpenAI text optimization is enabled and a suitable OpenAI API key has been configured.
Data sent: API key (Authorization header), query parameters (start_time, bucket_width, limit)
When: When loading the admin settings page with cost tracking enabled
Endpoints: https://api.openai.com/v1/organization/usage/completions, https://api.openai.com/v1/organization/costs
Service provider: OpenAI, L.L.C.
Terms of Use: https://openai.com/policies/terms-of-use
Privacy Policy: https://openai.com/policies/privacy-policy
Third-party Libraries
This plugin includes the following third-party JavaScript libraries:
Alpine.js
Lightweight JavaScript framework for UI interactions.
Source: https://github.com/alpinejs/alpine
License: MIT
Version: 3.x
SweetAlert2
Beautiful, responsive popup library.
Source: https://github.com/sweetalert2/sweetalert2
License: MIT
Privacy Policy
The compact Privacy & cookies section supplies Polish/English/German/Spanish text to adapt for the site’s privacy policy, cookie policy and player-related storage inventory. The same guidance is available in the WordPress Privacy Policy Guide.
Optional analytics is disabled by default. Anonymous mode aggregates audio requests without listener identifiers. Consented listening events and optional GA4 forwarding require a signal from your consent integration; the player remains usable without statistics consent.
New listening statistics are daily aggregates without raw IP, User-Agent, WordPress user ID or PHP session. Historical identifying rows are aggregated and removed in bounded batches, with pending/error status and WordPress personal-data tools for remaining legacy records.
Statistics create no plugin cookies, PHP sessions or localStorage identifiers. WordPress access cookies and a site’s consent-manager cookies are documented separately; the inventory is not a whole-site cookie scan.
Local listening aggregates expire after 365 days; managed legacy backups and diagnostics expire after 30 days. Cleanup relies on working scheduled tasks; hosting backups, downloaded exports and provider-side retention require separate policies.
Private audio follows WordPress authorization. Cloud processing of restricted posts is off by default and requires an explicit administrator setting.
The controller remains responsible for the legal basis, notices, rights requests, provider processing agreements and any international transfer safeguards. No unconditional GDPR compliance or legal certification is claimed.
Support
For support, please visit:
* Plugin support forum: https://wordpress.org/support/plugin/accessibility-audio-tts-text-to-speech-for-articles/
* Documentation: https://app4you.dev/wcag-2-2-audio-generator-text-to-speech-accessibility/
* Contact: https://app4you.dev/bezplatna-konsultacja/
Build
All JavaScript and CSS files are included in both uncompressed (readable) and minified forms.
The plugin loads only the .min.js / .min.css versions at runtime; the uncompressed source files
are shipped alongside for review and debugging purposes.
Asset layout:
assets/admin/ – admin-panel scripts and stylesheets
assets/public/ – front-end player scripts and stylesheets
assets/vendor/ – third-party libraries (Alpine.js, SweetAlert2) with both .js and .min.js
To build from source:
Install dependencies: pnpm install
Build minified assets: pnpm build
Build tools: Grunt (see gruntfile.js and package.json for configuration).
Contributing
We welcome contributions! Please visit our GitHub repository for development guidelines and to report issue, contact with us: [email protected]
Credits
Created and maintained by Wiktor Słomiński at App4You.dev
Icons by WordPress Dashicons
Audio processing powered by modern web APIs
