{"id":305264,"date":"2026-05-08T15:34:39","date_gmt":"2026-05-08T15:34:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/oksigenia-access\/"},"modified":"2026-05-25T09:56:51","modified_gmt":"2026-05-25T09:56:51","slug":"oksigenia-access","status":"publish","type":"plugin","link":"https:\/\/uk.wordpress.org\/plugins\/oksigenia-access\/","author":23461605,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"17.4","stable_tag":"17.4","tested":"7.0","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"Oksigenia Access","header_author":"Oksigenia IT","header_description":"Professional Accessibility Suite. Features: Dyslexia Font, High Contrast, Mobile specific settings, and Multi-language support.","assets_banners_color":"25302f","last_updated":"2026-05-25 09:56:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/oksigenia-access\/","header_author_uri":"https:\/\/oksigenia.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":139,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"16.9":{"tag":"16.9","author":"oksigenia","date":"2026-05-21 07:45:29"},"17.0":{"tag":"17.0","author":"oksigenia","date":"2026-05-25 09:17:50"},"17.1":{"tag":"17.1","author":"oksigenia","date":"2026-05-25 09:31:33"},"17.2":{"tag":"17.2","author":"oksigenia","date":"2026-05-25 09:47:21"},"17.3":{"tag":"17.3","author":"oksigenia","date":"2026-05-25 09:51:48"},"17.4":{"tag":"17.4","author":"oksigenia","date":"2026-05-25 09:56:51"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3526682,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3526682,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3526682,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3526682,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["16.9","17.0","17.1","17.2","17.3","17.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3547229,"resolution":"1","location":"assets","locale":"","width":307,"height":938},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3526682,"resolution":"2","location":"assets","locale":"","width":880,"height":956}},"screenshots":{"1":"The accessibility toolbar open on the frontend.","2":"Plugin settings page in the admin dashboard."}},"plugin_section":[],"plugin_tags":[1447,1953,70000,1541,1956],"plugin_category":[34],"plugin_contributors":[258214],"plugin_business_model":[],"class_list":["post-305264","plugin","type-plugin","status-publish","hentry","plugin_tags-a11y","plugin_tags-accessibility","plugin_tags-dyslexia","plugin_tags-toolbar","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-oksigenia","plugin_committers-oksigenia"],"banners":{"banner":"https:\/\/ps.w.org\/oksigenia-access\/assets\/banner-772x250.png?rev=3526682","banner_2x":"https:\/\/ps.w.org\/oksigenia-access\/assets\/banner-1544x500.png?rev=3526682","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/oksigenia-access\/assets\/icon-128x128.png?rev=3526682","icon_2x":"https:\/\/ps.w.org\/oksigenia-access\/assets\/icon-256x256.png?rev=3526682","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/oksigenia-access\/assets\/screenshot-1.png?rev=3547229","caption":"The accessibility toolbar open on the frontend."},{"src":"https:\/\/ps.w.org\/oksigenia-access\/assets\/screenshot-2.png?rev=3526682","caption":"Plugin settings page in the admin dashboard."}],"raw_content":"<!--section=description-->\n<p>Oksigenia Access is a powerful accessibility toolbar designed to let visitors adapt your site to their needs. It is lightweight, fast, and works with any theme. No telemetry, no external requests, no account required.<\/p>\n\n<p><strong>Profile Presets (one click, additive)<\/strong>:<\/p>\n\n<ul>\n<li><strong>Low Vision:<\/strong> zoom + high contrast + highlight links + big cursor + focus outlines.<\/li>\n<li><strong>Dyslexia:<\/strong> dyslexia font + line height + letter spacing + reading guide.<\/li>\n<li><strong>Motor:<\/strong> big cursor + big targets (44\u00d744 hit area) + focus outlines.<\/li>\n<li><strong>No Distractions:<\/strong> hide images + pause animations.<\/li>\n<\/ul>\n\n<p><strong>17 Atomic Controls:<\/strong><\/p>\n\n<ul>\n<li><strong>Text:<\/strong> Resize text (4 levels), line height (3 levels), align (3 levels), readable font, dyslexia font, letter spacing (3 levels).<\/li>\n<li><strong>Vision:<\/strong> High contrast, grayscale, hide images, highlight links, colorblind filters (Protanopia, Deuteranopia, Tritanopia).<\/li>\n<li><strong>Orientation:<\/strong> Reading guide, reading mask, big cursor, big targets (WCAG 2.5.5 minimum 44\u00d744), pause animations, focus outlines.<\/li>\n<\/ul>\n\n<p><strong>Multi-language:<\/strong> Built-in support for English, Spanish, French, Italian, German, Dutch, Swedish, and <strong>Guarani<\/strong>.<\/p>\n\n<p><strong>Customizable:<\/strong> Choose icon position (Desktop &amp; Mobile), size, colors, and main icon style (Vitruvian Man, Wheelchair, Eye, Universal).<\/p>\n\n<p><strong>Why Oksigenia Access?<\/strong>\nWe believe accessibility should be free and easy. This plugin is developed by Oksigenia IT as a contribution to the open-source community.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>oksigenia-access<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to Settings &gt; Oksigenia Access to configure the toolbar position and style.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>17.4<\/h4>\n\n<ul>\n<li>Fix: counter-zoom the plugin's own surfaces (trigger button, panel, gray overlay, reading guide, reading mask) so they keep their natural size while the rest of the page scales. In 17.3 the panel grew with the text \u2014 at level 3-4 the Reset button and the bottom controls fell below the viewport, making the panel partly unusable. Each level now applies <code>zoom: calc(1 \/ level)<\/code> to the plugin elements to cancel the body zoom on them only.<\/li>\n<\/ul>\n\n<h4>17.3<\/h4>\n\n<ul>\n<li>Fix: switched text-size from <code>font-size<\/code> scaling on html\/body to CSS <code>zoom<\/code> on body. The previous approaches (17.1: html <code>:has()<\/code> + percentage; 17.2: pin body to 1rem) only moved elements that inherited their font-size; descendants that the theme had pinned with explicit <code>font-size: NNpx<\/code> declarations stayed put. On themes that hardcode px throughout (common in many classic WP themes), the text simply didn't scale even at level 4. <code>zoom<\/code> scales the rendered size of every descendant proportionally, like the browser's own Ctrl+= zoom, which is the behaviour users expect from a text-size control. Browser support: Chrome\/Edge\/Safari forever, Firefox 126+ (May 2024). Side effect: the plugin's own floating button and panel also scale with the level, matching native browser zoom behaviour.<\/li>\n<\/ul>\n\n<h4>17.2<\/h4>\n\n<ul>\n<li>Fix: on themes that hardcode <code>body { font-size: NNpx }<\/code> (common on classic WP themes), the 17.1 text-size fix scaled the root <code>&lt;html&gt;<\/code> and anything sized in <code>rem<\/code> (logos, gaps, etc.) but left the body and its descendants pinned to the theme's px declaration \u2014 so the visible text didn't move. Now <code>body.oks-zoom-N<\/code> also pins <code>font-size: 1rem !important<\/code>, which re-anchors body into the rem chain so descendants that inherit (no explicit font-size) scale with the level. Descendants with their own explicit <code>font-size: NNpx<\/code> declaration are still isolated, which is the trade-off vs. the exponential bug of pre-17.0 versions.<\/li>\n<\/ul>\n\n<h4>17.1<\/h4>\n\n<ul>\n<li>Fix: text-size levels (1-4) blew up the layout exponentially. The previous <code>body.oks-zoom-N *<\/code> rules applied <code>font-size: 1.05em \/ 1.10em \/ 1.15em \/ 1.20em !important<\/code> to every descendant via the universal selector. Since <code>em<\/code> is parent-relative, the factor compounded at every nesting level \u2014 a heading 3 levels deep ended up at <code>1.20\u00b3 = 1.73\u00d7<\/code> its intended size, blowing up the layout at level 3 and making the page unusable at level 4. New rules apply <code>font-size: NN%<\/code> to the root <code>&lt;html&gt;<\/code> via <code>:has(body.oks-zoom-N)<\/code>, so <code>em<\/code> \/ <code>rem<\/code> descendants scale exactly once. Same fix already applied to @oksigenia\/access-panel since 0.3.3.<\/li>\n<li>Note: with this fix the header\/nav also scale with the level (previously they were excluded from the buggy rule). This is the intended behaviour of an accessibility text-size control. If a theme's header doesn't reflow gracefully at +50%, that's a theme limitation to handle in the theme itself.<\/li>\n<\/ul>\n\n<h4>17.0<\/h4>\n\n<ul>\n<li>New: <strong>Reading Mask<\/strong> in Orientation \u2014 dark overlay with a lit reading band that follows the cursor; more restrictive than the existing reading guide when surroundings are visually noisy.<\/li>\n<li>New: <strong>Big Targets<\/strong> in Orientation \u2014 bumps interactive hit-areas (links, buttons, form controls) to 44\u00d744 minimum (WCAG 2.5.5\/2.5.8). Adjusts padding + min-* only, never display, so host layouts survive.<\/li>\n<li>New: <strong>4 profile presets<\/strong> at the top of the panel (Low Vision, Dyslexia, Motor, No Distractions). Each one applies a bundle of related toggles in one click. Additive \u2014 pressing several unions their flags. 250 ms flash feedback on click; the buttons do not carry a persistent active state because users can adjust afterwards and a \"preset active\" indicator would lie.<\/li>\n<li>17 atomic controls total (was 15) + 4 presets. 7 new translation keys added across all 8 locales (incl. Guaran\u00ed).<\/li>\n<li>Admin: added <strong>Liberapay<\/strong> donation button alongside the existing PayPal one.<\/li>\n<li>No breaking changes. Existing settings, localStorage state and CSS classes are preserved.<\/li>\n<\/ul>\n\n<h4>16.9<\/h4>\n\n<ul>\n<li>Standardized PHP\/JS prefix to <code>oksiac_<\/code> across all functions, options, settings group, hooks, script handles, localized JS object and localStorage key (WordPress.org Plugin Review compliance).<\/li>\n<li>Moved admin inline <code>&lt;style&gt;<\/code> and <code>&lt;script&gt;<\/code> blocks to enqueued assets (<code>assets\/css\/admin.css<\/code>, <code>assets\/js\/admin.js<\/code>).<\/li>\n<li>Added <code>OKSIAC_VERSION<\/code> constant for asset cache busting.<\/li>\n<li>Restricted admin assets to the plugin settings page via the <code>admin_enqueue_scripts<\/code> hook.<\/li>\n<li>No functional change for site visitors.<\/li>\n<\/ul>\n\n<h4>16.8<\/h4>\n\n<ul>\n<li>Renamed plugin to \"Oksigenia Access\".<\/li>\n<li>Added full WordPress i18n support: all admin strings wrapped in __() with text domain oksigenia-access.<\/li>\n<li>Added translation files (.pot template + .po for es_ES, fr_FR, de_DE, it_IT, nl_NL, sv_SE).<\/li>\n<li>Improved mobile panel: larger touch targets (88px), bigger icons and labels, focus button spans full width when cursor option is hidden.<\/li>\n<li>All PHP and CSS comments rewritten in English.<\/li>\n<li>Updated Tested up to: 6.9.<\/li>\n<\/ul>\n\n<h4>16.7<\/h4>\n\n<ul>\n<li>Redesigned big cursor: cleaner shape with white outline for visibility on any background.<\/li>\n<li>Big cursor now uses @media (pointer: fine) \u2014 does not activate on touch devices.<\/li>\n<li>Cursor option hidden from panel on mobile (irrelevant on touchscreens).<\/li>\n<li>Reading guide now follows finger on touchscreens (touchmove support).<\/li>\n<li>Focus mode: improved iOS Safari tap highlight integration.<\/li>\n<\/ul>\n\n<h4>16.6<\/h4>\n\n<ul>\n<li>Fixed invisible icons (replaced stroke-based SVGs with fill-based for Hide\/Focus buttons).<\/li>\n<li>Fixed big cursor not working in Firefox\/Safari (URL-encoded SVG data URI).<\/li>\n<li>Focus mode now shows dashed outline on all interactive elements immediately on activation.<\/li>\n<\/ul>\n\n<h4>16.5<\/h4>\n\n<ul>\n<li>Added Letter Spacing control (3 levels, WCAG 1.4.12 compliant).<\/li>\n<li>Added Color Blind simulation modes (Protanopia, Deuteranopia, Tritanopia).<\/li>\n<li>Added enhanced Focus Indicators toggle.<\/li>\n<li>Replaced all emoji\/Unicode icons with consistent inline SVGs.<\/li>\n<li>Full ARIA dialog implementation: focus trap, Escape key, focus management.<\/li>\n<li>Replaced external CDN icon dependencies with inline SVGs.<\/li>\n<\/ul>\n\n<h4>16.4<\/h4>\n\n<ul>\n<li>Removed TTS feature for stability.<\/li>\n<li>Improved UI layout (no gaps).<\/li>\n<li>Fixed Front Page loading logic.<\/li>\n<li>Optimized code structure for repository standards.<\/li>\n<\/ul>\n\n<h4>16.0<\/h4>\n\n<ul>\n<li>Added independent mobile position settings.<\/li>\n<li>Fixed grid layout issues in admin panel.<\/li>\n<\/ul>\n\n<h4>15.2<\/h4>\n\n<ul>\n<li>Improved \"Close\" button visibility.<\/li>\n<li>Enhanced branding visibility.<\/li>\n<\/ul>\n\n<h4>15.1<\/h4>\n\n<ul>\n<li>Added Guarani language support.<\/li>\n<li>Updated Admin Panel to English (Standard).<\/li>\n<\/ul>\n\n<h4>14.2<\/h4>\n\n<ul>\n<li>Added icon selector (Vitruvian, Wheelchair, Eye, Universal).<\/li>\n<li>Improved Dyslexia font rendering.<\/li>\n<\/ul>\n\n<h4>14.0<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org.<\/li>\n<\/ul>","raw_excerpt":"A complete, lightweight, free accessibility suite for WordPress: 17 reading, vision and orientation tools in a floating widget, plus 4 profile presets &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/305264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=305264"}],"author":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/oksigenia"}],"wp:attachment":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=305264"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=305264"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=305264"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=305264"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=305264"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=305264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}