Troubleshooting

Most problems fall into four buckets: the widget isn’t loading, the widget loads but looks wrong, config changes aren’t appearing, or something upstream is blocking the script. Work through them in that order.

Widget isn’t showing up

  1. Hard-refresh (Ctrl+F5 / Cmd+Shift+R) to bypass the browser cache.
  2. Open DevTools → Network and look for w.js. If it’s missing, the <script> tag isn’t reaching the browser — check that it’s actually in your HTML (view-source: on the page).
  3. Still missing? Check /v1/manifest?site=YOUR_SITE_KEY in a new tab. A 404 means the siteKey is wrong; a 200 with an empty domains array means the site has no domains allowlisted.
  4. Open DevTools Console. Type window.location.hostname — that value must match something in your site’s allowlist (subdomains of an allowed apex are included automatically).

Widget appears but looks broken

The panel lives in a closed shadow DOM, so host CSS can’t affect it and our CSS can’t leak. If you still see weirdness:

  • Check for a competing widget (another accessibility overlay, a feedback widget, a cookie banner) that might be stealing focus or positioned on top of ours.
  • Look for host CSS that targets #accessiflow-root or sets position: fixed with a very high z-index — we sit at 2147483000 and above. If your page is deliberately hiding our root (display: none !important), we have inline !important defences but truly adversarial CSS can still win.

Config changes don’t reflect on my site

The manifest is cached. In dev the cache is no-store, so a hard refresh is enough. In production it’s cached in both the widget’s localStorage and the browser’s HTTP cache for 1 hour. To force a refresh immediately:

  1. DevTools → Application → Storage → Clear site data (on the host page, not the dashboard)
  2. Hard-refresh

If you’re testing two sites, remember localStorage is per-origin — clearing on dashboard.example.com doesn’t touch blog.example.com.

Double-check the data-site attribute on your script tag points at the same site you’re editing in the dashboard.

Mixed content / HTTPS errors

If your site runs on HTTPS, you must load the widget from HTTPS too. We only serve https://cdn.accessiflowfiji.com; if you accidentally embed http://, browsers block the request.

On localhost, use Next.js’s --experimental-https or a tunnel like cloudflared / ngrok so both sides speak HTTPS.

Content Security Policy blocking us

Your CSP needs these directives at minimum:

script-src  'self' https://cdn.accessiflowfiji.com;
connect-src 'self' https://accessiflowfiji.com;

Check DevTools Console — CSP violations are logged explicitly as “Refused to load” with the directive that blocked the request.

Still stuck?

Email hello@accessiflowfiji.com with:

  1. The URL where the issue happens
  2. Your site’s siteKey (not secret — it’s in your script tag)
  3. A screenshot of the DevTools Network tab showing w.js and manifest requests
  4. Any Console errors

For billing or account issues, start from Billing in your dashboard.