{"id":11092,"date":"2026-05-26T04:29:49","date_gmt":"2026-05-25T20:29:49","guid":{"rendered":"https:\/\/aeosub.com\/accessmate\/"},"modified":"2026-05-26T04:29:49","modified_gmt":"2026-05-25T20:29:49","slug":"accessmate","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/accessmate\/","title":{"rendered":"AccessMate"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/accessmate.svg\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/awsmin\/\" target=\"_blank\" rel=\"noopener\">awsm.in<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">5.8 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-25 7:55pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/accessmate\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">AI-powered WCAG 2.1 AA accessibility scanner with auto-fix suggestions and a visitor-facing accessibility toolbar. Free \u2014 bring your own AI key.<\/div>\n<p><strong>AccessMate<\/strong> scans your WordPress site for WCAG 2.1 AA accessibility issues, scores each page, and provides guided fixes \u2014 all from your WordPress dashboard.<\/p>\n<p><strong>Zero running cost for you.<\/strong> AccessMate is 100% free. AI features (auto alt-text, code fixes, plain-English explanations) use your own API key from Anthropic, OpenAI, Google Gemini, or a local Ollama instance. Your key is stored encrypted in your database and never proxied through our servers.<\/p>\n<h4>Core features<\/h4>\n<ul>\n<li><strong>Accessibility scanner<\/strong> \u2014 checks 12 WCAG 2.1 AA rules on every page of your site<\/li>\n<li><strong>Score &amp; grade<\/strong> \u2014 A\u2013F accessibility score with POUR (Perceivable, Operable, Understandable, Robust) breakdown<\/li>\n<li><strong>Issue detail panel<\/strong> \u2014 shows the offending HTML, WCAG criterion, and affected element count<\/li>\n<li><strong>Issues by page<\/strong> \u2014 stacked bar chart showing critical\/warning\/notice counts per page<\/li>\n<li><strong>Scheduled scans<\/strong> \u2014 daily, weekly, or monthly automated scanning via WP-Cron<\/li>\n<li><strong>Visitor accessibility toolbar<\/strong> \u2014 floating widget with 10 user-controlled accessibility features<\/li>\n<li><strong>AI auto-fix<\/strong> <em>(requires API key)<\/em> \u2014 generates corrected HTML for fixable issues<\/li>\n<li><strong>AI alt text<\/strong> <em>(requires API key)<\/em> \u2014 writes descriptive alt text for images<\/li>\n<li><strong>AI explanations<\/strong> <em>(requires API key)<\/em> \u2014 plain-English summaries for non-technical site owners<\/li>\n<\/ul>\n<h4>12 WCAG rules checked<\/h4>\n<ol>\n<li>Images missing alt text (WCAG 1.1.1)<\/li>\n<li>Colour contrast heuristic (WCAG 1.4.3)<\/li>\n<li>Data tables missing headers (WCAG 1.3.1)<\/li>\n<li>Missing landmark elements (WCAG 1.3.6)<\/li>\n<li>Interactive elements not keyboard accessible (WCAG 2.1.1)<\/li>\n<li>CSS animations without reduced-motion guard (WCAG 2.3.3)<\/li>\n<li>Links with non-descriptive text (WCAG 2.4.4)<\/li>\n<li>Skipped or empty heading levels (WCAG 2.4.6)<\/li>\n<li>Focus indicator removed via CSS (WCAG 2.4.7)<\/li>\n<li>HTML lang attribute missing (WCAG 3.1.1)<\/li>\n<li>Form inputs missing label association (WCAG 4.1.2)<\/li>\n<li>Invalid ARIA role attributes (WCAG 4.1.2)<\/li>\n<\/ol>\n<h4>Visitor accessibility toolbar features<\/h4>\n<p>Font size \u00b7 High contrast \u00b7 Dyslexia font \u00b7 Grayscale \u00b7 Reading guide \u00b7 Pause animations \u00b7 Line height \u00b7 Large cursor \u00b7 Highlight links \u00b7 Screen mask<\/p>\n<h4>AI providers supported<\/h4>\n<ul>\n<li><strong>Anthropic Claude<\/strong> (claude-haiku-4-5, claude-sonnet-4)<\/li>\n<li><strong>OpenAI<\/strong> (gpt-4o-mini, gpt-4o)<\/li>\n<li><strong>Google Gemini<\/strong> (gemini-1.5-flash, gemini-1.5-pro)<\/li>\n<li><strong>Ollama<\/strong> (local, no key needed \u2014 llama3.2, mistral, phi3)<\/li>\n<\/ul>\n<h4>Privacy<\/h4>\n<p>AccessMate makes no external requests unless you configure an AI provider and trigger an AI action. When an AI action is triggered, your WordPress server makes a direct request to your chosen provider using your key. No data passes through AccessMate servers. The API key is encrypted at rest using AES-256-CBC with your WordPress auth salt.<\/p>\n<h3>Third Party Libraries<\/h3>\n<ul>\n<li><a href=\"https:\/\/github.com\/dequelabs\/axe-core\" rel=\"nofollow ugc noopener\" target=\"_blank\">axe-core<\/a> by Deque Systems \u2014 Mozilla Public License 2.0 (MPL-2.0)<\/li>\n<li><a href=\"https:\/\/github.com\/Freemius\/wordpress-sdk\" rel=\"nofollow ugc noopener\" target=\"_blank\">Freemius WordPress SDK<\/a> \u2014 GNU General Public License v3 (GPLv3) \u2014 Pro build only<\/li>\n<li><a href=\"https:\/\/fontsource.org\/fonts\/opendyslexic\" rel=\"nofollow ugc noopener\" target=\"_blank\">OpenDyslexic font via Fontsource<\/a> \u2014 Bitstream Vera Fonts License \u2014 loaded on demand from jsDelivr CDN only when the dyslexia font feature is enabled by the visitor<\/li>\n<\/ul>\n<h3>External Services<\/h3>\n<p>This plugin can connect to the following external services. No external requests are made unless you explicitly configure and trigger the relevant feature.<\/p>\n<h4>AI providers (optional)<\/h4>\n<p>When you add an API key and click an AI action (auto-fix suggestion, alt-text generation, or accessibility report summary), your WordPress server sends a direct HTTPS request to your chosen AI provider. The request contains the page HTML snippet and accessibility issue context being analysed. No data passes through AccessMate servers. These requests are only sent when you have entered an API key in Settings and manually trigger an AI action.<\/p>\n<p><strong>Anthropic<\/strong> \u2014 <code>https:\/\/api.anthropic.com\/<\/code><br \/>\nUsed for: AI fix suggestions, alt-text generation, accessibility report summaries.<br \/>\nData sent: page HTML snippet, accessibility issue context, and your Anthropic API key (in the request header).<br \/>\n<a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a> | <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/p>\n<p><strong>OpenAI<\/strong> \u2014 <code>https:\/\/api.openai.com\/<\/code><br \/>\nUsed for: AI fix suggestions, alt-text generation, accessibility report summaries.<br \/>\nData sent: page HTML snippet, accessibility issue context, and your OpenAI API key (in the request header).<br \/>\n<a href=\"https:\/\/openai.com\/policies\/terms-of-use\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a> | <a href=\"https:\/\/openai.com\/policies\/privacy-policy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/p>\n<p><strong>Google Gemini<\/strong> \u2014 <code>https:\/\/generativelanguage.googleapis.com\/<\/code><br \/>\nUsed for: AI fix suggestions, alt-text generation, accessibility report summaries.<br \/>\nData sent: page HTML snippet, accessibility issue context, and your Gemini API key (as a URL parameter).<br \/>\n<a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a> | <a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/p>\n<p><strong>Ollama<\/strong> \u2014 <code>http:\/\/localhost:11434\/<\/code> (local only)<br \/>\nOllama runs entirely on the user&#8217;s own machine or local network. No data is sent to any external server.<\/p>\n<h4>jsDelivr CDN (visitor-facing, on demand)<\/h4>\n<p>When a site visitor enables the <strong>Dyslexia Font<\/strong> feature in the accessibility toolbar, their browser loads the OpenDyslexic font stylesheet from jsDelivr. This is a standard browser-initiated HTTP request that includes the visitor&#8217;s IP address and User-Agent string. The font is cached locally after the first load; no further requests are made on subsequent pages. This request is triggered only by the visitor explicitly toggling the dyslexia font feature \u2014 it is never loaded automatically.<\/p>\n<p><strong>jsDelivr<\/strong> \u2014 <code>https:\/\/cdn.jsdelivr.net\/<\/code><br \/>\n<a href=\"https:\/\/www.jsdelivr.com\/privacy-policy-jsdelivr-net\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>AI-powered WCAG 2.1 AA accessibility scanner with auto-fix suggestions and a visitor-facing accessibility toolbar. Free \u2014 bring your own AI key.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[829,2014,2085,2086,1723,555],"class_list":["post-11092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-accessibility","tag-ada","tag-aria","tag-screen-reader","tag-wcag","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=11092"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11092\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=11092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=11092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=11092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}