{"id":321437,"date":"2026-06-05T22:23:18","date_gmt":"2026-06-05T22:23:18","guid":{"rendered":"https:\/\/es.wordpress.org\/plugins\/sangar-studio-access-flow\/"},"modified":"2026-06-05T22:22:43","modified_gmt":"2026-06-05T22:22:43","slug":"sangar-studio-access-flow","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sangar-studio-access-flow\/","author":23493958,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Sangar Studio Access Flow","header_author":"Sangar Studio","header_description":"A cognitive adaptation layer for neurodivergent users (ADHD, dyslexia, autism, sensory sensitivity). Profiles, Focus Mode, Bionic Reading, Reading Ruler and AI summary.","assets_banners_color":"","last_updated":"2026-06-05 22:22:43","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sangar.studio","header_plugin_uri":"","header_author_uri":"https:\/\/sangar.studio","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sangarstudio","date":"2026-06-05 22:22:43"}},"upgrade_notice":{"1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Frontend widget panel with the neurodivergent profile selector.","2":"Reading Ruler active following the cursor.","3":"Bionic Reading applied to the main content.","4":"Admin panel with the toolbar identity configuration.","5":"AI summary generated inside the widget."}},"plugin_section":[],"plugin_tags":[1953,266012,70000,13338,210866],"plugin_category":[34],"plugin_contributors":[263189],"plugin_business_model":[],"class_list":["post-321437","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-adhd","plugin_tags-dyslexia","plugin_tags-focus","plugin_tags-neurodiversity","plugin_category-accessibility","plugin_contributors-sangarstudio","plugin_committers-sangarstudio"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/sangar-studio-access-flow.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Sangar Studio Access Flow<\/strong> is not a generic WCAG accessibility overlay. It is a <strong>cognitive adaptation layer<\/strong> designed specifically for people with ADHD, dyslexia, autism, anxiety and sensory overload.<\/p>\n\n<p>Unlike traditional accessibility plugins that offer static controls (font size sliders, contrast, big cursor), Access Flow combines <strong>preconfigured neurodivergent profiles<\/strong>, <strong>proactive behavioral adaptation<\/strong> and <strong>reading transformations<\/strong> like Bionic Reading and Reading Ruler that the target audience recognizes immediately.<\/p>\n\n<h3>Philosophy<\/h3>\n\n<ul>\n<li>Does not promise WCAG legal compliance on its own.<\/li>\n<li>Speaks in human language (\"How do you prefer to read today?\"), not clinical.<\/li>\n<li>Lets the user describe how they are, not what disability they have.<\/li>\n<li>Honors <code>prefers-reduced-motion<\/code> and the system's forced-colors mode.<\/li>\n<\/ul>\n\n<h3>Main features<\/h3>\n\n<ul>\n<li><strong>Neurodivergent profiles:<\/strong> The user picks how they prefer to read today (ADHD \/ Dyslexia \/ Autism \/ Sensory sensitivity) and the optimal mode combination is enabled automatically.<\/li>\n<li><strong>Behavioral UX Engine:<\/strong> Detects erratic scrolling and frustration clicks in real time and proactively suggests Focus Mode when cognitive overload is detected.<\/li>\n<li><strong>Focus Mode:<\/strong> Dims sidebars, banners, popups, ads and iframes detected automatically for the active theme (Astra, GeneratePress, OceanWP, Storefront, Divi) and through admin-configurable custom selectors.<\/li>\n<li><strong>Bionic Reading:<\/strong> Bolds the prefix of each word in the main content so the eye anchors faster, reducing reading fatigue. Especially effective for ADHD and dyslexia. Fully reversible.<\/li>\n<li><strong>Reading Ruler:<\/strong> A horizontal band that follows the cursor or finger, guiding the reading line and preventing line skipping.<\/li>\n<li><strong>Dyslexia Reading:<\/strong> Adapted typography (OpenDyslexic \/ Comic Sans MS), increased line height, letter spacing and word spacing. Excludes icons, code and SVG so they are not broken.<\/li>\n<li><strong>Calm Interface:<\/strong> Disables animations, reduces saturation and applies a warm tint to mitigate sensory overload.<\/li>\n<li><strong>Smart Content Simplifier:<\/strong> Summarizes the main content of the page using OpenAI (<code>gpt-4o-mini<\/code>) in plain language, short sentences and lists. Hourly cache to save quota.<\/li>\n<li><strong>Customizable identity:<\/strong> Primary color, icon color, border color and position (left or right) configurable from the admin so the widget integrates with the site's brand.<\/li>\n<\/ul>\n\n<h3>Accessibility of the widget itself<\/h3>\n\n<ul>\n<li><code>role=\"dialog\"<\/code> + <code>aria-modal=\"true\"<\/code> + <code>aria-labelledby<\/code> + focus trap.<\/li>\n<li>Full keyboard navigation: Tab \/ Shift+Tab inside the panel, Escape to close.<\/li>\n<li><code>aria-pressed<\/code> on mode buttons, <code>aria-busy<\/code> during requests.<\/li>\n<li><code>:focus-visible<\/code> with an amber outline on all controls.<\/li>\n<li>Honors <code>prefers-reduced-motion<\/code> and <code>forced-colors<\/code> (Windows high contrast).<\/li>\n<li>The widget is not dimmed by Calm Mode so its contrast stays intact.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to OpenAI to generate AI-powered summaries of the current page content. This service is <strong>only used when the site administrator provides an OpenAI API key in the plugin settings and the visitor explicitly clicks the \"Summarize this page\" button<\/strong> in the floating widget. If no API key is configured, or the feature is disabled in settings, no request to OpenAI is ever made.<\/p>\n\n<h4>What the service is and what it is used for<\/h4>\n\n<p>OpenAI provides the Chat Completions API. The plugin uses the model <code>gpt-4o-mini<\/code> (configurable via the <code>accessflow_openai_model<\/code> filter) to generate a plain-language summary of the article the visitor is reading, formatted with short sentences and bullet lists to improve readability for users with cognitive overload, ADHD or dyslexia.<\/p>\n\n<h4>What data is sent and when<\/h4>\n\n<p>When a visitor clicks the \"Summarize this page\" button, the plugin extracts up to the first 3000 characters of plain text from the <code>&lt;main&gt;<\/code> (or <code>&lt;article&gt;<\/code>, or <code>&lt;body&gt;<\/code> as fallback) element of the current page and sends it to <code>https:\/\/api.openai.com\/v1\/chat\/completions<\/code>, together with the site's OpenAI API key in the <code>Authorization<\/code> header. No personal data, IP address, cookies, user identifiers or browsing history are sent. The text payload is cached server-side (WordPress transient) for one hour, keyed by hash, so identical requests do not re-hit the API.<\/p>\n\n<p>No data is sent to OpenAI on page load, on visitor identification, in the background or for analytics. The request happens only on explicit user action.<\/p>\n\n<h4>Terms and Privacy<\/h4>\n\n<p>This service is provided by OpenAI, L.L.C.<\/p>\n\n<ul>\n<li>Terms of Use: https:\/\/openai.com\/policies\/terms-of-use<\/li>\n<li>Privacy Policy: https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<\/ul>\n\n<p>Site administrators are responsible for disclosing this third-party processing to their own visitors in their site's privacy policy where required by applicable law (such as the GDPR).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/sangar-studio-access-flow\/<\/code>.<\/li>\n<li>Activate it from the <strong>Plugins<\/strong> screen in WordPress admin.<\/li>\n<li>Go to the new <strong>Access Flow<\/strong> menu in the sidebar.<\/li>\n<li>(Optional) Configure your <strong>OpenAI API Key<\/strong> if you want AI summaries.<\/li>\n<li>Customize the <strong>Toolbar Identity<\/strong> (colors and position) to integrate the widget with your site.<\/li>\n<li>The widget appears vertically centered on the chosen edge of the frontend.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20is%20it%20different%20from%20other%20accessibility%20plugins%3F\"><h3>How is it different from other accessibility plugins?<\/h3><\/dt>\n<dd><p>Other accessibility plugins are generic WCAG overlays aimed at corporate legal compliance. Access Flow is built for the neurodivergent end user: the vocabulary, the features (Bionic Reading, Reading Ruler, profiles), the proactive behavioral detection and the aesthetic do not start from a WCAG checklist but from how a person with ADHD, dyslexia or autism actually reads.<\/p><\/dd>\n<dt id=\"how%20does%20the%20plugin%20detect%20cognitive%20overload%3F\"><h3>How does the plugin detect cognitive overload?<\/h3><\/dt>\n<dd><p>Two triggers:\n1. <strong>Erratic scrolling:<\/strong> five or more direction changes within a three-second window.\n2. <strong>Frustration clicks:<\/strong> three or more clicks on non-interactive areas within one second.\nWhen triggered, the <code>accessflow:overloadDetected<\/code> event fires and the widget suggests enabling Focus Mode with a visual pulse.<\/p><\/dd>\n<dt id=\"is%20the%20openai%20integration%20safe%3F\"><h3>Is the OpenAI integration safe?<\/h3><\/dt>\n<dd><p>Yes. The API key is stored as a WordPress option and is never exposed to the frontend. The call is server-side from <code>wp-json\/accessflow\/v1\/summarize<\/code>, with nonce verification, per-IP rate limiting (10 requests per 10 minutes) and a one-hour cache keyed by text hash.<\/p><\/dd>\n<dt id=\"does%20bionic%20reading%20break%20icons%20or%20code%3F\"><h3>Does Bionic Reading break icons or code?<\/h3><\/dt>\n<dd><p>No. The transformation walks text nodes using a <code>TreeWalker<\/code> and skips <code>SCRIPT\/STYLE\/CODE\/PRE\/KBD\/SVG\/INPUT\/BUTTON<\/code> and the widget itself. When disabled, wrappers are replaced by the original text nodes and the DOM is normalized.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20mobile%3F\"><h3>Does it work on mobile?<\/h3><\/dt>\n<dd><p>Yes. The Reading Ruler also listens to <code>touchmove<\/code>. Scroll listeners are passive so the main thread is not blocked on slower devices.<\/p><\/dd>\n<dt id=\"does%20it%20affect%20performance%3F\"><h3>Does it affect performance?<\/h3><\/dt>\n<dd><p>Minimally. Vanilla JavaScript, no dependencies, passive listeners, debounced scroll. Assets are enqueued only on the frontend (not in admin or embeds).<\/p><\/dd>\n<dt id=\"can%20i%20extend%20the%20selectors%20that%20focus%20mode%20dims%3F\"><h3>Can I extend the selectors that Focus Mode dims?<\/h3><\/dt>\n<dd><p>Yes, in three ways: 1) a custom CSS selectors field in the admin; 2) automatic theme profiles (Astra, GeneratePress, OceanWP, Storefront, Divi); 3) the <code>accessflow_distraction_selectors<\/code> filter for developers.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release by Sangar Studio.<\/li>\n<li>Neurodivergent Profiles (ADHD, Dyslexia, Autism, Sensory sensitivity).<\/li>\n<li>Modes: Focus, Dyslexia, Bionic Reading, Reading Ruler, Calm Interface.<\/li>\n<li>Behavioral Engine with erratic-scroll and frustration-click detection.<\/li>\n<li>Smart Content Simplifier using OpenAI (gpt-4o-mini) with hourly cache.<\/li>\n<li>Customizable Toolbar Identity (colors, position).<\/li>\n<li>Widget accessibility: focus trap, aria-modal, prefers-reduced-motion, forced-colors.<\/li>\n<li>Full i18n (text domain <code>sangar-studio-access-flow<\/code>).<\/li>\n<\/ul>","raw_excerpt":"A cognitive adaptation layer for neurodivergent users: ADHD, dyslexia, autism and sensory sensitivity.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321437"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sangarstudio"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321437"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321437"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321437"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321437"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321437"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}