Changeset 3321117
- Timestamp:
- 07/02/2025 10:22:47 AM (8 months ago)
- Location:
- accessible-docs/trunk
- Files:
-
- 4 added
- 5 edited
-
README.txt (modified) (4 diffs)
-
accessible-docs.php (modified) (1 diff)
-
admin/class-accessible-docs-admin-popup-settings.php (modified) (2 diffs)
-
includes/class-accessible-docs-options.php (modified) (1 diff)
-
public/class-accessible-docs-public.php (modified) (1 diff)
-
screenshot-1.png (added)
-
screenshot-2.png (added)
-
screenshot-3.png (added)
-
screenshot-4.png (added)
Legend:
- Unmodified
- Added
- Removed
-
accessible-docs/trunk/README.txt
r3299173 r3321117 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html 11 Text Domain: accessible-docs 12 Domain Path: /languages 11 13 12 14 Convert PDFs into accessible versions (WCAG, ADA, screen reader friendly) via email requests and dashboard tracking. 13 15 14 16 == Description == 17 **Watch overview video:** https://youtu.be/KXsD0_xE7xY 18 15 19 **Make your PDFs accessible with a single click** 16 AccessibleDocs WordPress Plugin helps you deliver *accessible PDFs* in compliance with *WCAG* and *ADA accessibility* standards -right from your website. When visitors click on a PDF link, a customizable *popup* invites them to request an *accessible version by email*. Documents are processed by the AccessibleDocs platform and automatically delivered.17 This ensures your digital content is *screen reader friendly* and inclusive for all users -without requiring manual file conversion.20 AccessibleDocs WordPress Plugin helps you deliver *accessible PDFs* in compliance with *WCAG* and *ADA accessibility* standards – right from your website. When visitors click on a PDF link, a customizable *popup* invites them to request an *accessible version by email*. Documents are processed by the AccessibleDocs platform and automatically delivered. 21 This ensures your digital content is *screen reader friendly* and inclusive for all users – without requiring manual file conversion. 18 22 19 23 === Key Features === … … 29 33 Full compatibility with Polylang and WPML. Enable or disable popup per language. 30 34 - **Accessibility Built-In** 31 The popup is *keyboard-accessible* and works well with *screen readers*.35 The popup is keyboard-accessible and works well with screen readers. 32 36 33 37 === Real-World Usage Examples === … … 39 43 === Who Is It For? === 40 44 **WordPress Website Administrators** 41 Save time and legal risk - no need to convert PDFs manually. Gain visibility into document requests directly from your dashboard. 45 Save time and legal risk – no need to convert PDFs manually. Gain visibility into document requests directly from your dashboard. 46 42 47 **End Users / Visitors** 43 48 Whether visually impaired or using assistive tech, users can request and receive accessible documents quickly and privately. 49 44 50 **Accessibility Consultants & Agencies** 45 51 Embed this tool in client websites to automate accessibility offerings without complex integrations. 46 52 53 == Screenshots == 54 1. screenshot-1.png — “Your Request is Being Processed” popup after clicking a PDF link. 55 2. screenshot-2.png — “Make Your PDF Accessible!” form with email field and Submit button. 56 3. screenshot-3.png — “Document is now accessible” email notification with download link. 57 4. screenshot-4.png — Plugin settings screen (“Popup Settings”) in the WordPress admin. 58 47 59 == External Services == 48 This plugin connects to the [Accessible Docs API](https://api.accessibledocs.ai) to upload and process PDF files into accessible formats. 60 This plugin connects to the AccessibleDocs platform for PDF processing and status tracking. 61 - **Platform URL:** https://platform.accessibledocs.ai/ 62 - **Plugin documentation:** https://accessible-docs.ai/accessibledocs-plugin/ 63 - **Main site:** https://accessible-docs.ai/ 49 64 50 The following data is sent to the API:51 - User 's email address65 The following data is sent only when a user submits a request: 66 - User’s email address 52 67 - File identifier (attachment ID) 53 68 - File download link (publicly accessible) 54 69 55 The data is sent upon user request, only when the user submits a file for conversion.56 57 70 Service provider: 58 - [Accessible Docs API](https://api.accessibledocs.ai)59 71 - [Terms of Use](https://accessibledocs.ai/terms-and-conditions/) 60 72 - [Privacy Policy](https://accessibledocs.ai/privacy-policy/) 73 74 == Accessibility Compliance == 75 This plugin interface follows WCAG 2.1 success criteria: 76 77 - **1.1.1 – Non-text Content:** All controls include text labels; PDFs can be labeled before request. 78 - **1.3.1 – Info and Relationships:** Popup uses semantic HTML markup for clear hierarchy. 79 - **2.1.1 – Keyboard Accessible:** All interactive elements are reachable and operable via keyboard. 80 - **4.1.2 – Name, Role, Value:** Form inputs and buttons have programmatic labels and roles. 81 82 Note: The generated accessible PDFs are processed by the AccessibleDocs platform according to PDF/UA and WCAG 2.1 requirements. 83 84 == Custom Styling == 85 You can override popup styles via CSS in your theme: 86 87 ```css 88 .accessible-docs-popup { 89 background-color: #fff; 90 border-radius: 8px; 91 padding: 2rem; 92 } 93 ``` 94 95 For advanced control, enqueue your styles via `wp_enqueue_scripts` in your theme or use inline styles with `wp_add_inline_style`. 96 97 == Developer Notes == 98 The plugin is built with extensibility in mind. While there are no public filters or actions yet, future updates will expose developer hooks for customizing popup behavior, validation, and request arguments. 99 Let us know via support if you’d like a specific filter added for integration needs. 61 100 62 101 == Installation == … … 69 108 == Frequently Asked Questions == 70 109 = Will my uploaded PDFs be stored anywhere? = 71 No, the plugin does not store documents permanently. Files are sent to the AccessibleDocs platform for accessibility processing where they will be stored and available in the WordPress website admin’s account. 110 No, the plugin does not store documents permanently. Files are sent to the AccessibleDocs platform for processing and stored in your account. 111 72 112 = Is the plugin free to use? = 73 The plugin itself is free to install, but it requires an active AccessibleDocs subscription to process documents. 113 The plugin is free to install, but it requires an active AccessibleDocs subscription to process documents. 114 74 115 = Does it work with external PDF URLs? = 75 No, the plugin currently supports only local PDF links hosted on your WordPress website. 116 No, currently only local PDF links hosted on your WordPress website are supported. 117 76 118 = Is the popup accessible via keyboard and screen readers? = 77 Yes, the popup is designed to be screen reader friendly and navigable via keyboard, ensuring ADA accessibility and WCAG compliance. 119 Yes, the popup is designed to be keyboard-navigable and screen-reader friendly. 120 78 121 = Can I customize the popup content or style? = 79 Yes. You can fully customize the popup message and visibility settings via the plugin settings in your WordPress dashboard. 122 Yes. You can customize messages and appearance via plugin settings. 123 80 124 = How do I track user requests for accessible documents? = 81 You can view all document accessibility requests under Accessible Docs > Documents in the WordPress admin panel. Filter by status, date, file name, or email. 125 View all requests under Accessible Docs > Documents in the WordPress admin panel. Filter by status, date, file name, or email. 126 82 127 = Does the plugin support multilingual websites? = 83 Yes, it’s fully compatible with WPML and Polylang. You can translate popup content and control popup visibility per language. 128 Yes, it’s fully compatible with WPML and Polylang. You can translate popup content per language. 129 84 130 = Will users get the accessible file instantly? = 85 Once submitted, users will receive an email with either the accessible version or a status update before the file is ready. 131 Once processed, users receive an email with the accessible version or a status update. 132 86 133 = Can I limit or disable the popup on specific pages or languages? = 87 Yes. The popup can be enabled or disabled individually for each language, giving you full control over where it’s shown. 134 Yes. Enable or disable per language or page via the settings. 135 136 == Support == 137 Visit https://accessible-docs.ai/contact-us/ for questions, bug reports, or feature requests. 88 138 89 139 == Changelog == 90 140 = 1.0.1 = 91 * Added custom HTTP header `X-AccessibleDocs-Plugin: true` to all APIrequests.141 * Added custom HTTP header `X-AccessibleDocs-Plugin: true` to all requests. 92 142 93 143 = 1.0.0 = 94 * Initial release — automatic PDF accessibility requests, admin tracking, andpopup customization.144 * Initial release — automatic PDF accessibility requests, admin tracking, popup customization. 95 145 96 146 == Upgrade Notice == 147 = 1.0.1 = 148 Added custom header to requests and improved directory metadata. 149 97 150 = 1.0.0 = 98 First release. Includes all core features for PDF accessibility conversion and request tracking. 99 100 = 1.0.1 = 101 Added custom header to API requests and improved plugin directory metadata. 102 151 First release. Includes core features for PDF accessibility conversion and request tracking. -
accessible-docs/trunk/accessible-docs.php
r3283760 r3321117 10 10 * 11 11 * @link https://group107.com 12 * @since 1.0. 012 * @since 1.0.1 13 13 * @package Group107_AccessibleDocs 14 14 * -
accessible-docs/trunk/admin/class-accessible-docs-admin-popup-settings.php
r3283760 r3321117 98 98 esc_attr($id), 99 99 esc_attr($option_name), 100 checked( 1, $value, false)100 checked('1', $value, false) 101 101 ); 102 102 } else { … … 141 141 */ 142 142 public function sanitize_popup_options($input) { 143 if (isset($input['accessible_docs_enable_popup'])) { 144 $input['accessible_docs_enable_popup'] = absint($input['accessible_docs_enable_popup']); 145 } 143 $input['accessible_docs_enable_popup'] = isset($input['accessible_docs_enable_popup']) ? '1' : '0'; 144 146 145 if (isset($input['accessible_docs_popup_title'])) { 147 146 $input['accessible_docs_popup_title'] = sanitize_text_field($input['accessible_docs_popup_title']); -
accessible-docs/trunk/includes/class-accessible-docs-options.php
r3283760 r3321117 28 28 */ 29 29 public static function accessible_docs_is_popup_enabled() { 30 30 31 $option_name = Group107_AccessibleDocs_i18n::accessible_docs_get_popup_options_name(); 31 32 $options = get_option($option_name); 32 33 33 if (!empty($options['accessible_docs_enable_popup'])) { 34 return true; 35 } 36 37 return false; 34 return isset($options['accessible_docs_enable_popup']) && $options['accessible_docs_enable_popup'] === '1'; 38 35 } 39 36 -
accessible-docs/trunk/public/class-accessible-docs-public.php
r3283760 r3321117 104 104 'ajax_url' => admin_url('admin-ajax.php'), 105 105 'nonce' => wp_create_nonce('accessible_docs_nonce'), 106 'is_popup_enabled' => $is_popup_enabled ,106 'is_popup_enabled' => $is_popup_enabled ? '1' : '0', 107 107 )); 108 108
Note: See TracChangeset
for help on using the changeset viewer.