{"id":380797,"date":"2026-10-09T07:55:19","date_gmt":"2026-10-09T07:55:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/relyo-accessibility-checker-fixer-rgaa-eaa\/"},"modified":"2026-10-28T21:14:38","modified_gmt":"2026-10-28T21:14:38","slug":"relyo","status":"publish","type":"plugin","link":"https:\/\/bs.wordpress.org\/plugins\/relyo\/","author":13521482,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.3","stable_tag":"0.2.3","tested":"7.1.4","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"Relyo \u2013 RGAA Accessibility Checker, Fixer & Statement","header_author":"Relyo","header_description":"Finds and fixes accessibility problems on WordPress and WooCommerce sites, criterion by criterion (RGAA 4.1 \/ WCAG 2.1). No overlay widget, nothing sent outside your site.","assets_banners_color":"ffffff","last_updated":"2026-10-28 21:14:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/getrelyo.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":233,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"delsuza","date":"2026-10-09 07:54:56","revision":3736155},"0.1.1":{"tag":"0.1.1","author":"delsuza","date":"2026-10-09 08:00:51","revision":3736164},"0.1.2":{"tag":"0.1.2","author":"delsuza","date":"2026-10-10 16:03:47","revision":3738322},"0.2.0":{"tag":"0.2.0","author":"delsuza","date":"2026-10-28 15:02:28","revision":3770915},"0.2.1":{"tag":"0.2.1","author":"delsuza","date":"2026-10-28 15:29:03","revision":3770971},"0.2.2":{"tag":"0.2.2","author":"delsuza","date":"2026-10-28 16:07:44","revision":3771036},"0.2.3":{"tag":"0.2.3","author":"delsuza","date":"2026-10-28 21:14:38","revision":3771670}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3736155,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736155,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3736155,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3736155,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0","0.1.1","0.1.2","0.2.0","0.2.1","0.2.2","0.2.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3771036,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3771036,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3771036,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3771036,"resolution":"4","location":"assets","locale":"","width":1280,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3771036,"resolution":"5","location":"assets","locale":"","width":1280,"height":860},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3771036,"resolution":"6","location":"assets","locale":"","width":1280,"height":860},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3771036,"resolution":"7","location":"assets","locale":"","width":1280,"height":860},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3771036,"resolution":"8","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"The dashboard: the site's score, open problems, the accessibility statement's status and what to fix first.","2":"Every problem with its RGAA criterion and WCAG success criteria, its severity and the element at fault: show it on the page, or ignore it once or on every page.","3":"Show on page: the faulty element outlined on your page, with what is wrong.","4":"The accessibility statement: choose the model (France with the RGAA, the EU, the UK or the US) and fill it from Relyo's findings.","5":"The statement, published as a page of your site: \"not compliant\" until an audit says otherwise.","6":"An image's text alternative suggested by AI with your own key, checked by you before saving.","7":"Corrections applied as pages are displayed, turned on in one click, each with its RGAA and WCAG criteria.","8":"A score for each page, post and product in the content lists."}},"plugin_section":[],"plugin_tags":[1953,238514,247188,1956,286],"plugin_category":[34,45],"plugin_contributors":[270525],"plugin_business_model":[],"class_list":["post-380797","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-accessibility-statement","plugin_tags-rgaa","plugin_tags-wcag","plugin_tags-woocommerce","plugin_category-accessibility","plugin_category-ecommerce","plugin_contributors-delsuza","plugin_committers-delsuza"],"banners":{"banner":"https:\/\/ps.w.org\/relyo\/assets\/banner-772x250.png?rev=3736155","banner_2x":"https:\/\/ps.w.org\/relyo\/assets\/banner-1544x500.png?rev=3736155","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/relyo\/assets\/icon-128x128.png?rev=3736155","icon_2x":"https:\/\/ps.w.org\/relyo\/assets\/icon-256x256.png?rev=3736155","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-1.png?rev=3771036","caption":"The dashboard: the site's score, open problems, the accessibility statement's status and what to fix first."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-2.png?rev=3771036","caption":"Every problem with its RGAA criterion and WCAG success criteria, its severity and the element at fault: show it on the page, or ignore it once or on every page."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-3.png?rev=3771036","caption":"Show on page: the faulty element outlined on your page, with what is wrong."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-4.png?rev=3771036","caption":"The accessibility statement: choose the model (France with the RGAA, the EU, the UK or the US) and fill it from Relyo's findings."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-5.png?rev=3771036","caption":"The statement, published as a page of your site: \"not compliant\" until an audit says otherwise."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-6.png?rev=3771036","caption":"An image's text alternative suggested by AI with your own key, checked by you before saving."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-7.png?rev=3771036","caption":"Corrections applied as pages are displayed, turned on in one click, each with its RGAA and WCAG criteria."},{"src":"https:\/\/ps.w.org\/relyo\/assets\/screenshot-8.png?rev=3771036","caption":"A score for each page, post and product in the content lists."}],"raw_content":"<!--section=description-->\n<p>Relyo checks your pages and products against the RGAA 4.1 (the French standard, built on WCAG 2.1, used for the European Accessibility Act) and tells you what to fix, in plain words. Then it helps you fix it, and writes your accessibility statement.<\/p>\n\n<p>Every problem shows both its RGAA criterion and the WCAG 2.1 success criteria behind it, so it reads the same whether you work with the RGAA in France, with EN 301 549 in the EU, or with WCAG in the UK and the US.<\/p>\n\n<p>No overlay widget: Relyo corrects the pages themselves. Your pages never leave your site; an image is sent to an AI service only when you ask for its alternative.<\/p>\n\n<h4>Check<\/h4>\n\n<ul>\n<li>61 RGAA criteria checked automatically: 40 rules run inside WordPress, and axe-core runs in your browser for contrast, ARIA and 4 more criteria<\/li>\n<li>Every page is checked as a visitor sees it: theme, page builder and WooCommerce templates included<\/li>\n<li>Every problem is tied to its RGAA criterion and its WCAG success criteria, with the element at fault and what to do<\/li>\n<li>Show on page: open the page with the faulty element outlined, and what is wrong with it<\/li>\n<li>Best practices beyond the RGAA, kept apart from its criteria: links opening a new window without saying so, justified text, text smaller than 12 pixels, and bold lines that should be headings (RGAA 9.1)<\/li>\n<li>A dashboard with your site's score and its most frequent problems<\/li>\n<li>A list of every problem, filtered by problem, severity and content type, with bulk actions; ignore a problem once, or on every page<\/li>\n<li>A score column in your post, page and product lists, and a panel in the editor<\/li>\n<li>Scans run in the background after each change, and on the whole site on request<\/li>\n<li>Polylang and WPML: each page is checked against its own language<\/li>\n<li>WP-CLI: <code>wp relyo scan --all<\/code>, <code>wp relyo report<\/code><\/li>\n<\/ul>\n\n<h4>Fix<\/h4>\n\n<ul>\n<li>10 corrections you turn on in one click, applied as pages are displayed: skip link, visible keyboard focus, zoom, page language, frame titles, video and audio controls, announced shop messages, image captions, form autofill. Nothing changes in your content: turn one off and the page is back as it was<\/li>\n<li>Content corrections from the problems list: write an image's text alternative (saved in the media library and in the page), or remove empty paragraphs. WordPress keeps a revision first, and every correction is logged on the page<\/li>\n<li>Image alternatives suggested by AI, with your own key for OpenAI, Google Gemini or Mistral AI: the model looks at the image and suggests an alternative in the page's language, which you check before saving<\/li>\n<\/ul>\n\n<h4>Accessibility statement<\/h4>\n\n<ul>\n<li>Relyo writes your accessibility statement as a page of your site, in the official form of the model you choose: France (RGAA 4.1, in French), European Union (WCAG 2.1 AA, EN 301 549, European Accessibility Act), United Kingdom (WCAG 2.2 AA, Equality Act 2010) or United States (WCAG 2.1 AA, ADA)<\/li>\n<li>Filled from Relyo's findings when you ask: non-compliances found by the automated checks, pages checked, technologies and tools<\/li>\n<li>Honest by design: without an audit, the statement says \"not compliant\", as the official models require. Relyo's checks are automated and cover part of the criteria only<\/li>\n<li>The <code>[relyo_statement_link]<\/code> shortcode shows the link every page should carry, e.g. \"Accessibilit\u00e9 : non conforme\"<\/li>\n<\/ul>\n\n<h4>Relyo Pro<\/h4>\n\n<p><a href=\"https:\/\/getrelyo.com\/pro\/\">Relyo Pro<\/a> includes Relyo AI: image alternatives with no key to create, 2,000 images a month for each site of your plan (1, 3 or 10 sites). Its Images screen writes the alternatives of the whole media library in the background: you then review the suggestions one by one or accept a selection, and each accepted alternative is saved in the media library and in the pages that show the image.<\/p>\n\n<p>Relyo Pro also checks 8 more RGAA criteria: it compares each page with the rest of the site (same title as other pages, a main menu that changes, a search form or site map link that moves, a field labelled differently), and checks the page as the browser draws it (form field outlines too faint, content too wide at 320 pixels, labels far from their fields).<\/p>\n\n<h3>Third-party code<\/h3>\n\n<p>Relyo bundles <a href=\"https:\/\/github.com\/dequelabs\/axe-core\">axe-core<\/a> 4.13.0 (Mozilla Public License 2.0, compatible with the GPL), in assets\/vendor\/axe-core. It runs in your browser, on your own pages; nothing is sent anywhere. Unminified source: https:\/\/unpkg.com\/axe-core@4.13.0\/axe.js<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20relyo%20an%20overlay%3F\"><h3>Is Relyo an overlay?<\/h3><\/dt>\n<dd><p>No. Overlays add a widget on top of the page and leave the page as it is. Relyo finds the problems in your pages and corrects them, in the page's code or in your content.<\/p><\/dd>\n<dt id=\"will%20relyo%20make%20my%20site%20compliant%3F\"><h3>Will Relyo make my site compliant?<\/h3><\/dt>\n<dd><p>No tool can on its own. Relyo checks 61 of the RGAA's 106 criteria automatically (69 with Relyo Pro); 37 can only be checked by a person (is this alternative relevant, does this video have a transcript). The score shows how much of what Relyo can check is correct, not an RGAA compliance rate.<\/p><\/dd>\n<dt id=\"does%20relyo%20send%20my%20pages%20anywhere%3F\"><h3>Does Relyo send my pages anywhere?<\/h3><\/dt>\n<dd><p>No. Relyo loads your pages from your own site to check them, and axe-core runs in your browser, on your own pages.<\/p>\n\n<p>Images are the one exception, and only if you use AI alternatives: Relyo sends an image to the AI service you chose only when you ask for its alternative (Relyo Pro: also the media library's images without alternative, from the Images screen), with your own key: <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">OpenAI<\/a> (<a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">terms<\/a>), <a href=\"https:\/\/policies.google.com\/privacy\">Google Gemini<\/a> (<a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">terms<\/a>) or <a href=\"https:\/\/legal.mistral.ai\/terms\/privacy-policy\">Mistral AI<\/a> (<a href=\"https:\/\/legal.mistral.ai\/terms\">terms<\/a>).<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Relyo checks the page as displayed, so it sees what Elementor and other builders produce. For an image in an Elementor layout, Relyo updates its alternative in the media library, which Elementor uses unless the widget sets its own.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20correction%3F\"><h3>Can I undo a correction?<\/h3><\/dt>\n<dd><p>Display corrections: turn them off in Relyo \u2192 Corrections. Content corrections: WordPress keeps a revision of the content before each one, which you can restore from the editor.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Relyo Pro: new prices, for 1, 3 or 10 sites, and a 14-day free trial with no card<\/li>\n<li>Relyo Pro: Relyo AI gives 2,000 images a month for each site of your plan<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Every problem shows the WCAG 2.1 success criteria behind its RGAA criterion (from the RGAA's official correspondences), linked to W3C's explanation: in the problems list, the dashboard, the corrections and \"Show on page\"<\/li>\n<li>English accessibility statements list the WCAG success criteria of each non-compliance<\/li>\n<li>New name and screenshots on WordPress.org<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Relyo Pro: Freemius SDK 2.13.5<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Accessibility statement: Relyo \u2192 Statement writes it as a page of your site, after the model you choose (France RGAA 4.1, European Union, United Kingdom, United States), filled from Relyo's findings on request, \"not compliant\" until an audit says otherwise; the [relyo_statement_link] shortcode shows the footer link<\/li>\n<li>Image alternatives suggested by AI are free with your own OpenAI, Google Gemini or Mistral AI key; Relyo Pro keeps Relyo AI (no key) and the whole media library at once<\/li>\n<li>Show on page: opens the page with the faulty element outlined and what is wrong with it<\/li>\n<li>Ignore a problem on every page, and count it again from the problems list<\/li>\n<li>New checks: bold lines used as headings (RGAA 9.1); best practices kept apart from the RGAA criteria: links opening a new window without saying so, justified text, text under 12 pixels<\/li>\n<li>Dashboard: what to fix first, the statement's status, best practices, the score over time, and the 37 criteria a person must check<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Relyo Pro: Relyo AI is included and becomes the default service for image alternatives: no API key needed, 2,000 images a month, packs of 10,000 images from the AI settings<\/li>\n<li>Relyo Pro: OpenAI, Google Gemini and Mistral AI keys keep working for sites that use them<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Corrections applied on display go through WordPress's template enhancement output buffer (WordPress 6.9 or later), and keep working on sites where Elementor turns that buffer off<\/li>\n<li>Skip link and focus styles added as an inline style of the page, not printed in it<\/li>\n<li>Translations from translate.wordpress.org<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Pro: image alternatives suggested by AI (OpenAI, Google Gemini or Mistral AI, your own key) on the fix screen, in the page's language, checked by you before saving<\/li>\n<li>Pro: Images screen, to write suggestions for every image of the media library without alternative in the background, then accept, edit, mark as decorative or reject each one<\/li>\n<li>French translation<\/li>\n<li>Content corrections: image alternatives and empty paragraphs, with a revision saved first and a log of corrections per page<\/li>\n<li>Corrections applied on display: skip link, focus, zoom, page language, frame titles, media controls, shop messages, captions, autofill (RGAA 1.9, 2.1, 4.10, 4.11, 7.5, 8.4, 10.4, 10.7, 11.13, 12.7)<\/li>\n<li>Admin: dashboard, problems list, page detail, score column, editor panel<\/li>\n<li>Background scans (Action Scheduler or WP-Cron), REST routes for the browser checks, WP-CLI commands<\/li>\n<li>Browser checks with axe-core for 6 more criteria: contrast, ARIA, links told apart by colour only, hidden focusable elements, forced text spacing, locked orientation (RGAA 3.2, 7.1, 10.6, 10.8, 10.12, 13.9)<\/li>\n<li>Pro: 8 more criteria \u2014 each page compared with the rest of the site (titles, main menu, search form, site map link, field labels; RGAA 8.6, 11.3, 12.2, 12.4, 12.5), and checks of the page as the browser draws it (form field outlines, 320 pixels wide, labels next to their fields; RGAA 3.3, 10.11, 11.4)<\/li>\n<li>10 more rules for 11 criteria: CAPTCHA, media player controls, complex table summaries, clickable elements out of keyboard reach, lists that change the page by themselves, right-to-left text, text written by the CSS, text and background colours, content shown on hover only, option groups (RGAA 1.4, 1.5, 4.13, 5.1, 7.3, 7.4, 8.10, 10.2, 10.5, 10.14, 11.8)<\/li>\n<li>Analysis engine and 30 rules covering 44 RGAA 4.1 criteria: images and captions, frames, media, tables, links, WooCommerce notices, document and language, headings, page regions and skip link, lists, zoom, keyboard focus, forms (labels, groups, buttons, required fields, autocomplete), navigation, tab order, refresh, documents to download, moving content<\/li>\n<\/ul>","raw_excerpt":"Check and fix accessibility against RGAA 4.1 and WCAG 2.1, criterion by criterion, and publish your accessibility statement. No overlay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380797"}],"author":[{"embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/delsuza"}],"wp:attachment":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380797"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380797"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380797"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380797"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380797"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}